pom.xml 9.87 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.3-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

Mike Prechtl's avatar
Mike Prechtl committed
20
		<app.identifier>open-ecard</app.identifier>
21
22
23
		<app.name>Open eCard</app.name>
		<app.vendor>ecsec GmbH</app.vendor>
		<app.url>https://openecard.org</app.url>
Mike Prechtl's avatar
Mike Prechtl committed
24
25
	</properties>

26

27
28
29
30
31
32
33
34
35
36
37
38
39
40
	<repositories>
		<repository>
			<id>openecard-repos</id>
			<name>Openecard Repos</name>
			<url>https://mvn.ecsec.de/repository/openecard-public</url>
		</repository>
	</repositories>

	<pluginRepositories>
		<pluginRepository>
			<id>openecard-repos</id>
			<url>https://mvn.ecsec.de/repository/openecard-public</url>
		</pluginRepository>
	</pluginRepositories>
Mike Prechtl's avatar
Mike Prechtl committed
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

	<profiles>
		<profile>
			<id>app-bundles-Linux</id>
			<activation>
				<os>
					<family>Unix</family>
				</os>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>net.agilhard.maven.plugins</groupId>
						<artifactId>jlink-jpackager-maven-plugin</artifactId>
						<configuration>
57
							<icon>${project.basedir}/src/main/resources/linux/Open-eCard-App.png</icon>
58
							<resourceDir>${project.basedir}/src/main/resources/linux</resourceDir>
59
							<type>deb</type>
60
61
62
63
64
65
66
67
68
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>app-bundles-win</id>
			<activation>
				<os>
69
					<family>windows</family>
70
71
72
73
				</os>
			</activation>
			<build>
				<plugins>
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
					<!-- 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>
											<directory>src/main/resources/windows/filtering</directory>
											<filtering>true</filtering>
										</resource>
									</resources>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<!-- Create .msi installer -->
96
97
98
99
					<plugin>
						<groupId>net.agilhard.maven.plugins</groupId>
						<artifactId>jlink-jpackager-maven-plugin</artifactId>
						<configuration>
100
							<icon>${project.basedir}/src/main/resources/windows/Open-eCard-App.ico</icon>
101
							<type>msi</type>
102
103
						</configuration>
					</plugin>
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
					<!-- 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>
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
				</plugins>
			</build>
		</profile>
		<profile>
			<id>app-bundles-mac</id>
			<activation>
				<os>
					<family>mac</family>
				</os>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>net.agilhard.maven.plugins</groupId>
						<artifactId>jlink-jpackager-maven-plugin</artifactId>
						<configuration>
141
142
							<icon>${project.basedir}/src/main/resources/mac-os/Open-eCard-App.icns</icon>
							<resourceDir>${project.basedir}/src/main/resources/mac-os</resourceDir>
143
144
145
146
147
148
149
150
151
							<type>dmg</type>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>


Mike Prechtl's avatar
Mike Prechtl committed
152
153
	<build>
		<plugins>
154
155
156
157
158
159
160
161
162
163
164
165
166
167
			<!-- 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>
168
			<!-- Maven compiler plugin -->
Mike Prechtl's avatar
Mike Prechtl committed
169
170
171
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
				<configuration>
					<showDeprecation>true</showDeprecation>
					<showWarnings>true</showWarnings>
					<debug>true</debug>
					<debuglevel>source,lines,vars</debuglevel>
					<optimize>false</optimize>
				</configuration>
				<executions>
					<execution>
						<id>default-compile</id>
						<goals>
							<goal>compile</goal>
						</goals>
					</execution>
				</executions>
Mike Prechtl's avatar
Mike Prechtl committed
187
			</plugin>
188
189
190
191
192
193
194
195
			<!-- Skip install step of install-plugin-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-install-plugin</artifactId>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>
196
			<!-- Jpackage plugin to create installers -->
Mike Prechtl's avatar
Mike Prechtl committed
197
			<plugin>
198
199
200
				<groupId>net.agilhard.maven.plugins</groupId>
				<artifactId>jlink-jpackager-maven-plugin</artifactId>
				<extensions>true</extensions>
201
202
				<executions>
					<execution>
203
204
						<id>jlink</id>
						<phase>prepare-package</phase>
205
206
207
						<goals>
							<goal>jlink</goal>
						</goals>
208
209
210
211
212
213
214
215
216
217
218
						<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>
219
								<vendor>OpenJDK</vendor>
220
221
							</jdkToolchain>
						</configuration>
222
					</execution>
223
224
225
226
227
228
229
230
					<execution>
						<id>jpackage</id>
						<phase>package</phase>
						<goals>
							<goal>jpackager</goal>
						</goals>
						<configuration>
							<!-- Jpackage arguments -->
231
							<!-- Don't use spaces in application name, because of problems with install scripts ... -->
