pom.xml 10.9 KB
Newer Older
Mike Prechtl's avatar
Mike Prechtl committed
1
2
3
4
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

5
6
7
	<parent>
		<groupId>org.openecard</groupId>
		<artifactId>packager</artifactId>
8
		<version>1.4.0-rc.4-SNAPSHOT</version>
9
10
	</parent>

Mike Prechtl's avatar
Mike Prechtl committed
11
	<groupId>org.openecard.clients</groupId>
12
	<artifactId>richclient-packager</artifactId>
13
	<packaging>pom</packaging>
14
	<name>Rich Client (Packager)</name>
Mike Prechtl's avatar
Mike Prechtl committed
15
16
17


	<properties>
18
		<maven.compiler.release>11</maven.compiler.release>
19

20
21
		<app.identifier>Open-eCard-App</app.identifier>
		<app.name>Open eCard App</app.name>
22
		<app.vendor>ecsec GmbH</app.vendor>
23
		<app.maintainer>tobias.wich@ecsec.de</app.maintainer>
24
		<app.url>https://openecard.org</app.url>
25
26
27
28
		<app.description>Client side implementation of the eCard-API-Framework (BSI TR-03112)</app.description>

		<package.identifier>open-ecard-app</package.identifier>
		<package.deps>pcscd</package.deps>
Mike Prechtl's avatar
Mike Prechtl committed
29
30
	</properties>

31
	<profiles>
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
		<profile>
			<id>desktop-package</id>
			<activation>
				<property>
					<name>desktop-package</name>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>net.agilhard.maven.plugins</groupId>
						<artifactId>jlink-jpackager-maven-plugin</artifactId>
						<extensions>true</extensions>
						<executions>
							<execution>
								<id>jpackage</id>
								<phase>package</phase>
								<goals>
									<goal>jpackager</goal>
								</goals>
								<configuration>
									<!-- Jpackage arguments -->
									<!-- Don't use spaces in application name, because of problems with install scripts ... -->
									<identifier>org.openecard.richclient</identifier>
									<appVersion>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}</appVersion>
									<module>org.openecard.richclient/org.openecard.richclient.RichClient</module>
									<jdkToolchain>
										<version>[14,)</version>
									</jdkToolchain>
									<runtimeImage>${project.build.directory}/open-ecard</runtimeImage>
									<skipModulesInclude>true</skipModulesInclude>
									<!-- JVM arguments of the application -->
64
65
66
67
68
69
70
71
72
73
74
75
76
									<jvmArgs>
										<jvmArg>-XX:-UsePerfData</jvmArg>
										<jvmArg>-XX:-Inline</jvmArg>
										<jvmArg>-XX:+AggressiveOpts</jvmArg>
										<jvmArg>-Xms16m</jvmArg>
										<jvmArg>-Xmx64m</jvmArg>
										<jvmArg>-XX:+UseG1GC</jvmArg>
										<jvmArg>-XX:MinHeapFreeRatio=1</jvmArg>
										<jvmArg>-XX:MaxHeapFreeRatio=5</jvmArg>
										<jvmArg>-XX:G1ReservePercent=5</jvmArg>
										<jvmArg>-Djavax.xml.stream.isSupportingExternalEntities=false</jvmArg>
										<jvmArg>-Djavax.xml.stream.supportDTD=false</jvmArg>
									</jvmArgs>
77
78
79
80
81
82
83
84
85
86
87
88
89
90
									<!-- Application package metadata -->
									<vendor>${app.vendor}</vendor>
									<description>${app.description}</description>
									<licenseFile>${project.basedir}/src/main/resources/licenses/LICENSE.GPL</licenseFile>
									<copyright>2019 ecsec GmbH</copyright>
									<linuxOptions>
										<bundleName>${package.identifier}</bundleName>
										<debMaintainer>${app.maintainer}</debMaintainer>
										<rpmLicenseType>GPL v3</rpmLicenseType>
										<menuGroup>Network;</menuGroup>
										<packageDeps>${package.deps}</packageDeps>
									</linuxOptions>
									<macOptions>
										<bundleName>${app.identifier}</bundleName>
91
										<bundleIdentifier>org.openecard.versioncheck.MainLoader</bundleIdentifier>
92
93
94
95
96
97
98
99
100
101
102
103
104
									</macOptions>
									<windowsOptions>
										<dirChooser>true</dirChooser>
										<menuGroup>misc</menuGroup>
										<upgradeUUID>CB11CB66-71B5-42C1-8076-15F1FEDCC22A</upgradeUUID>
									</windowsOptions>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
