Skip to content

Commit 42759cc

Browse files
committed
Improve the scijava.natives properties
We now define four platform family names: short, medium, long, longest. And we define a property scijava.natives.bits for bitness. If what you need is os.arch, you can reference ${os.arch} directly. The scijava.natives.classifier property is now defined as ${scijava.natives.family.medium}_${scijava.natives.bits}, resulting in the following values for our five favorite platforms: windows_32, windows_64, osx_64, linux_32, linux_64 If you need something else for your particular platform-specific classifier, you can define your own property. Examples: <lwjgl.natives.classifier>natives-${scijava.natives.family.long}</lwjgl.natives.classifier> <ffmpeg.natives.classifier>${scijava.natives.family.longest}-${os.arch}</ffmpeg.natives.classifier> And then in the dependency, reference the corresponding property.
1 parent 43d9fdf commit 42759cc

1 file changed

Lines changed: 40 additions & 24 deletions

File tree

pom.xml

Lines changed: 40 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,12 @@
181181
-->
182182
<scijava.coding-style>imagej</scijava.coding-style>
183183

184+
<!--
185+
Classifier name for referencing platform-specific artifacts.
186+
By default, this matches the scijava/native-lib-loader naming scheme.
187+
-->
188+
<scijava.natives.classifier>natives-${scijava.natives.family.medium}_${scijava.natives.bits}</scijava.natives.classifier>
189+
184190
<!-- Additional configuration -->
185191

186192
<!-- NB: Avoid platform encoding warning when copying resources. -->
@@ -1950,70 +1956,80 @@
19501956
-->
19511957

19521958
<profile>
1953-
<id>scijava-natives-win64</id>
1959+
<id>scijava-natives-windows</id>
19541960
<activation>
19551961
<os>
19561962
<family>windows</family>
1957-
<arch>amd64</arch>
19581963
</os>
19591964
</activation>
19601965
<properties>
1961-
<scijava.natives.classifier>natives-win64</scijava.natives.classifier>
1962-
<scijava.natives.classifier.lwjgl>natives-windows</scijava.natives.classifier.lwjgl>
1966+
<scijava.natives.family.short>win</scijava.natives.family.short>
1967+
<scijava.natives.family.medium>windows</scijava.natives.family.medium>
1968+
<scijava.natives.family.long>windows</scijava.natives.family.long>
1969+
<scijava.natives.family.longest>windows</scijava.natives.family.longest>
19631970
</properties>
19641971
</profile>
19651972
<profile>
1966-
<id>scijava-natives-win32</id>
1973+
<id>scijava-natives-macos</id>
19671974
<activation>
19681975
<os>
1969-
<family>windows</family>
1970-
<arch>x86</arch>
1976+
<family>mac</family>
19711977
</os>
19721978
</activation>
19731979
<properties>
1974-
<scijava.natives.classifier>natives-win32</scijava.natives.classifier>
1975-
<scijava.natives.classifier.lwjgl>UNSUPPORTED</scijava.natives.classifier.lwjgl>
1980+
<scijava.natives.family.short>mac</scijava.natives.family.short>
1981+
<scijava.natives.family.medium>osx</scijava.natives.family.medium>
1982+
<scijava.natives.family.long>macos</scijava.natives.family.long>
1983+
<scijava.natives.family.longest>macosx</scijava.natives.family.longest>
19761984
</properties>
19771985
</profile>
19781986
<profile>
1979-
<id>scijava-natives-mac64</id>
1987+
<id>scijava-natives-linux</id>
19801988
<activation>
19811989
<os>
1982-
<family>mac</family>
1983-
<arch>x86_64</arch>
1990+
<family>unix</family>
1991+
<name>Linux</name>
19841992
</os>
19851993
</activation>
19861994
<properties>
1987-
<scijava.natives.classifier>natives-macos</scijava.natives.classifier>
1988-
<scijava.natives.classifier.lwjgl>natives-macos</scijava.natives.classifier.lwjgl>
1995+
<scijava.natives.family.short>linux</scijava.natives.family.short>
1996+
<scijava.natives.family.medium>linux</scijava.natives.family.medium>
1997+
<scijava.natives.family.long>linux</scijava.natives.family.long>
1998+
<scijava.natives.family.longest>linux</scijava.natives.family.longest>
19891999
</properties>
19902000
</profile>
2001+
19912002
<profile>
1992-
<id>scijava-natives-linux64</id>
2003+
<id>scijava-natives-amd64</id>
19932004
<activation>
19942005
<os>
1995-
<family>unix</family>
1996-
<name>Linux</name>
19972006
<arch>amd64</arch>
19982007
</os>
19992008
</activation>
20002009
<properties>
2001-
<scijava.natives.classifier>natives-linux64</scijava.natives.classifier>
2002-
<scijava.natives.classifier.lwjgl>natives-linux</scijava.natives.classifier.lwjgl>
2010+
<scijava.natives.bits>64</scijava.natives.bits>
20032011
</properties>
20042012
</profile>
20052013
<profile>
2006-
<id>scijava-natives-linux32</id>
2014+
<id>scijava-natives-x86_64</id>
2015+
<activation>
2016+
<os>
2017+
<arch>x86_64</arch>
2018+
</os>
2019+
</activation>
2020+
<properties>
2021+
<scijava.natives.bits>64</scijava.natives.bits>
2022+
</properties>
2023+
</profile>
2024+
<profile>
2025+
<id>scijava-natives-x86</id>
20072026
<activation>
20082027
<os>
2009-
<family>unix</family>
2010-
<name>Linux</name>
20112028
<arch>x86</arch>
20122029
</os>
20132030
</activation>
20142031
<properties>
2015-
<scijava.natives.classifier>natives-linux32</scijava.natives.classifier>
2016-
<scijava.natives.classifier.lwjgl>UNSUPPORTED</scijava.natives.classifier.lwjgl>
2032+
<scijava.natives.bits>32</scijava.natives.bits>
20172033
</properties>
20182034
</profile>
20192035
</profiles>

0 commit comments

Comments
 (0)