|
32 | 32 | <main-class>org.eclipse.esmf.SammCli</main-class>
|
33 | 33 | <binary-name>samm</binary-name>
|
34 | 34 | <skip.maven.surefire>false</skip.maven.surefire>
|
35 |
| - <skip.maven.failsafe>true</skip.maven.failsafe> |
| 35 | + <skip.maven.failsafe>false</skip.maven.failsafe> |
36 | 36 | <skip.maven.surefire.report.plugin>false</skip.maven.surefire.report.plugin>
|
37 | 37 | <skip.maven.shade>false</skip.maven.shade>
|
38 | 38 | </properties>
|
|
203 | 203 | </configuration>
|
204 | 204 | </plugin>
|
205 | 205 |
|
| 206 | + <!-- Build fat jar --> |
| 207 | + <plugin> |
| 208 | + <groupId>org.apache.maven.plugins</groupId> |
| 209 | + <artifactId>maven-shade-plugin</artifactId> |
| 210 | + <executions> |
| 211 | + <execution> |
| 212 | + <id>default-shade</id> |
| 213 | + <phase>package</phase> |
| 214 | + <goals> |
| 215 | + <goal>shade</goal> |
| 216 | + </goals> |
| 217 | + <configuration> |
| 218 | + <createDependencyReducedPom>false</createDependencyReducedPom> |
| 219 | + <createSourcesJar>false</createSourcesJar> |
| 220 | + <skip>${skip.maven.shade}</skip> |
| 221 | + <transformers> |
| 222 | + <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> |
| 223 | + <manifestEntries> |
| 224 | + <Main-Class>${main-class}</Main-Class> |
| 225 | + </manifestEntries> |
| 226 | + </transformer> |
| 227 | + <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> |
| 228 | + </transformers> |
| 229 | + <artifactSet> |
| 230 | + <excludes> |
| 231 | + <!-- Duplicate annotations that are already contained in javax.annotation-api --> |
| 232 | + <exclude>javax.annotation:jsr250-api</exclude> |
| 233 | + </excludes> |
| 234 | + </artifactSet> |
| 235 | + <filters> |
| 236 | + <!-- Required to prevent overlapping resources --> |
| 237 | + <filter> |
| 238 | + <artifact>*:*</artifact> |
| 239 | + <excludes> |
| 240 | + <exclude>module-info.class</exclude> |
| 241 | + <exclude>META-INF/*</exclude> |
| 242 | + <exclude>META-INF/sisu/javax.inject.Named</exclude> |
| 243 | + <exclude>META-INF/plexus/components.xml</exclude> |
| 244 | + <exclude>META-INF.versions*/**</exclude> |
| 245 | + <exclude>META-INF/versions*/**</exclude> |
| 246 | + <exclude>META-INF/maven/**</exclude> |
| 247 | + <exclude>plugin.xml</exclude> |
| 248 | + <exclude>about.html</exclude> |
| 249 | + </excludes> |
| 250 | + </filter> |
| 251 | + <!-- Required to override the excludes above --> |
| 252 | + <filter> |
| 253 | + <artifact>${project.groupId}:${project.artifactId}</artifact> |
| 254 | + <excludeDefaults>false</excludeDefaults> |
| 255 | + <includes> |
| 256 | + <include>**</include> |
| 257 | + <include>META-INF/**</include> |
| 258 | + <include>git.properties</include> |
| 259 | + </includes> |
| 260 | + <excludes> |
| 261 | + <!-- Explicitly exclude build-time-only code from jar --> |
| 262 | + <exclude>org/eclipse/esmf/buildtime/**</exclude> |
| 263 | + </excludes> |
| 264 | + </filter> |
| 265 | + <!-- Clashes with the files from xml-apis-ext --> |
| 266 | + <filter> |
| 267 | + <artifact>xml-apis:xml-apis</artifact> |
| 268 | + <excludes> |
| 269 | + <exclude>license/**</exclude> |
| 270 | + </excludes> |
| 271 | + </filter> |
| 272 | + <!-- Clashes with the same file from batik-rasterizer --> |
| 273 | + <filter> |
| 274 | + <artifact>org.apache.xmlgraphics:batik-svgrasterizer</artifact> |
| 275 | + <excludes> |
| 276 | + <exclude>org/apache/batik/apps/rasterizer/resources/rasterizer.policy</exclude> |
| 277 | + </excludes> |
| 278 | + </filter> |
| 279 | + <!-- These configs add lots of spurious GraalVM configuration --> |
| 280 | + <filter> |
| 281 | + <artifact>org.jboss.forge.roaster:roaster-jdt</artifact> |
| 282 | + <excludes> |
| 283 | + <exclude>META-INF/native-image/**</exclude> |
| 284 | + </excludes> |
| 285 | + </filter> |
| 286 | + <!-- Required to have Model Instantiators available --> |
| 287 | + <filter> |
| 288 | + <artifact>org.eclipse.esmf:esmf-aspect-meta-model-java</artifact> |
| 289 | + <includes> |
| 290 | + <include>**</include> |
| 291 | + </includes> |
| 292 | + </filter> |
| 293 | + <!-- Prevent overlapping classes from javax modules --> |
| 294 | + <filter> |
| 295 | + <artifact>jakarta.activation:jakarta.activation-api</artifact> |
| 296 | + <excludes> |
| 297 | + <exclude>**</exclude> |
| 298 | + </excludes> |
| 299 | + </filter> |
| 300 | + </filters> |
| 301 | + </configuration> |
| 302 | + </execution> |
| 303 | + </executions> |
| 304 | + </plugin> |
| 305 | + |
206 | 306 | <plugin>
|
207 | 307 | <groupId>pl.project13.maven</groupId>
|
208 | 308 | <artifactId>git-commit-id-plugin</artifactId>
|
|
385 | 485 | <packaging-type>native</packaging-type>
|
386 | 486 | <skip.maven.surefire>true</skip.maven.surefire>
|
387 | 487 | <skip.maven.failsafe>false</skip.maven.failsafe>
|
| 488 | + <skip.maven.shade>true</skip.maven.shade> |
388 | 489 | <maven.source.skip>false</maven.source.skip>
|
389 | 490 | </properties>
|
390 | 491 |
|
391 | 492 | <build>
|
392 | 493 | <plugins>
|
| 494 | + <!-- When building native, skip build the jar --> |
| 495 | + <plugin> |
| 496 | + <groupId>org.apache.maven.plugins</groupId> |
| 497 | + <artifactId>maven-jar-plugin</artifactId> |
| 498 | + <executions> |
| 499 | + <execution> |
| 500 | + <id>default-jar</id> |
| 501 | + <phase>none</phase> |
| 502 | + </execution> |
| 503 | + </executions> |
| 504 | + </plugin> |
| 505 | + |
393 | 506 | <plugin>
|
394 | 507 | <groupId>org.graalvm.buildtools</groupId>
|
395 | 508 | <artifactId>native-maven-plugin</artifactId>
|
|
400 | 513 | <goals>
|
401 | 514 | <goal>compile</goal>
|
402 | 515 | </goals>
|
403 |
| - <phase>package</phase> |
| 516 | + <phase>prepare-package</phase> |
404 | 517 | </execution>
|
405 | 518 | </executions>
|
406 | 519 | <configuration>
|
|
0 commit comments