105
106
107
108
109
110
		<profile>
			<id>app-bundles-Linux</id>
			<activation>
				<os>
					<family>Unix</family>
				</os>
111
112
113
				<property>
					<name>desktop-package</name>
				</property>
114
115
116
			</activation>
			<build>
				<plugins>
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
					<!-- Resource plugin -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-resources-plugin</artifactId>
						<executions>
							<execution>
								<id>filtering-resources</id>
								<goals>
									<goal>resources</goal>
								</goals>
								<configuration>
									<outputDirectory>${project.basedir}/target/linux/resources</outputDirectory>
									<resources>
										<resource>
											<directory>${project.basedir}/src/main/resources/linux</directory>
											<filtering>true</filtering>
										</resource>
									</resources>
								</configuration>
							</execution>
						</executions>
					</plugin>
139
140
141
142
					<plugin>
						<groupId>net.agilhard.maven.plugins</groupId>
						<artifactId>jlink-jpackager-maven-plugin</artifactId>
						<configuration>
143
							<name>${package.identifier}</name>
144
							<icon>${project.basedir}/src/main/resources/linux/Open-eCard-App.png</icon>
145
							<resourceDir>${project.basedir}/target/linux/resources</resourceDir>
146
147
148
149
150
151
152
153
154
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>app-bundles-win</id>
			<activation>
				<os>
155
					<family>windows</family>
156
				</os>
157
158
159
				<property>
					<name>desktop-package</name>
				</property>
160
161
162
			</activation>
			<build>
				<plugins>
163
164
165
166
167
168
169
170
171
172
173
174
175
					<!-- Resource plugin -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-resources-plugin</artifactId>
						<executions>
							<execution>
								<id>filtering-resources</id>
								<goals>
									<goal>resources</goal>
								</goals>
								<configuration>
									<resources>
										<resource>
176
											<directory>${project.basedir}/src/main/resources/windows/filtering</directory>
177
178
179
180
181
182
183
184
											<filtering>true</filtering>
										</resource>
									</resources>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<!-- Create .msi installer -->
185
186
187
188
					<plugin>
						<groupId>net.agilhard.maven.plugins</groupId>
						<artifactId>jlink-jpackager-maven-plugin</artifactId>
						<configuration>
189
							<name>${app.identifier}</name>
190
							<icon>${project.basedir}/src/main/resources/windows/Open-eCard-App.ico</icon>
191
							<type>msi</type>
192
193
						</configuration>
					</plugin>
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
					<!-- Create .exe installer -->
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>exec-maven-plugin</artifactId>
						<executions>
							<execution>
								<id>create-exe</id>
								<phase>package</phase>
								<goals>
									<goal>exec</goal>
								</goals>
								<configuration>
									<executable>ISCC.exe</executable>
									<workingDirectory>${project.basedir}/target</workingDirectory>
									<arguments>
										<argument>classes/Open-eCard-App.iss</argument>
									</arguments>
								</configuration>
							</execution>
						</executions>
					</plugin>
215
216
217
218
219
220
221
222
223
				</plugins>
			</build>
		</profile>
		<profile>
			<id>app-bundles-mac</id>
			<activation>
				<os>
					<family>mac</family>
				</os>
224
225
226
				<property>
					<name>desktop-package</name>
				</property>
227
228
229
230
231
232
233
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>net.agilhard.maven.plugins</groupId>
						<artifactId>jlink-jpackager-maven-plugin</artifactId>
						<configuration>
234
							<name>${app.identifier}</name>
235
236
							<icon>${project.basedir}/src/main/resources/mac-os/Open-eCard-App.icns</icon>
							<resourceDir>${project.basedir}/src/main/resources/mac-os</resourceDir>
237
238
239
240
241
242
243
244
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>


Mike Prechtl's avatar
Mike Prechtl committed
245
246
	<build>
		<plugins>
247
248
249
250
251
252
253
254
255
256
257
258
259
260
			<!-- Plugin to reuse project version for installers -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>parse-version</id>
						<phase>validate</phase>
						<goals>
							<goal>parse-version</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
261
			<!-- Maven compiler plugin -->
Mike Prechtl's avatar
Mike Prechtl committed
262
263
264
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
265
266
267
268
269
270
271
272
				<executions>
					<execution>
						<id>default-compile</id>
						<goals>
							<goal>compile</goal>
						</goals>
					</execution>
				</executions>
