diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..10433d0
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,91 @@
+pipeline {
+ agent none
+ triggers { pollSCM('H/15 * * * *') }
+ tools {
+ maven 'Maven 3.5.3'
+ jdk 'OpenJDK 9'
+ }
+ options { buildDiscarder(logRotator(numToKeepStr: '5')) }
+ stages {
+ stage('Build natives') {
+ parallel {
+ stage('Build Windows natives') {
+ agent {
+ label "windows"
+ }
+ steps {
+ bat 'mvn -B -am -pl plugins/windows/,plugins/wintab/ clean compile'
+ }
+ post {
+ success {
+ stash includes: 'plugins/**/target/natives/*.dll', name: 'windows-natives'
+ }
+ }
+ }
+ stage('Build Linux natives') {
+ agent {
+ label "linux"
+ }
+ steps {
+ sh 'mvn -B -am -pl plugins/linux/ clean compile'
+ }
+ post {
+ success {
+ stash includes: 'plugins/**/target/natives/*.so*', name: 'linux-natives'
+ }
+ }
+ }
+ stage('Build OSX natives') {
+ agent {
+ label "osx"
+ }
+ steps {
+ sh 'mvn -B -am -pl plugins/OSX/ clean compile'
+ }
+ post {
+ success {
+ stash includes: '**/target/natives/*.jnilib', name: 'osx-natives'
+ }
+ }
+ }
+ }
+ }
+ stage('Build') {
+ agent {
+ label "linux"
+ }
+ steps {
+ unstash 'windows-natives'
+ unstash 'osx-natives'
+ unstash 'linux-natives'
+ sh 'mvn -B -P windows,linux,osx,wintab -Dmaven.antrun.skip -Dmaven.javadoc.skip -Dmaven.source.skip -Dmaven.test.skip -DskipTests -DskipITs package'
+ }
+ post {
+ success {
+ stash includes: '**/target/*.jar', name: 'all-java-jars'
+ archiveArtifacts artifacts: '**/target/*.jar*', fingerprint: true
+ }
+ }
+ }
+ stage('Deploy') {
+ agent {
+ label "linux"
+ }
+ steps {
+ unstash 'windows-natives'
+ unstash 'osx-natives'
+ unstash 'linux-natives'
+ sh 'echo $GPG_SECRET_KEYS | base64 --decode | gpg --batch --import'
+ sh 'echo $GPG_OWNERTRUST | base64 --decode | gpg --import-ownertrust'
+ withMaven(
+ maven: 'Maven 3.5.3',
+ jdk: 'OpenJDK 9',
+ globalMavenSettingsConfig: 'global-maven-settings-ossrh',
+ mavenOpts: '-Djavax.net.ssl.trustStore=/etc/ssl/certs/java/cacerts' //Work around for JDK9 missing cacerts
+ ) {
+ sh "mvn -P windows,linux,osx,wintab -Dmaven.antrun.skip -Dmaven.test.skip -DskipTests -DskipITs deploy"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/examples/pom.xml b/examples/pom.xml
index 990d916..3ce0cef 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -11,28 +11,65 @@
../
+
+
+ central-snapshots
+ https://oss.sonatype.org/content/repositories/snapshots
+ false
+ true
+
+
+
net.java.jinput
coreapi
${project.version}
-
-
+
+ ${project.groupId}
+ windows-plugin
+ ${project.version}
+ natives-windows
+
+
+ ${project.groupId}
+ osx-plugin
+ ${project.version}
+ natives-osx
+
+
+ ${project.groupId}
+ wintab-plugin
+ ${project.version}
+ natives-wintab
+
+
+ ${project.groupId}
+ linux-plugin
+ ${project.version}
+ natives-linux
+
+
+ ${project.groupId}
+ windows-plugin
+ ${project.version}
+
+
+ ${project.groupId}
+ osx-plugin
+ ${project.version}
+
+
+ ${project.groupId}
+ wintab-plugin
+ ${project.version}
+
+
+ ${project.groupId}
+ linux-plugin
+ ${project.version}
+
@@ -51,93 +88,6 @@
-
- linux
-
-
- linux
-
-
-
-
- ${project.groupId}
- linux-plugin
- ${project.version}
- natives-linux
-
-
- ${project.groupId}
- linux-plugin
- ${project.version}
-
-
-
-
- osx
-
-
- mac
-
-
-
-
- ${project.groupId}
- osx-plugin
- ${project.version}
- natives-osx
-
-
- ${project.groupId}
- osx-plugin
- ${project.version}
-
-
-
-
- windows
-
-
- windows
-
-
-
-
- ${project.groupId}
- windows-plugin
- ${project.version}
- natives-windows
-
-
- ${project.groupId}
- windows-plugin
- ${project.version}
-
-
-
-
- wintab
-
-
- windows
-
-
- env.WINTABSDKDIR
-
-
-
-
- ${project.groupId}
- wintab-plugin
- ${project.version}
- natives-wintab
-
-
- ${project.groupId}
- wintab-plugin
- ${project.version}
-
-
-
ReadAllEvents
diff --git a/plugins/pom.xml b/plugins/pom.xml
index e003dc5..9cd4b0a 100644
--- a/plugins/pom.xml
+++ b/plugins/pom.xml
@@ -17,7 +17,7 @@
- Linux
+ linux
linux
@@ -28,7 +28,7 @@
- Windows
+ windows
windows
@@ -39,7 +39,7 @@
- OSX
+ osx
mac
diff --git a/pom.xml b/pom.xml
index 38b97c2..b4fb428 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,6 +26,17 @@
scm:git:https://github.com/jinput/jinput.git
+
+
+ ossrh
+ https://oss.sonatype.org/content/repositories/snapshots
+
+
+ ossrh
+ https://oss.sonatype.org/service/local/staging/deploy/maven2/
+
+
+
UTF-8
1.6
@@ -119,35 +130,31 @@
+
+
+ maven-gpg-plugin
+ 1.6
+
+
+ sign-artifacts
+ verify
+
+ sign
+
+
+
+
+
+ org.sonatype.plugins
+ nexus-staging-maven-plugin
+ 1.6.8
+ true
+
+ ossrh
+ https://oss.sonatype.org/
+ true
+
+
+
-
-
-
- release-sign-artifacts
-
-
- performRelease
- true
-
-
-
-
-
- org.apache.maven.plugins
- maven-gpg-plugin
- 1.1
-
-
- sign-artifacts
- verify
-
- sign
-
-
-
-
-
-
-
-
\ No newline at end of file