diff --git a/.gitignore b/.gitignore index 8ac58825f4..f83f744888 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,17 @@ -build +target/ +Servers/ +.metadata/ +.recommenders/ +.settings/ +RemoteSystemsTempFiles/ +_ajdump/ +.project +.classpath +.springBeans +.externalToolBuilders +.svn/ +dependency-reduced-pom.xml +build/ build-d64 build.eclipse build.number diff --git a/CHANGES.md b/CHANGES.md index dfd6fef745..8dda50a672 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -32,6 +32,7 @@ Features * [#573](https://github.com/java-native-access/jna/pull/573): Added `EnumProcessModules`, `GetModuleInformation`, and `GetProcessImageFileName` to `com.sun.jna.platform.win32.Psapi` and added `ExtractIconEx` to `com.sun.jna.platform.win32.Shell32` - [@mlfreeman2](https://github.com/mlfreeman2). * [#574](https://github.com/java-native-access/jna/pull/574): Using static final un-modifiable List of field names for structure(s) [@lgoldstein](https://github.com/lgoldstein) * [#577](https://github.com/java-native-access/jna/pull/577): Apply generic definitions wherever applicable [@lgoldstein](https://github.com/lgoldstein) +* [#582](https://github.com/java-native-access/jna/pull/582): Mavenize the build process - Phase 1: building the native code via Maven [@lgoldstein](https://github.com/lgoldstein) Bug Fixes --------- diff --git a/native/build.xml b/native/build.xml new file mode 100644 index 0000000000..2187b8abd1 --- /dev/null +++ b/native/build.xml @@ -0,0 +1,373 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/native/pom.xml b/native/pom.xml new file mode 100644 index 0000000000..72ad699b2b --- /dev/null +++ b/native/pom.xml @@ -0,0 +1,54 @@ + + + + 4.0.0 + native + pom + net.java.dev.jna:native + + + net.java.dev.jna + parent + 4.3.0-SNAPHSOT + ../parent + + + + + + maven-antrun-plugin + + + compile-native-library + package + + run + + + + + + + + + + + + + + maven-install-plugin + + true + + + + maven-deploy-plugin + + true + + + + + \ No newline at end of file diff --git a/parent/build-base.xml b/parent/build-base.xml new file mode 100644 index 0000000000..0fd778786d --- /dev/null +++ b/parent/build-base.xml @@ -0,0 +1,103 @@ + + + + Holds common imported definitions for ANT build.xml file(s) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/parent/build-compile.xml b/parent/build-compile.xml new file mode 100644 index 0000000000..351e504a6a --- /dev/null +++ b/parent/build-compile.xml @@ -0,0 +1,140 @@ + + + + Holds common imported definitions for ANT build.xml file(s) + that build/generate artifacts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/parent/pom.xml b/parent/pom.xml new file mode 100644 index 0000000000..369dae3b5d --- /dev/null +++ b/parent/pom.xml @@ -0,0 +1,516 @@ + + + 4.0.0 + net.java.dev.jna + parent + 4.3.0-SNAPHSOT + pom + net.java.dev.jna:parent + https://github.com/java-native-access/jna + + + UTF-8 + + + + 1 + 5 + 0 + + ${jvm.major.version}.${jvm.minor.version} + ${javac.source} + ${javac.source} + ${javac.source} + + ${javac.source} + ${javac.target} + ${javac.target} + ${javac.target} + + 3.2 + 2.19 + 2 + 4 + 5 + 2.0 + ${groovy.major.version}.${groovy.minor.version}.${groovy.release.version} + 1.5 + + 1.9.6 + 1.16 + 1.0b3 + 4.12 + + + + ${min.required.maven.version} + + + + + + org.apache.ant + ant + ${ant.version} + + + xerces + xercesImpl + + + xml-apis + xml-apis + + + + + org.apache.ant + ant-nodeps + ${ant.version} + + + org.apache.ant + ant-launcher + ${ant.version} + + + org.apache.ant + ant-commons-logging + ${ant.version} + + + commons-logging + commons-logging-api + + + + + + junit + junit + ${junit.version} + + + org.mockito + mockito-all + 1.10.19 + + + + + + + LGPL, version 2.1 + http://www.gnu.org/licenses/licenses.html + repo + + + ASL, version 2 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + + scm:git:https://github.com/java-native-access/jna + scm:git:ssh://git@github.com/java-native-access/jna.git + https://github.com/java-native-access/jna + + + + + twall + Timothy Wall + + Owner + + + + + + install + + + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + org.apache.maven.plugins + maven-dependency-plugin + [1.0,) + + copy + copy-dependencies + + + + + + + + + org.codehaus.gmaven + gmaven-plugin + [1.0,) + + compile + execute + testCompile + + + + + + + + + + + + + maven-compiler-plugin + 3.3 + + ${javac.source} + ${javac.target} + -g + -Xlint:-serial + + + + + maven-jar-plugin + 2.6 + + + + true + true + + true + true + + + + ${java.version} + ${java.vm.version} + ${user.name} + + ${project.buildtimestamp} + ${maven.version} + + + + + + + maven-install-plugin + 2.5.2 + + + + maven-dependency-plugin + 2.10 + + + install + install + + sources + + + ${settings.localRepository}/net/java/dev/jna/dependency-maven-plugin-markers + + + + + + + maven-clean-plugin + 2.6.1 + + + + maven-deploy-plugin + 2.8.2 + + + + maven-assembly-plugin + 2.5.5 + + false + + src/main/assembly/assembly.xml + + + + + + maven-resources-plugin + 2.7 + + + pdf + swf + ico + + + + + + maven-antrun-plugin + 1.8 + + + org.apache.ant + ant + ${ant.version} + + + org.apache.ant + ant-launcher + ${ant.version} + + + org.apache.ant + ant-junit4 + ${ant.version} + + + + ant-contrib + ant-contrib + ${ant-contrib.version} + + + junit + junit + ${junit.version} + + + com.sun + tools + ${javac.source} + system + ${java.home}/../lib/tools.jar + + + + + + maven-javadoc-plugin + 2.10.2 + + + http://docs.oracle.com/javase/7/docs/api + http://junit.sourceforge.net/javadoc + http://www.jfree.org/jcommon/api + http://www.jfree.org/jfreechart/api/javadoc + http://docs.jboss.org/hibernate/core/3.5/api + http://www.jajakarta.org/ant/ant-1.6.1/docs/en/manual/api + + true + + -Xdoclint:none + + + + + jar + + + + + + + maven-shade-plugin + 2.4.1 + + ${project.build.directory}/dependency-reduced-pom.xml + + + + + + + + maven-enforcer-plugin + 1.4 + + + enforce-versions + + enforce + + + + + + + [${min.required.maven.version},) + + + [${javac.target},) + + + + + + + + org.codehaus.gmaven + gmaven-plugin + ${gmaven.plugin.version} + + ${groovy.compliance.level} + + + + org.codehaus.gmaven.runtime + gmaven-runtime-${groovy.compliance.level} + ${gmaven.plugin.version} + + + org.codehaus.groovy + groovy-all + + + org.apache.ant + ant + + + + + org.codehaus.groovy + groovy-all + ${groovy.version} + + + + org.apache.ant + ant + ${ant.version} + + + org.apache.ant + ant-launcher + ${ant.version} + + + org.apache.ant + ant-junit4 + ${ant.version} + + + junit + junit + ${junit.version} + + + + + + maven-source-plugin + 2.4 + + + attach-sources + verify + + jar-no-fork + + + + + + + maven-surefire-plugin + ${surefire.plugin.version} + + + **/*Test.java + + alphabetical + 1 + true + + false + 1 + ${excluded.tests.group} + + ${project.build.directory}${file.separator}temp + true + + + + + + junit + junit + ${junit.version} + + + + + org.apache.maven.surefire + surefire-junit47 + ${surefire.plugin.version} + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.9.1 + + + remove-previous-artifact + clean + + remove-project-artifact + + + false + + + + + + + + + + + maven-surefire-report-plugin + ${surefire.plugin.version} + + + + + + + fast + + true + true + + + + \ No newline at end of file