Mike Prechtl's avatar
Mike Prechtl committed
273
			</plugin>
274
275
276
277
278
279
280
281
			<!-- Skip install step of install-plugin-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-install-plugin</artifactId>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>
282
			<!-- Jpackage plugin to create installers -->
Mike Prechtl's avatar
Mike Prechtl committed
283
			<plugin>
284
285
286
				<groupId>net.agilhard.maven.plugins</groupId>
				<artifactId>jlink-jpackager-maven-plugin</artifactId>
				<extensions>true</extensions>
287
288
				<executions>
					<execution>
289
290
						<id>jlink</id>
						<phase>prepare-package</phase>
291
292
293
						<goals>
							<goal>jlink</goal>
						</goals>
294
295
296
297
298
299
300
301
302
303
304
						<configuration>
							<!-- JLink arguments -->
							<launcher>open-ecard=org.openecard.richclient/org.openecard.richclient.RichClient</launcher>
							<compress>2</compress>
							<noHeaderFiles>true</noHeaderFiles>
							<noManPages>true</noManPages>
							<stripDebug>true</stripDebug>
							<ignoreSigningInformation>true</ignoreSigningInformation>
							<outputDirectoryImage>${project.build.directory}/open-ecard</outputDirectoryImage>
							<jdkToolchain>
								<version>11</version>
305
								<vendor>OpenJDK</vendor>
306
307
							</jdkToolchain>
						</configuration>
308
309
					</execution>
				</executions>
Mike Prechtl's avatar
Mike Prechtl committed
310
311
312
313
314
			</plugin>
		</plugins>
	</build>

	<dependencies>
315
		<!-- Open eCard RichClient Bundle -->
Mike Prechtl's avatar
Mike Prechtl committed
316
317
		<dependency>
			<groupId>org.openecard.clients</groupId>
318
			<artifactId>richclient-bundle</artifactId>
319
			<version>${project.version}</version>
320
321
322
323
324
325
			<exclusions>
				<exclusion>
					<groupId>org.openecard.clients</groupId>
					<artifactId>richclient</artifactId>
				</exclusion>
			</exclusions>
Mike Prechtl's avatar
Mike Prechtl committed
326
327
		</dependency>

328
		<!-- JavaFX -->
Mike Prechtl's avatar
Mike Prechtl committed
329
		<dependency>
330
331
			<groupId>org.openjfx</groupId>
			<artifactId>javafx-controls</artifactId>
Mike Prechtl's avatar
Mike Prechtl committed
332
		</dependency>
Mike Prechtl's avatar
Mike Prechtl committed
333
		<dependency>
334
335
			<groupId>org.openjfx</groupId>
			<artifactId>javafx-swing</artifactId>
Mike Prechtl's avatar
Mike Prechtl committed
336
		</dependency>
337
338

		<!-- BouncyCastle -->
Mike Prechtl's avatar
Mike Prechtl committed
339
		<dependency>
340
341
			<groupId>org.bouncycastle</groupId>
			<artifactId>bcprov-jdk15on</artifactId>
Mike Prechtl's avatar
Mike Prechtl committed
342
		</dependency>
Mike Prechtl's avatar
Mike Prechtl committed
343
		<dependency>
344
345
			<groupId>org.bouncycastle</groupId>
			<artifactId>bctls-jdk15on</artifactId>
Mike Prechtl's avatar
Mike Prechtl committed
346
347
		</dependency>
		<dependency>
348
349
			<groupId>org.bouncycastle</groupId>
			<artifactId>bcpkix-jdk15on</artifactId>
Mike Prechtl's avatar
Mike Prechtl committed
350
351
		</dependency>

352
		<!-- JAXB -->
Mike Prechtl's avatar
Mike Prechtl committed
353
		<dependency>
354
355
356
357
358
359
360
361
			<groupId>org.glassfish.jaxb</groupId>
			<artifactId>jaxb-runtime</artifactId>
			<exclusions>
				<exclusion>
					<groupId>jakarta.activation</groupId>
					<artifactId>jakarta.activation-api</artifactId>
				</exclusion>
			</exclusions>
Mike Prechtl's avatar
Mike Prechtl committed
362
363
		</dependency>
		<dependency>
364
365
			<groupId>com.sun.activation</groupId>
			<artifactId>jakarta.activation</artifactId>
Mike Prechtl's avatar
Mike Prechtl committed
366
367
368
369
		</dependency>
	</dependencies>

</project>