From 1c89512ec0e08e1b86c075e09c1da47a970d10e5 Mon Sep 17 00:00:00 2001 From: Samuel Audet <samuel.audet@gmail.com> Date: Wed, 4 Mar 2020 17:11:01 +0900 Subject: [PATCH] Add Maven profiles for ARM builds to pom.xml files (#265) * Add Maven profiles for ARM builds to pom.xml files Signed-off-by: Samuel Audet <samuel.audet@gmail.com> * Remove mkl from dependencies when running on non intel/amd platforms * Downgrade openblas for now * Change back to 0.3.8 Co-authored-by: Adam Gibson <1144306+agibsonccc@users.noreply.github.com> --- .../nd4j-backend-impls/nd4j-native/pom.xml | 34 +- nd4j/nd4j-backends/nd4j-backend-impls/pom.xml | 385 +++++++++++++++--- pom.xml | 47 ++- 3 files changed, 378 insertions(+), 88 deletions(-) diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/pom.xml b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/pom.xml index f3418657e..379f69563 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/pom.xml +++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/pom.xml @@ -50,17 +50,7 @@ <version>${openblas.version}-${javacpp-presets.version}</version> <classifier>${dependency.platform}</classifier> </dependency> - <dependency> - <groupId>org.bytedeco</groupId> - <artifactId>mkl</artifactId> - <version>${mkl.version}-${javacpp-presets.version}</version> - </dependency> - <dependency> - <groupId>org.bytedeco</groupId> - <artifactId>mkl</artifactId> - <version>${mkl.version}-${javacpp-presets.version}</version> - <classifier>${dependency.platform2}</classifier> - </dependency> + <!-- <dependency> <groupId>org.nd4j</groupId> @@ -258,6 +248,28 @@ </build> <profiles> + <profile> + <id>mkl</id> + <activation> + <property> + <name>os.arch</name> + <value>x86_64</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.bytedeco</groupId> + <artifactId>mkl</artifactId> + <version>${mkl.version}-${javacpp-presets.version}</version> + </dependency> + <dependency> + <groupId>org.bytedeco</groupId> + <artifactId>mkl</artifactId> + <version>${mkl.version}-${javacpp-presets.version}</version> + <classifier>${dependency.platform2}</classifier> + </dependency> + </dependencies> + </profile> <profile> <id>testresources</id> </profile> diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/pom.xml b/nd4j/nd4j-backends/nd4j-backend-impls/pom.xml index c6da5e6f0..c355bf0a5 100644 --- a/nd4j/nd4j-backends/nd4j-backend-impls/pom.xml +++ b/nd4j/nd4j-backends/nd4j-backend-impls/pom.xml @@ -36,22 +36,22 @@ <dependency.classifier>${javacpp.platform}${javacpp.platform.extension}</dependency.classifier> <dependency.platform></dependency.platform> <!-- Same as ${javacpp.platform} but without breaking Gradle, sbt, etc --> <dependency.platform2></dependency.platform2> <!-- Same as ${dependency.platform} minus Android, iOS, etc --> - <javacpp.platform.android-arm>android-arm</javacpp.platform.android-arm> - <javacpp.platform.android-arm64>android-arm64</javacpp.platform.android-arm64> - <javacpp.platform.android-x86>android-x86</javacpp.platform.android-x86> - <javacpp.platform.android-x86_64>android-x86_64</javacpp.platform.android-x86_64> - <javacpp.platform.ios-arm>ios-arm</javacpp.platform.ios-arm> - <javacpp.platform.ios-arm64>ios-arm64</javacpp.platform.ios-arm64> - <javacpp.platform.ios-x86>ios-x86</javacpp.platform.ios-x86> - <javacpp.platform.ios-x86_64>ios-x86_64</javacpp.platform.ios-x86_64> - <javacpp.platform.linux-armhf>linux-armhf</javacpp.platform.linux-armhf> - <javacpp.platform.linux-arm64>linux-arm64</javacpp.platform.linux-arm64> - <javacpp.platform.linux-ppc64le>linux-ppc64le</javacpp.platform.linux-ppc64le> - <javacpp.platform.linux-x86>linux-x86</javacpp.platform.linux-x86> - <javacpp.platform.linux-x86_64>linux-x86_64</javacpp.platform.linux-x86_64> - <javacpp.platform.macosx-x86_64>macosx-x86_64</javacpp.platform.macosx-x86_64> - <javacpp.platform.windows-x86>windows-x86</javacpp.platform.windows-x86> - <javacpp.platform.windows-x86_64>windows-x86_64</javacpp.platform.windows-x86_64> + <javacpp.platform.android-arm>android-arm${javacpp.platform.extension}</javacpp.platform.android-arm> + <javacpp.platform.android-arm64>android-arm64${javacpp.platform.extension}</javacpp.platform.android-arm64> + <javacpp.platform.android-x86>android-x86${javacpp.platform.extension}</javacpp.platform.android-x86> + <javacpp.platform.android-x86_64>android-x86_64${javacpp.platform.extension}</javacpp.platform.android-x86_64> + <javacpp.platform.ios-arm>ios-arm${javacpp.platform.extension}</javacpp.platform.ios-arm> + <javacpp.platform.ios-arm64>ios-arm64${javacpp.platform.extension}</javacpp.platform.ios-arm64> + <javacpp.platform.ios-x86>ios-x86${javacpp.platform.extension}</javacpp.platform.ios-x86> + <javacpp.platform.ios-x86_64>ios-x86_64${javacpp.platform.extension}</javacpp.platform.ios-x86_64> + <javacpp.platform.linux-armhf>linux-armhf${javacpp.platform.extension}</javacpp.platform.linux-armhf> + <javacpp.platform.linux-arm64>linux-arm64${javacpp.platform.extension}</javacpp.platform.linux-arm64> + <javacpp.platform.linux-ppc64le>linux-ppc64le${javacpp.platform.extension}</javacpp.platform.linux-ppc64le> + <javacpp.platform.linux-x86>linux-x86${javacpp.platform.extension}</javacpp.platform.linux-x86> + <javacpp.platform.linux-x86_64>linux-x86_64${javacpp.platform.extension}</javacpp.platform.linux-x86_64> + <javacpp.platform.macosx-x86_64>macosx-x86_64${javacpp.platform.extension}</javacpp.platform.macosx-x86_64> + <javacpp.platform.windows-x86>windows-x86${javacpp.platform.extension}</javacpp.platform.windows-x86> + <javacpp.platform.windows-x86_64>windows-x86_64${javacpp.platform.extension}</javacpp.platform.windows-x86_64> </properties> @@ -234,22 +234,22 @@ </property> </activation> <properties> - <javacpp.platform.android-arm>${javacpp.platform}</javacpp.platform.android-arm> - <javacpp.platform.android-arm64>${javacpp.platform}</javacpp.platform.android-arm64> - <javacpp.platform.android-x86>${javacpp.platform}</javacpp.platform.android-x86> - <javacpp.platform.android-x86_64>${javacpp.platform}</javacpp.platform.android-x86_64> - <javacpp.platform.ios-arm>${javacpp.platform}</javacpp.platform.ios-arm> - <javacpp.platform.ios-arm64>${javacpp.platform}</javacpp.platform.ios-arm64> - <javacpp.platform.ios-x86>${javacpp.platform}</javacpp.platform.ios-x86> - <javacpp.platform.ios-x86_64>${javacpp.platform}</javacpp.platform.ios-x86_64> - <javacpp.platform.linux-armhf>${javacpp.platform}</javacpp.platform.linux-armhf> - <javacpp.platform.linux-arm64>${javacpp.platform}</javacpp.platform.linux-arm64> - <javacpp.platform.linux-ppc64le>${javacpp.platform}</javacpp.platform.linux-ppc64le> - <javacpp.platform.linux-x86>${javacpp.platform}</javacpp.platform.linux-x86> - <javacpp.platform.linux-x86_64>${javacpp.platform}</javacpp.platform.linux-x86_64> - <javacpp.platform.macosx-x86_64>${javacpp.platform}</javacpp.platform.macosx-x86_64> - <javacpp.platform.windows-x86>${javacpp.platform}</javacpp.platform.windows-x86> - <javacpp.platform.windows-x86_64>${javacpp.platform}</javacpp.platform.windows-x86_64> + <javacpp.platform.android-arm>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.android-arm> + <javacpp.platform.android-arm64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.android-arm64> + <javacpp.platform.android-x86>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.android-x86> + <javacpp.platform.android-x86_64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.android-x86_64> + <javacpp.platform.ios-arm>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.ios-arm> + <javacpp.platform.ios-arm64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.ios-arm64> + <javacpp.platform.ios-x86>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.ios-x86> + <javacpp.platform.ios-x86_64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.ios-x86_64> + <javacpp.platform.linux-armhf>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.linux-armhf> + <javacpp.platform.linux-arm64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.linux-arm64> + <javacpp.platform.linux-ppc64le>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.linux-ppc64le> + <javacpp.platform.linux-x86>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.linux-x86> + <javacpp.platform.linux-x86_64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.linux-x86_64> + <javacpp.platform.macosx-x86_64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.macosx-x86_64> + <javacpp.platform.windows-x86>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.windows-x86> + <javacpp.platform.windows-x86_64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.windows-x86_64> <dependency.classifier>${javacpp.platform}${javacpp.platform.extension}</dependency.classifier> <dependency.platform>${javacpp.platform}</dependency.platform> <dependency.platform2>${javacpp.platform}</dependency.platform2> @@ -264,29 +264,60 @@ </property> </activation> <properties> - <javacpp.platform>${os.name}-${os.arch}</javacpp.platform> - <javacpp.platform.android-arm>${os.name}-${os.arch}</javacpp.platform.android-arm> - <javacpp.platform.android-arm64>${os.name}-${os.arch}</javacpp.platform.android-arm64> - <javacpp.platform.android-x86>${os.name}-${os.arch}</javacpp.platform.android-x86> - <javacpp.platform.android-x86_64>${os.name}-${os.arch}</javacpp.platform.android-x86_64> - <javacpp.platform.ios-arm>${os.name}-${os.arch}</javacpp.platform.ios-arm> - <javacpp.platform.ios-arm64>${os.name}-${os.arch}</javacpp.platform.ios-arm64> - <javacpp.platform.ios-x86>${os.name}-${os.arch}</javacpp.platform.ios-x86> - <javacpp.platform.ios-x86_64>${os.name}-${os.arch}</javacpp.platform.ios-x86_64> - <javacpp.platform.linux-armhf>${os.name}-${os.arch}</javacpp.platform.linux-armhf> - <javacpp.platform.linux-arm64>${os.name}-${os.arch}</javacpp.platform.linux-arm64> - <javacpp.platform.linux-ppc64le>${os.name}-${os.arch}</javacpp.platform.linux-ppc64le> - <javacpp.platform.linux-x86>${os.name}-${os.arch}</javacpp.platform.linux-x86> - <javacpp.platform.linux-x86_64>${os.name}-${os.arch}</javacpp.platform.linux-x86_64> - <javacpp.platform.macosx-x86_64>${os.name}-${os.arch}</javacpp.platform.macosx-x86_64> - <javacpp.platform.windows-x86>${os.name}-${os.arch}</javacpp.platform.windows-x86> - <javacpp.platform.windows-x86_64>${os.name}-${os.arch}</javacpp.platform.windows-x86_64> + <javacpp.platform>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform> + <javacpp.platform.android-arm>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.android-arm> + <javacpp.platform.android-arm64>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.android-arm64> + <javacpp.platform.android-x86>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.android-x86> + <javacpp.platform.android-x86_64>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.android-x86_64> + <javacpp.platform.ios-arm>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.ios-arm> + <javacpp.platform.ios-arm64>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.ios-arm64> + <javacpp.platform.ios-x86>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.ios-x86> + <javacpp.platform.ios-x86_64>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.ios-x86_64> + <javacpp.platform.linux-armhf>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.linux-armhf> + <javacpp.platform.linux-arm64>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.linux-arm64> + <javacpp.platform.linux-ppc64le>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.linux-ppc64le> + <javacpp.platform.linux-x86>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.linux-x86> + <javacpp.platform.linux-x86_64>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.linux-x86_64> + <javacpp.platform.macosx-x86_64>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.macosx-x86_64> + <javacpp.platform.windows-x86>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.windows-x86> + <javacpp.platform.windows-x86_64>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.windows-x86_64> <dependency.classifier>${os.name}-${os.arch}${javacpp.platform.extension}</dependency.classifier> <dependency.platform>${os.name}-${os.arch}</dependency.platform> <dependency.platform2>${os.name}-${os.arch}</dependency.platform2> </properties> </profile> + <profile> + <id>javacpp.platform.custom-true</id> + <activation> + <property> + <name>javacpp.platform.custom</name> + </property> + </activation> + <properties> + <javacpp.platform></javacpp.platform> + <javacpp.platform.android-arm></javacpp.platform.android-arm> + <javacpp.platform.android-arm64></javacpp.platform.android-arm64> + <javacpp.platform.android-x86></javacpp.platform.android-x86> + <javacpp.platform.android-x86_64></javacpp.platform.android-x86_64> + <javacpp.platform.ios-arm></javacpp.platform.ios-arm> + <javacpp.platform.ios-arm64></javacpp.platform.ios-arm64> + <javacpp.platform.ios-x86></javacpp.platform.ios-x86> + <javacpp.platform.ios-x86_64></javacpp.platform.ios-x86_64> + <javacpp.platform.linux-armhf></javacpp.platform.linux-armhf> + <javacpp.platform.linux-arm64></javacpp.platform.linux-arm64> + <javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le> + <javacpp.platform.linux-x86></javacpp.platform.linux-x86> + <javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64> + <javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64> + <javacpp.platform.windows-x86></javacpp.platform.windows-x86> + <javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64> + <dependency.classifier></dependency.classifier> + <dependency.platform></dependency.platform> + <dependency.platform2></dependency.platform2> + </properties> + </profile> + <profile> <id>javacpp-platform-none</id> <activation> @@ -487,7 +518,7 @@ </profile> <!-- Profiles to modify the transitive dependencies when picked up from other pom.xml files, for example: - mvn -Djavacpp.platform.none -Djavacpp.platform.linux-x86_64 -Djavacpp.platform.windows-x86_64 ... --> + mvn -Djavacpp.platform.custom -Djavacpp.platform.host -Djavacpp.platform.linux-x86_64 -Djavacpp.platform.windows-x86_64 ... --> <profile> <id>javacpp.platform.android-arm-true</id> <activation> @@ -496,7 +527,7 @@ </property> </activation> <properties> - <javacpp.platform.android-arm>android-arm</javacpp.platform.android-arm> + <javacpp.platform.android-arm>android-arm${javacpp.platform.extension}</javacpp.platform.android-arm> </properties> </profile> @@ -508,7 +539,7 @@ </property> </activation> <properties> - <javacpp.platform.android-arm64>android-arm64</javacpp.platform.android-arm64> + <javacpp.platform.android-arm64>android-arm64${javacpp.platform.extension}</javacpp.platform.android-arm64> </properties> </profile> @@ -520,7 +551,7 @@ </property> </activation> <properties> - <javacpp.platform.android-x86>android-x86</javacpp.platform.android-x86> + <javacpp.platform.android-x86>android-x86${javacpp.platform.extension}</javacpp.platform.android-x86> </properties> </profile> @@ -532,7 +563,7 @@ </property> </activation> <properties> - <javacpp.platform.android-x86_64>android-x86_64</javacpp.platform.android-x86_64> + <javacpp.platform.android-x86_64>android-x86_64${javacpp.platform.extension}</javacpp.platform.android-x86_64> </properties> </profile> @@ -544,7 +575,7 @@ </property> </activation> <properties> - <javacpp.platform.ios-arm>ios-arm</javacpp.platform.ios-arm> + <javacpp.platform.ios-arm>ios-arm${javacpp.platform.extension}</javacpp.platform.ios-arm> </properties> </profile> @@ -556,7 +587,7 @@ </property> </activation> <properties> - <javacpp.platform.ios-arm64>ios-arm64</javacpp.platform.ios-arm64> + <javacpp.platform.ios-arm64>ios-arm64${javacpp.platform.extension}</javacpp.platform.ios-arm64> </properties> </profile> @@ -568,7 +599,7 @@ </property> </activation> <properties> - <javacpp.platform.ios-x86>ios-x86</javacpp.platform.ios-x86> + <javacpp.platform.ios-x86>ios-x86${javacpp.platform.extension}</javacpp.platform.ios-x86> </properties> </profile> @@ -580,7 +611,7 @@ </property> </activation> <properties> - <javacpp.platform.ios-x86_64>ios-x86_64</javacpp.platform.ios-x86_64> + <javacpp.platform.ios-x86_64>ios-x86_64${javacpp.platform.extension}</javacpp.platform.ios-x86_64> </properties> </profile> @@ -592,7 +623,7 @@ </property> </activation> <properties> - <javacpp.platform.linux-armhf>linux-armhf</javacpp.platform.linux-armhf> + <javacpp.platform.linux-armhf>linux-armhf${javacpp.platform.extension}</javacpp.platform.linux-armhf> </properties> </profile> @@ -604,7 +635,7 @@ </property> </activation> <properties> - <javacpp.platform.linux-arm64>linux-arm64</javacpp.platform.linux-arm64> + <javacpp.platform.linux-arm64>linux-arm64${javacpp.platform.extension}</javacpp.platform.linux-arm64> </properties> </profile> @@ -616,7 +647,7 @@ </property> </activation> <properties> - <javacpp.platform.linux-ppc64le>linux-ppc64le</javacpp.platform.linux-ppc64le> + <javacpp.platform.linux-ppc64le>linux-ppc64le${javacpp.platform.extension}</javacpp.platform.linux-ppc64le> </properties> </profile> @@ -628,7 +659,7 @@ </property> </activation> <properties> - <javacpp.platform.linux-x86>linux-x86</javacpp.platform.linux-x86> + <javacpp.platform.linux-x86>linux-x86${javacpp.platform.extension}</javacpp.platform.linux-x86> </properties> </profile> @@ -640,7 +671,7 @@ </property> </activation> <properties> - <javacpp.platform.linux-x86_64>linux-x86_64</javacpp.platform.linux-x86_64> + <javacpp.platform.linux-x86_64>linux-x86_64${javacpp.platform.extension}</javacpp.platform.linux-x86_64> </properties> </profile> @@ -652,7 +683,7 @@ </property> </activation> <properties> - <javacpp.platform.macosx-x86_64>macosx-x86_64</javacpp.platform.macosx-x86_64> + <javacpp.platform.macosx-x86_64>macosx-x86_64${javacpp.platform.extension}</javacpp.platform.macosx-x86_64> </properties> </profile> @@ -664,7 +695,7 @@ </property> </activation> <properties> - <javacpp.platform.windows-x86>windows-x86</javacpp.platform.windows-x86> + <javacpp.platform.windows-x86>windows-x86${javacpp.platform.extension}</javacpp.platform.windows-x86> </properties> </profile> @@ -676,7 +707,229 @@ </property> </activation> <properties> - <javacpp.platform.windows-x86_64>windows-x86_64</javacpp.platform.windows-x86_64> + <javacpp.platform.windows-x86_64>windows-x86_64${javacpp.platform.extension}</javacpp.platform.windows-x86_64> + </properties> + </profile> + + <profile> + <id>javacpp.platform.custom-linux-arm</id> + <activation> + <property> + <name>javacpp.platform.host</name> + </property> + <os> + <name>linux</name><arch>arm</arch> + </os> + </activation> + <properties> + <javacpp.platform.linux-armhf>linux-armhf${javacpp.platform.extension}</javacpp.platform.linux-armhf> + </properties> + </profile> + + <profile> + <id>javacpp.platform.custom-linux-armhf</id> + <activation> + <property> + <name>javacpp.platform.host</name> + </property> + <os> + <name>linux</name><arch>armhf</arch> + </os> + </activation> + <properties> + <javacpp.platform.linux-armhf>linux-armhf${javacpp.platform.extension}</javacpp.platform.linux-armhf> + </properties> + </profile> + + <profile> + <id>javacpp.platform.custom-linux-aarch64</id> + <activation> + <property> + <name>javacpp.platform.host</name> + </property> + <os> + <name>linux</name><arch>aarch64</arch> + </os> + </activation> + <properties> + <javacpp.platform.linux-arm64>linux-arm64${javacpp.platform.extension}</javacpp.platform.linux-arm64> + </properties> + </profile> + + <profile> + <id>javacpp.platform.custom-linux-armv8</id> + <activation> + <property> + <name>javacpp.platform.host</name> + </property> + <os> + <name>linux</name><arch>armv8</arch> + </os> + </activation> + <properties> + <javacpp.platform.linux-arm64>linux-arm64${javacpp.platform.extension}</javacpp.platform.linux-arm64> + </properties> + </profile> + + <profile> + <id>javacpp.platform.custom-linux-arm64</id> + <activation> + <property> + <name>javacpp.platform.host</name> + </property> + <os> + <name>linux</name><arch>arm64</arch> + </os> + </activation> + <properties> + <javacpp.platform.linux-arm64>linux-arm64${javacpp.platform.extension}</javacpp.platform.linux-arm64> + </properties> + </profile> + + <profile> + <id>javacpp.platform.custom-linux-ppc64le</id> + <activation> + <property> + <name>javacpp.platform.host</name> + </property> + <os> + <name>linux</name><arch>ppc64le</arch> + </os> + </activation> + <properties> + <javacpp.platform.linux-ppc64le>linux-ppc64le${javacpp.platform.extension}</javacpp.platform.linux-ppc64le> + </properties> + </profile> + + <profile> + <id>javacpp.platform.custom-linux-amd64</id> + <activation> + <property> + <name>javacpp.platform.host</name> + </property> + <os> + <name>linux</name><arch>amd64</arch> + </os> + </activation> + <properties> + <javacpp.platform.linux-x86_64>linux-x86_64${javacpp.platform.extension}</javacpp.platform.linux-x86_64> + </properties> + </profile> + + <profile> + <id>javacpp.platform.custom-linux-x86-64</id> + <activation> + <property> + <name>javacpp.platform.host</name> + </property> + <os> + <name>linux</name><arch>x86-64</arch> + </os> + </activation> + <properties> + <javacpp.platform.linux-x86_64>linux-x86_64${javacpp.platform.extension}</javacpp.platform.linux-x86_64> + </properties> + </profile> + + <profile> + <id>javacpp.platform.custom-linux-x86_64</id> + <activation> + <property> + <name>javacpp.platform.host</name> + </property> + <os> + <name>linux</name><arch>x86_64</arch> + </os> + </activation> + <properties> + <javacpp.platform.linux-x86_64>linux-x86_64${javacpp.platform.extension}</javacpp.platform.linux-x86_64> + </properties> + </profile> + + <profile> + <id>javacpp.platform.custom-macosx-amd64</id> + <activation> + <property> + <name>javacpp.platform.host</name> + </property> + <os> + <name>mac os x</name><arch>amd64</arch> + </os> + </activation> + <properties> + <javacpp.platform.macosx-x86_64>macosx-x86_64${javacpp.platform.extension}</javacpp.platform.macosx-x86_64> + </properties> + </profile> + + <profile> + <id>javacpp.platform.custom-macosx-x86-64</id> + <activation> + <property> + <name>javacpp.platform.host</name> + </property> + <os> + <name>mac os x</name><arch>x86-64</arch> + </os> + </activation> + <properties> + <javacpp.platform.macosx-x86_64>macosx-x86_64${javacpp.platform.extension}</javacpp.platform.macosx-x86_64> + </properties> + </profile> + + <profile> + <id>javacpp.platform.custom-macosx-x86_64</id> + <activation> + <property> + <name>javacpp.platform.host</name> + </property> + <os> + <name>mac os x</name><arch>x86_64</arch> + </os> + </activation> + <properties> + <javacpp.platform.macosx-x86_64>macosx-x86_64${javacpp.platform.extension}</javacpp.platform.macosx-x86_64> + </properties> + </profile> + + <profile> + <id>javacpp.platform.custom-windows-amd64</id> + <activation> + <property> + <name>javacpp.platform.host</name> + </property> + <os><family>windows</family><arch>amd64</arch> + </os> + </activation> + <properties> + <javacpp.platform.windows-x86_64>windows-x86_64${javacpp.platform.extension}</javacpp.platform.windows-x86_64> + </properties> + </profile> + + <profile> + <id>javacpp.platform.custom-windows-x86-64</id> + <activation> + <property> + <name>javacpp.platform.host</name> + </property> + <os><family>windows</family><arch>x86-64</arch> + </os> + </activation> + <properties> + <javacpp.platform.windows-x86_64>windows-x86_64${javacpp.platform.extension}</javacpp.platform.windows-x86_64> + </properties> + </profile> + + <profile> + <id>javacpp.platform.custom-windows-x86_64</id> + <activation> + <property> + <name>javacpp.platform.host</name> + </property> + <os><family>windows</family><arch>x86_64</arch> + </os> + </activation> + <properties> + <javacpp.platform.windows-x86_64>windows-x86_64${javacpp.platform.extension}</javacpp.platform.windows-x86_64> </properties> </profile> </profiles> diff --git a/pom.xml b/pom.xml index 50ab7af14..d4bf988af 100644 --- a/pom.xml +++ b/pom.xml @@ -743,6 +743,7 @@ </os> </activation> <properties> + <os.kernel>linux</os.kernel> <os.name>linux</os.name> </properties> </profile> @@ -754,6 +755,7 @@ </os> </activation> <properties> + <os.kernel>darwin</os.kernel> <os.name>macosx</os.name> </properties> </profile> @@ -765,9 +767,43 @@ </os> </activation> <properties> + <os.kernel>windows</os.kernel> <os.name>windows</os.name> </properties> </profile> + <profile> + <id>arm</id> + <activation> + <os> + <arch>arm</arch> + </os> + </activation> + <properties> + <os.arch>armhf</os.arch> + </properties> + </profile> + <profile> + <id>aarch64</id> + <activation> + <os> + <arch>aarch64</arch> + </os> + </activation> + <properties> + <os.arch>arm64</os.arch> + </properties> + </profile> + <profile> + <id>armv8</id> + <activation> + <os> + <arch>armv8</arch> + </os> + </activation> + <properties> + <os.arch>arm64</os.arch> + </properties> + </profile> <profile> <id>i386</id> <activation> @@ -845,17 +881,6 @@ <os.arch>x86_64</os.arch> </properties> </profile> - <profile> - <id>arm</id> - <activation> - <os> - <arch>arm</arch> - </os> - </activation> - <properties> - <os.arch>arm</os.arch> - </properties> - </profile> <!-- Integration Tests Profile. By default (when this profile is not enabled) unit tests are run only. Note also that some tests may run fewer/quicker cases for unit tests vs. integration tests