Mike Prechtl's avatar
Mike Prechtl committed
232
							<name>${app.identifier}</name>
233
							<identifier>org.openecard.richclient</identifier>
234
							<appVersion>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}</appVersion>
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
							<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 -->
							<arguments>
								<argument>-XX:-UsePerfData</argument>
								<argument>-XX:-Inline</argument>
								<argument>-XX:+AggressiveOpts</argument>
								<argument>-Xms16m</argument>
								<argument>-Xmx64m</argument>
								<argument>-XX:+UseG1GC</argument>
								<argument>-XX:MinHeapFreeRatio=1</argument>
								<argument>-XX:MaxHeapFreeRatio=5</argument>
								<argument>-XX:G1ReservePercent=5</argument>
								<argument>-Djavax.xml.stream.isSupportingExternalEntities=false</argument>
								<argument>-Djavax.xml.stream.supportDTD=false</argument>
							</arguments>
							<!-- Application package metadata -->
256
							<vendor>${app.vendor}</vendor>
257
							<description>Client side implementation of the eCard-API-Framework (BSI TR-03112)</description>
258
259
260
							<licenseFile>${project.basedir}/src/main/resources/licenses/LICENSE.GPL</licenseFile>
							<copyright>2019 ecsec GmbH</copyright>
							<linuxOptions>
261
								<bundleName>open-ecard</bundleName>
262
263
								<debMaintainer>tobias.wich@ecsec.de</debMaintainer>
								<rpmLicenseType>GPL v3</rpmLicenseType>
264
								<menuGroup>Network;</menuGroup>
265
								<packageDeps>pcscd</packageDeps>
266
267
							</linuxOptions>
							<macOptions>
268
								<bundleName>${openecard.app.name}</bundleName>
269
								<bundleIdentifier>org.openecard.richclient</bundleIdentifier>
270
271
272
273
							</macOptions>
							<windowsOptions>
								<dirChooser>true</dirChooser>
								<menuGroup>misc</menuGroup>
274
								<upgradeUUID>CB11CB66-71B5-42C1-8076-15F1FEDCC22A</upgradeUUID>
275
276
277
							</windowsOptions>
						</configuration>
					</execution>
278
				</executions>
Mike Prechtl's avatar
Mike Prechtl committed
279
280
281
282
283
			</plugin>
		</plugins>
	</build>

	<dependencies>
284
		<!-- Open eCard RichClient Bundle -->
Mike Prechtl's avatar
Mike Prechtl committed
285
286
		<dependency>
			<groupId>org.openecard.clients</groupId>
287
			<artifactId>richclient-bundle</artifactId>
288
			<version>${project.version}</version>
289
290
291
292
293
294
			<exclusions>
				<exclusion>
					<groupId>org.openecard.clients</groupId>
					<artifactId>richclient</artifactId>
				</exclusion>
			</exclusions>
Mike Prechtl's avatar
Mike Prechtl committed
295
296
		</dependency>

297
		<!-- JavaFX -->
Mike Prechtl's avatar
Mike Prechtl committed
298
		<dependency>
299
300
			<groupId>org.openjfx</groupId>
			<artifactId>javafx-controls</artifactId>
Mike Prechtl's avatar
Mike Prechtl committed
301
		</dependency>
Mike Prechtl's avatar
Mike Prechtl committed
302
		<dependency>
303
304
			<groupId>org.openjfx</groupId>
			<artifactId>javafx-swing</artifactId>
Mike Prechtl's avatar
Mike Prechtl committed
305
		</dependency>
306
307

		<!-- BouncyCastle -->
Mike Prechtl's avatar
Mike Prechtl committed
308
		<dependency>
309
310
			<groupId>org.bouncycastle</groupId>
			<artifactId>bcprov-jdk15on</artifactId>
Mike Prechtl's avatar
Mike Prechtl committed
311
		</dependency>
Mike Prechtl's avatar
Mike Prechtl committed
312
		<dependency>
313
314
			<groupId>org.bouncycastle</groupId>
			<artifactId>bctls-jdk15on</artifactId>
Mike Prechtl's avatar
Mike Prechtl committed
315
316
		</dependency>
		<dependency>
317
318
			<groupId>org.bouncycastle</groupId>
			<artifactId>bcpkix-jdk15on</artifactId>
Mike Prechtl's avatar
Mike Prechtl committed
319
320
		</dependency>

321
		<!-- JAXB -->
Mike Prechtl's avatar
Mike Prechtl committed
322
		<dependency>
323
324
325
326
327
328
329
330
			<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
331
332
		</dependency>
		<dependency>
333
334
335
			<groupId>com.sun.activation</groupId>
			<artifactId>jakarta.activation</artifactId>
			<version>1.2.2-20190731</version>
Mike Prechtl's avatar
Mike Prechtl committed
336
337
338
339
		</dependency>
	</dependencies>

</project>