Details
Description
In 3.3.0 i can do the following to get the java fx base jar + the platform specific jar into one directory (i have 3 similar dependency sets for each platform so I can set the module-path to that directory depending on the os):
<dependencySet>
<unpack>false</unpack>
<scope>runtime</scope>
<outputDirectory>lib/linux</outputDirectory>
<useProjectArtifact>false</useProjectArtifact>
<includes>
<include>org.openjfx:javafx-base</include>
<include>org.openjfx:javafx-controls</include>
<include>org.openjfx:javafx-media</include>
<include>org.openjfx:javafx-web</include>
<include>org.openjfx:javafx-swing</include>
<include>org.openjfx:javafx-graphics:jar:linux</include>
</includes>
<excludes>
<exclude>org.openjfx:javafx-base:jar:mac</exclude>
<exclude>org.openjfx:javafx-base:jar:win</exclude>
<exclude>org.openjfx:javafx-controls:jar:mac</exclude>
<exclude>org.openjfx:javafx-controls:jar:win</exclude>
<exclude>org.openjfx:javafx-media:jar:mac</exclude>
<exclude>org.openjfx:javafx-media:jar:win</exclude>
<exclude>org.openjfx:javafx-web:jar:mac</exclude>
<exclude>org.openjfx:javafx-web:jar:win</exclude>
<exclude>org.openjfx:javafx-swing:jar:mac</exclude>
<exclude>org.openjfx:javafx-swing:jar:win</exclude>
</excludes>
</dependencySet>
in 3.3.0 this gives me the following jars:
javafx-base-18.0.1.jar
javafx-controls-18.0.1-linux.jar
javafx-media-18.0.1-linux.jar
javafx-web-18.0.1.jar
javafx-base-18.0.1-linux.jar
javafx-graphics-18.0.1-linux.jar
javafx-swing-18.0.1.jar
javafx-web-18.0.1-linux.jar
javafx-controls-18.0.1.jar
javafx-media-18.0.1.jar
javafx-swing-18.0.1-linux.jar
However when using the 3.4.1 (and 3.4.0) version of the assembly plugin i get ALL of the jar i.e.
javafx-base-18.0.1.jar
javafx-base-18.0.1-linux.jar
javafx-base-18.0.1-mac.jar
javafx-base-18.0.1-win.jar
javafx-controls-18.0.1.jar
javafx-controls-18.0.1-linux.jar
javafx-controls-18.0.1-mac.jar
javafx-controls-18.0.1-win.jar
javafx-media-18.0.1.jar
javafx-media-18.0.1-linux.jar
javafx-media-18.0.1-mac.jar
javafx-media-18.0.1-win.jar
javafx-swing-18.0.1.jar
javafx-swing-18.0.1-linux.jar
javafx-swing-18.0.1-mac.jar
javafx-swing-18.0.1-win.jar
javafx-web-18.0.1.jar
javafx-web-18.0.1-linux.jar
javafx-web-18.0.1-mac.jar
javafx-web-18.0.1-win.jar
The assembly plugin also complains about this:
[WARNING] The following patterns were never triggered in this artifact inclusion filter:
o 'org.openjfx:javafx-graphics:jar:linux'
[WARNING] The following patterns were never triggered in this artifact exclusion filter:
o 'org.openjfx:javafx-base:jar:mac'
o 'org.openjfx:javafx-base:jar:win'
o 'org.openjfx:javafx-controls:jar:mac'
o 'org.openjfx:javafx-controls:jar:win'
o 'org.openjfx:javafx-media:jar:mac'
o 'org.openjfx:javafx-media:jar:win'
o 'org.openjfx:javafx-web:jar:mac'
o 'org.openjfx:javafx-web:jar:win'
o 'org.openjfx:javafx-swing:jar:mac'
o 'org.openjfx:javafx-swing:jar:win'
I think that this is either a bug in the code or the documentation for how to combine inclusions and exclusions to get the desired effect. The full pom.xml and assembly.xml is attached for reference.
Attachments
Attachments
Issue Links
- causes
-
MASSEMBLY-976 MASSEMBLY-969 IT is not portable because it expects to be run on Linux
- Open
- is caused by
-
MSHARED-1104 Pattern w/ 4 elements may be GATV or GATC
- Closed
- is duplicated by
-
MASSEMBLY-966 Artifacts with classifiers are not included anymore
- Closed
- links to