Skip to content

Commit 1546911

Browse files
committed
Create modular runtime image #1
1 parent e03df09 commit 1546911

File tree

1 file changed

+77
-68
lines changed

1 file changed

+77
-68
lines changed

pom.xml

Lines changed: 77 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1717
<java.version>11</java.version>
1818
<junit.version>5.5.1</junit.version>
19-
<log4j.version>2.12.1</log4j.version>
20-
<saxon.version>9.9.1-5</saxon.version>
19+
<log4j.version>2.13.0</log4j.version>
20+
<saxon.version>9.9.1-6</saxon.version>
2121
<ignoreSigningInformation>true</ignoreSigningInformation>
2222
</properties>
2323

@@ -129,72 +129,6 @@
129129
</execution>
130130
</executions>
131131
</plugin>
132-
<plugin>
133-
<groupId>org.moditect</groupId>
134-
<artifactId>moditect-maven-plugin</artifactId>
135-
<version>1.0.0-SNAPSHOT</version>
136-
<executions>
137-
<execution>
138-
<id>add-module-infos</id>
139-
<phase>generate-resources</phase>
140-
<goals>
141-
<goal>add-module-info</goal>
142-
</goals>
143-
<configuration>
144-
<outputDirectory>${project.build.directory}/modules</outputDirectory>
145-
<overwriteExistingFiles>true</overwriteExistingFiles>
146-
<ignoreSigningInformation>true</ignoreSigningInformation>
147-
<modules>
148-
<module>
149-
<artifact>
150-
<groupId>net.sf.saxon</groupId>
151-
<artifactId>Saxon-HE</artifactId>
152-
<version>${saxon.version}</version>
153-
</artifact>
154-
<moduleInfoSource>
155-
module Saxon.HE {
156-
157-
}
158-
</moduleInfoSource>
159-
</module>
160-
</modules>
161-
162-
</configuration>
163-
</execution>
164-
<execution>
165-
<!-- due to an apparent plugin bug, must run after clean -->
166-
<id>create-runtime-image</id>
167-
<phase>install</phase>
168-
<goals>
169-
<goal>create-runtime-image</goal>
170-
</goals>
171-
<configuration>
172-
<modulePath>
173-
<path>${project.build.directory}/modules</path>
174-
</modulePath>
175-
<modules>
176-
<module>diff.merge</module>
177-
<module>Saxon.HE</module>
178-
</modules>
179-
<outputDirectory>
180-
${project.build.directory}/jlink-image
181-
</outputDirectory>
182-
<launchers>
183-
<launcher>
184-
<name>xmldiff</name>
185-
<module>diff.merge</module>
186-
<mainClass>io.fixprotocol.xml.XmlDiff</mainClass>
187-
</launcher>
188-
<launcher>
189-
<name>xmlmerge</name>
190-
<module>diff.merge</module>
191-
<mainClass>io.fixprotocol.xml.XmlMerge</mainClass>
192-
</launcher>
193-
</launchers>
194-
</configuration>
195-
</execution>
196-
</executions>
197-
</plugin>
198132
<plugin>
199133
<groupId>org.apache.maven.plugins</groupId>
200134
<artifactId>maven-dependency-plugin</artifactId>
@@ -218,6 +152,81 @@
218152
</build>
219153

220154
<profiles>
155+
<profile>
156+
<id>image</id>
157+
<build>
158+
<plugins>
159+
<!-- Create an image using jlink -->
160+
<!-- Works with fork donmendelson/moditect to support multiple entry points -->
161+
<plugin>
162+
<groupId>org.moditect</groupId>
163+
<artifactId>moditect-maven-plugin</artifactId>
164+
<version>1.0.0-SNAPSHOT</version>
165+
<executions>
166+
<execution>
167+
<id>add-module-infos</id>
168+
<phase>generate-resources</phase>
169+
<goals>
170+
<goal>add-module-info</goal>
171+
</goals>
172+
<configuration>
173+
<outputDirectory>${project.build.directory}/modules</outputDirectory>
174+
<overwriteExistingFiles>true</overwriteExistingFiles>
175+
<ignoreSigningInformation>true</ignoreSigningInformation>
176+
<modules>
177+
<module>
178+
<artifact>
179+
<groupId>net.sf.saxon</groupId>
180+
<artifactId>Saxon-HE</artifactId>
181+
<version>${saxon.version}</version>
182+
</artifact>
183+
<moduleInfoSource>
184+
module Saxon.HE {
185+
186+
}
187+
</moduleInfoSource>
188+
</module>
189+
</modules>
190+
</configuration>
191+
</execution>
192+
<execution>
193+
<!-- due to an apparent plugin bug, must run after clean -->
194+
<!-- for unknown reason, this step does not work in Eclipse -->
195+
<id>create-runtime-image</id>
196+
<phase>install</phase>
197+
<goals>
198+
<goal>create-runtime-image</goal>
199+
</goals>
200+
<configuration>
201+
<modulePath>
202+
<path>${project.build.directory}/modules</path>
203+
</modulePath>
204+
<modules>
205+
<module>diff.merge</module>
206+
<module>Saxon.HE</module>
207+
</modules>
208+
<outputDirectory>
209+
${project.build.directory}/jlink-image
210+
</outputDirectory>
211+
<launchers>
212+
<launcher>
213+
<name>xmldiff</name>
214+
<module>diff.merge</module>
215+
<mainClass>io.fixprotocol.xml.XmlDiff</mainClass>
216+
</launcher>
217+
<launcher>
218+
<name>xmlmerge</name>
219+
<module>diff.merge</module>
220+
<mainClass>io.fixprotocol.xml.XmlMerge</mainClass>
221+
</launcher>
222+
</launchers>
223+
</configuration>
224+
</execution>
225+
</executions>
226+
</plugin>
227+
</plugins>
228+
</build>
229+
</profile>
221230
<profile>
222231
<id>release</id>
223232
<build>

0 commit comments

Comments
 (0)