-
Notifications
You must be signed in to change notification settings - Fork 0
/
pom.xml
525 lines (487 loc) · 31.1 KB
/
pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.glhez.parent</groupId>
<artifactId>maven-parent</artifactId>
<version>84-SNAPSHOT</version>
<packaging>pom</packaging>
<url>https://github.com/glhez/project-settings</url>
<name>maven-parent</name>
<description>
This project contains settings (dependencies/plugins versions) for my various Java project and set
some default configuration.
</description>
<scm>
<connection>scm:git:https://github.com/glhez/project-settings</connection>
<developerConnection>scm:git:git@github.com:glhez/project-settings.git</developerConnection>
<tag>v40</tag>
</scm>
<distributionManagement>
<repository> <id>glhez-m2-repo-releases</id> <url>${publish.directory.releases}</url> </repository>
<snapshotRepository> <id>glhez-m2-repo-snapshots</id> <url>${publish.directory.snapshots}</url> </snapshotRepository>
<site> <id>glhez-m2-repo-site</id> <url>${publish.directory.projectSite}</url> </site>
</distributionManagement>
<modules>
<module>java-1.8</module>
<module>java-17</module>
<module>java-21</module>
</modules>
<properties>
<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
<publish.directory.projectSite>${publish.directory.site}/${project.groupId}</publish.directory.projectSite>
<enforcer.requireMavenVersion>[3.9.7,4.0.0)</enforcer.requireMavenVersion>
<!-- the default toolchain phase; may be disabled for CI such as Travis or GitHub actions. -->
<toolchain.phase>validate</toolchain.phase>
<!--
Versions of dependencies; may be used later (such as in plugin/dependencies since)
-->
<dep.junit-bom.version>5.10.2</dep.junit-bom.version>
<dep.mockito-core.version>5.12.0</dep.mockito-core.version>
<dep.assertj-core.version>3.26.0</dep.assertj-core.version>
<dep.memoryfilesystem.version>2.8.0</dep.memoryfilesystem.version>
<dep.log4j-bom.version>2.23.1</dep.log4j-bom.version>
<dep.commons-lang3.version>3.14.0</dep.commons-lang3.version>
<dep.commons-text.version>1.12.0</dep.commons-text.version>
<dep.commons-csv.version>1.11.0</dep.commons-csv.version>
<dep.guava.version>33.2.1-jre</dep.guava.version>
<dep.config.version>1.4.3</dep.config.version>
<dep.picocli.version>4.7.6</dep.picocli.version>
<dep.picocli-codegen.version>4.7.6</dep.picocli-codegen.version>
<dep.asm.version>9.7</dep.asm.version>
<dep.asm-util.version>9.7</dep.asm-util.version>
<dep.cfr.version>0.152</dep.cfr.version>
<dep.jansi.version>2.4.1</dep.jansi.version>
<dep.json-unit.version>3.2.7</dep.json-unit.version>
<dep.xmlunit.version>2.10.0</dep.xmlunit.version>
<dep.jmh.version>1.35</dep.jmh.version>
<dep.jmh-core.version>1.37</dep.jmh-core.version>
<dep.jmh-generator-annprocess.version>1.37</dep.jmh-generator-annprocess.version>
<dep.bouncycastle.version>1.76</dep.bouncycastle.version>
<dep.bcprov-jdk18on.version>1.78.1</dep.bcprov-jdk18on.version>
<dep.bcprov-ext-jdk18on.version>1.78.1</dep.bcprov-ext-jdk18on.version>
<dep.bcpkix-jdk18on.version>1.78.1</dep.bcpkix-jdk18on.version>
<dep.bcmail-jdk18on.version>1.78.1</dep.bcmail-jdk18on.version>
<dep.bcpg-jdk18on.version>1.78.1</dep.bcpg-jdk18on.version>
<dep.bctls-jdk18on.version>1.78.1</dep.bctls-jdk18on.version>
<dep.bcprov-debug-jdk18on.version>1.78.1</dep.bcprov-debug-jdk18on.version>
<dep.bcprov-ext-debug-jdk18on.version>1.77</dep.bcprov-ext-debug-jdk18on.version>
<dep.saxon-he.version>12.4</dep.saxon-he.version>
<dep.freemarker.version>2.3.33</dep.freemarker.version>
<dep.jakarta-jaxb.version>4.0.2</dep.jakarta-jaxb.version>
<dep.jaxb-impl.version>4.0.5</dep.jaxb-impl.version>
<dep.jackson.version>2.17.1</dep.jackson.version>
<dep.bson4jackson.version>2.15.1</dep.bson4jackson.version>
<dep.jna.version>5.14.0</dep.jna.version>
<dep.javacc.version>7.0.13</dep.javacc.version>
<dep.error-prone.version>2.28.0</dep.error-prone.version>
<dep.nullaway.version>0.11.0</dep.nullaway.version>
<plg.antrun.version>3.1.0</plg.antrun.version>
<plg.appassembler.version>2.1.0</plg.appassembler.version>
<plg.assembly.version>3.7.1</plg.assembly.version>
<plg.assertj-assertions-generator.version>2.2.0</plg.assertj-assertions-generator.version>
<plg.build-helper.version>3.6.0</plg.build-helper.version>
<plg.clean.version>3.4.0</plg.clean.version>
<plg.compiler.version>3.13.0</plg.compiler.version>
<plg.dependency.version>3.7.0</plg.dependency.version>
<plg.deploy.version>3.1.2</plg.deploy.version>
<plg.editorconfig.version>0.1.3</plg.editorconfig.version>
<plg.enforcer.version>3.5.0</plg.enforcer.version>
<plg.exec.version>3.3.0</plg.exec.version>
<plg.failsafe.version>3.3.0</plg.failsafe.version>
<plg.formatter.version>2.24.1</plg.formatter.version>
<plg.git-commit-id.version>9.0.0</plg.git-commit-id.version>
<plg.gpg.version>3.2.4</plg.gpg.version>
<plg.install.version>3.1.2</plg.install.version>
<plg.jacoco.version>0.8.12</plg.jacoco.version>
<plg.jar.version>3.4.2</plg.jar.version>
<plg.javacc.version>3.0.3</plg.javacc.version>
<plg.javadoc.version>3.7.0</plg.javadoc.version>
<plg.jxr.version>3.4.0</plg.jxr.version>
<plg.project-info-reports.version>3.6.0</plg.project-info-reports.version>
<plg.release.version>3.1.0</plg.release.version>
<plg.resources.version>3.3.1</plg.resources.version>
<plg.scm.version>2.1.0</plg.scm.version>
<plg.shade.version>3.6.0</plg.shade.version>
<plg.site.version>3.12.1</plg.site.version>
<plg.source.version>3.3.1</plg.source.version>
<plg.surefire-report.version>3.3.0</plg.surefire-report.version>
<plg.surefire.version>3.3.0</plg.surefire.version>
<plg.taglist.version>3.0.0</plg.taglist.version>
<plg.toolchains.version>3.2.0</plg.toolchains.version>
<plg.versions.version>2.16.2</plg.versions.version>
<plg.xml.version>1.1.0</plg.xml.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency> <groupId>com.github.glhez.parent</groupId> <artifactId>settings</artifactId> <version>75-SNAPSHOT</version> <!--scope--> <!--type--> </dependency>
<dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>${dep.junit-bom.version}</version> <scope>import</scope> <type>pom</type> </dependency>
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-bom</artifactId> <version>${dep.log4j-bom.version}</version> <scope>import</scope> <type>pom</type> </dependency>
<dependency> <groupId>com.fasterxml.jackson</groupId> <artifactId>jackson-bom</artifactId> <version>${dep.jackson.version}</version> <scope>import</scope> <type>pom</type> </dependency>
<dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${dep.mockito-core.version}</version> </dependency>
<dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <version>${dep.mockito-core.version}</version> </dependency>
<dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>${dep.assertj-core.version}</version> </dependency>
<dependency> <groupId>net.javacrumbs.json-unit</groupId> <artifactId>json-unit-assertj</artifactId> <version>${dep.json-unit.version}</version> </dependency>
<dependency> <groupId>org.xmlunit</groupId> <artifactId>xmlunit-assertj3</artifactId> <version>${dep.xmlunit.version}</version> </dependency>
<dependency> <groupId>com.github.marschall</groupId> <artifactId>memoryfilesystem</artifactId> <version>${dep.memoryfilesystem.version}</version> </dependency>
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${dep.commons-lang3.version}</version> </dependency>
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-csv</artifactId> <version>${dep.commons-csv.version}</version> </dependency>
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>${dep.commons-text.version}</version> </dependency>
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${dep.guava.version}</version> </dependency>
<dependency> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_core</artifactId> <version>${dep.error-prone.version}</version> </dependency>
<dependency> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_annotations</artifactId> <version>${dep.error-prone.version}</version> </dependency>
<dependency> <groupId>com.uber.nullaway</groupId> <artifactId>nullaway</artifactId> <version>${dep.nullaway.version}</version> </dependency>
<dependency> <groupId>com.typesafe</groupId> <artifactId>config</artifactId> <version>${dep.config.version}</version> </dependency>
<dependency> <groupId>info.picocli</groupId> <artifactId>picocli</artifactId> <version>${dep.picocli.version}</version> </dependency>
<dependency> <groupId>info.picocli</groupId> <artifactId>picocli-codegen</artifactId> <version>${dep.picocli-codegen.version}</version> </dependency>
<dependency> <groupId>org.fusesource.jansi</groupId> <artifactId>jansi</artifactId> <version>${dep.jansi.version}</version> </dependency>
<dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> <version>${dep.asm.version}</version> </dependency>
<dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm-util</artifactId> <version>${dep.asm-util.version}</version> </dependency>
<dependency> <groupId>org.benf</groupId> <artifactId>cfr</artifactId> <version>${dep.cfr.version}</version> </dependency>
<dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-core</artifactId> <version>${dep.jmh-core.version}</version> </dependency>
<dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-generator-annprocess</artifactId> <version>${dep.jmh-generator-annprocess.version}</version> </dependency>
<dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk18on</artifactId> <version>${dep.bcprov-jdk18on.version}</version> </dependency>
<dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-ext-jdk18on</artifactId> <version>${dep.bcprov-ext-jdk18on.version}</version> </dependency>
<dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpkix-jdk18on</artifactId> <version>${dep.bcpkix-jdk18on.version}</version> </dependency>
<dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcmail-jdk18on</artifactId> <version>${dep.bcmail-jdk18on.version}</version> </dependency>
<dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpg-jdk18on</artifactId> <version>${dep.bcpg-jdk18on.version}</version> </dependency>
<dependency> <groupId>org.bouncycastle</groupId> <artifactId>bctls-jdk18on</artifactId> <version>${dep.bctls-jdk18on.version}</version> </dependency>
<dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-debug-jdk18on</artifactId> <version>${dep.bcprov-debug-jdk18on.version}</version> </dependency>
<dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-ext-debug-jdk18on</artifactId> <version>${dep.bcprov-ext-debug-jdk18on.version}</version> </dependency>
<dependency> <groupId>net.sf.saxon</groupId> <artifactId>Saxon-HE</artifactId> <version>${dep.saxon-he.version}</version> </dependency>
<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>${dep.freemarker.version}</version> </dependency>
<dependency> <groupId>de.undercouch</groupId> <artifactId>bson4jackson</artifactId> <version>${dep.bson4jackson.version}</version> </dependency>
<dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>${dep.jna.version}</version> </dependency>
<dependency> <groupId>net.java.dev.javacc</groupId> <artifactId>javacc</artifactId> <version>${dep.javacc.version}</version> </dependency>
<dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>${dep.jakarta-jaxb.version}</version> <scope>compile</scope> </dependency>
<dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>${dep.jaxb-impl.version}</version> <scope>runtime</scope> </dependency>
</dependencies>
</dependencyManagement>
<build>
<resources>
<resource>
<filtering>false</filtering>
<directory>${project.basedir}/src/main/resources</directory>
</resource>
</resources>
<testResources>
<testResource>
<filtering>false</filtering>
<directory>${project.basedir}/src/test/resources</directory>
</testResource>
</testResources>
<pluginManagement>
<plugins>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${plg.antrun.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>${plg.assembly.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>${plg.clean.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${plg.compiler.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>${plg.dependency.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>${plg.deploy.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>${plg.enforcer.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>${plg.failsafe.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>${plg.gpg.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>${plg.install.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>${plg.jar.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${plg.javadoc.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> <version>${plg.jxr.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>${plg.project-info-reports.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>${plg.resources.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>${plg.scm.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>${plg.shade.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>${plg.site.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${plg.source.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${plg.surefire.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> <version>${plg.surefire-report.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-toolchains-plugin</artifactId> <version>${plg.toolchains.version}</version> </plugin>
<plugin> <groupId>io.github.git-commit-id</groupId> <artifactId>git-commit-id-maven-plugin</artifactId> <version>${plg.git-commit-id.version}</version> </plugin>
<plugin> <groupId>net.revelc.code.formatter</groupId> <artifactId>formatter-maven-plugin</artifactId> <version>${plg.formatter.version}</version> </plugin>
<plugin> <groupId>org.assertj</groupId> <artifactId>assertj-assertions-generator-maven-plugin</artifactId> <version>${plg.assertj-assertions-generator.version}</version> </plugin>
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>appassembler-maven-plugin</artifactId> <version>${plg.appassembler.version}</version> </plugin>
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${plg.build-helper.version}</version> </plugin>
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>${plg.exec.version}</version> </plugin>
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>taglist-maven-plugin</artifactId> <version>${plg.taglist.version}</version> </plugin>
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>xml-maven-plugin</artifactId> <version>${plg.xml.version}</version> </plugin>
<plugin> <groupId>org.ec4j.maven</groupId> <artifactId>editorconfig-maven-plugin</artifactId> <version>${plg.editorconfig.version}</version> </plugin>
<plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${plg.jacoco.version}</version> </plugin>
<plugin> <groupId>org.javacc.plugin</groupId> <artifactId>javacc-maven-plugin</artifactId> <version>${plg.javacc.version}</version> </plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>${plg.release.version}</version>
<configuration>
<tagNameFormat>v@{project.version}</tagNameFormat>
<autoVersionSubmodules>true</autoVersionSubmodules>
<releaseProfiles>release-sign-artifacts</releaseProfiles>
</configuration>
</plugin>
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>${plg.versions.version}</version>
<configuration>
<ruleSet>
<ignoreVersions>
<ignoreVersion> <type>regex</type> <version>(?i).*([bM][0-9]+|alpha|beta).*</version> </ignoreVersion>
<ignoreVersion> <type>regex</type> <version>(?i).*(cr|rc|pr)[0-9]*(-android|)</version> </ignoreVersion>
<ignoreVersion> <type>regex</type> <version>(?i).*incubating</version> </ignoreVersion>
<ignoreVersion> <type>regex</type> <version>.*-PFD</version> </ignoreVersion>
</ignoreVersions>
</ruleSet>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<parameters>true</parameters>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/.gitignore</exclude>
</excludes>
<attach>true</attach>
</configuration>
<executions>
<execution>
<id>attach-sources</id>
<inherited>true</inherited>
<phase>package</phase>
<goals><goal>jar-no-fork</goal></goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-maven</id>
<inherited>true</inherited>
<goals> <goal>enforce</goal> </goals>
<configuration>
<rules>
<requireMavenVersion> <version>${enforcer.requireMavenVersion}</version> </requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.github.git-commit-id</groupId>
<artifactId>git-commit-id-maven-plugin</artifactId>
<executions>
<execution>
<id>git-fetch-revision</id>
<goals> <goal>revision</goal> </goals>
<phase>initialize</phase>
<configuration>
<failOnNoGitDirectory>false</failOnNoGitDirectory>
<generateGitPropertiesFile>true</generateGitPropertiesFile>
<generateGitPropertiesFilename>${project.build.outputDirectory}/META-INF/git.properties</generateGitPropertiesFilename>
<skipPoms>true</skipPoms>
<useNativeGit>true</useNativeGit>
<includeOnlyProperties>
<includeOnlyProperty>^\Qgit.commit.id\E$</includeOnlyProperty>
<includeOnlyProperty>^\Qgit.commit.id.full\E$</includeOnlyProperty>
<includeOnlyProperty>^\Qgit.commit.time\E$</includeOnlyProperty>
<includeOnlyProperty>^\Qgit.dirty\E$</includeOnlyProperty>
<includeOnlyProperty>^\Qgit.branch\E$</includeOnlyProperty>
<includeOnlyProperty>^\Qgit.closest.tag.name\E$</includeOnlyProperty>
</includeOnlyProperties>
<!-- <verbose>true</verbose> -->
<abbrevLength>40</abbrevLength>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId>
<reportSets>
<reportSet>
<reports>
<report>index</report>
<report>summary</report>
<report>dependency-info</report>
<report>modules</report>
<report>team</report>
<report>scm</report>
<report>issue-management</report>
<report>mailing-lists</report>
<report>dependency-management</report>
<report>dependencies</report>
<report>dependency-convergence</report>
<report>ci-management</report>
<report>plugin-management</report>
<report>plugins</report>
<report>distribution-management</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<reportSets>
<reportSet>
<reports>
<report>jxr</report>
<report>test-jxr</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<!-- Taglist Plugin must be executed after JXR Plugin -->
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>taglist-maven-plugin</artifactId>
<configuration>
<tagListOptions>
<tagClasses>
<tagClass>
<displayName>FIXME Work</displayName>
<tags>
<tag> <matchString>fixme</matchString> <matchType>ignoreCase</matchType> </tag>
<tag> <matchString>@fixme</matchString> <matchType>ignoreCase</matchType> </tag>
</tags>
</tagClass>
<tagClass>
<displayName>Todo Work</displayName>
<tags>
<tag> <matchString>todo</matchString> <matchType>ignoreCase</matchType> </tag>
<tag> <matchString>@todo</matchString> <matchType>ignoreCase</matchType> </tag>
</tags>
</tagClass>
<tagClass>
<displayName>Deprecated Work</displayName>
<tags>
<tag> <matchString>@deprecated</matchString> <matchType>ignoreCase</matchType> </tag>
</tags>
</tagClass>
</tagClasses>
</tagListOptions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<detectLinks>true</detectLinks>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId>
<reportSets>
<reportSet>
<reports>
<report>dependency-updates-report</report>
<report>plugin-updates-report</report>
<report>property-updates-report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId>
<reportSets>
<reportSet>
<reports>
<report>report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
<profiles>
<!--
Codestyle checks
- If the plugin have a dependency in dependencyManagement, then it must be added to java8/java11: the child
dependency is not build since the parent activate the plugin, which require the dependency.
- Each children must provide a disable checker profile, using skipCheckers property.
-->
<profile>
<id>editorconfig-check-enabled</id>
<activation>
<property> <name>!m2e.version</name> </property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.ec4j.maven</groupId>
<artifactId>editorconfig-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>.mvn/wrapper/**</exclude>
<exclude>mvnw*</exclude>
<exclude>mvnw.cmd</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>editorconfig-check-execution</id>
<phase>validate</phase>
<goals> <goal>check</goal> </goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>editorconfig-check-disabled</id>
<activation> <property> <name>skipCheckers</name> </property> </activation>
<build>
<plugins>
<plugin>
<groupId>org.ec4j.maven</groupId>
<artifactId>editorconfig-maven-plugin</artifactId>
<executions>
<execution>
<id>editorconfig-check-execution</id>
<phase>never</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!--
Sign artifact using GPG:
- https://blog.sonatype.com/2010/01/how-to-generate-pgp-signatures-with-maven/
- https://sizeof.cat/post/openpgp-web-key-directory-wkd-hosting/
-->
<profile>
<id>release-sign-artifacts</id>
<activation>
<property> <name>performRelease</name> <value>true</value> </property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals> <goal>sign</goal> </goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>