summaryrefslogtreecommitdiff
path: root/pom.xml
blob: 849720d99e363e001760deb1f885182f062ff4d7 (plain) (blame)
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
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
<?xml version="1.0" encoding="UTF-8"?>
<!--
 SPDX-License-Identifier: AGPL-3.0-or-later
 SPDX-FileCopyrightText: 2025 Uko Kokņevičs <perkontevs@gmail.com>
 -->
<project xmlns="http://maven.apache.org/POM/4.1.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.1.0 https://maven.apache.org/xsd/maven-4.1.0.xsd"
         root="true">
  <modelVersion>4.1.0</modelVersion>

  <groupId>lv.enes</groupId>
  <artifactId>parent</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <subprojects>
    <subproject>buildstuffs</subproject>
  </subprojects>

  <licenses>
    <license>
      <name>AGPL-3.0-or-later</name>
      <url>https://www.gnu.org/licenses/agpl-3.0.en.html</url>
      <distribution>repo</distribution>
      <comments>GNU Affero General Public License</comments>
    </license>
  </licenses>

  <distributionManagement>
    <repository>
      <id>mvn.enes.lv</id>
      <name>Enes Maven</name>
      <url>https://mvn.enes.lv/releases</url>
    </repository>
    <snapshotRepository>
      <id>mvn.enes.lv-snapshots</id>
      <name>Enes Maven Snapshots</name>
      <url>https://mvn.enes.lv/snapshots</url>
    </snapshotRepository>
  </distributionManagement>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <java.version>24</java.version>
    <java.preview>true</java.preview>

    <maven.version>4.0.0-rc-4</maven.version>
    <maven.version-range>[${maven.version}]</maven.version-range>

    <enes-parent.version>1.0.0-SNAPSHOT</enes-parent.version>
    <enes-vocabulary-plugin.version>1.0.0-SNAPSHOT</enes-vocabulary-plugin.version>

    <bouncycastle.version>1.81</bouncycastle.version>
    <brotli4j.version>1.18.0</brotli4j.version>
    <checker.version>3.49.5</checker.version>
    <checkstyle.version>11.0.0</checkstyle.version>
    <jakarta.json.version>3.0.1</jakarta.json.version>
    <javafx.version>24.0.2</javafx.version>
    <javalin.version>6.7.0</javalin.version>
    <jena.version>5.5.0</jena.version>
    <jline.version>3.30.5</jline.version>
    <junit.version>5.13.4</junit.version>
    <lombok.version>1.18.38</lombok.version>
    <picocli.version>4.7.7</picocli.version>
    <plugin-annotations.version>3.15.1</plugin-annotations.version>
    <pmd.version>7.16.0</pmd.version>
    <slf4j.version>2.0.17</slf4j.version>
    <spotbugs.version>4.9.3</spotbugs.version>
    <yasson.version>3.0.4</yasson.version>

    <assembly-plugin.version>3.7.1</assembly-plugin.version>
    <checkstyle-plugin.version>3.6.0</checkstyle-plugin.version>
    <clean-plugin.version>3.5.0</clean-plugin.version>
    <compiler-plugin.version>3.14.0</compiler-plugin.version>
    <deploy-plugin.version>3.1.4</deploy-plugin.version>
    <enforcer-plugin.version>3.6.1</enforcer-plugin.version>
    <exec-plugin.version>3.5.1</exec-plugin.version>
    <findsecbugs-plugin.version>1.12.0</findsecbugs-plugin.version>
    <help-plugin.version>3.5.1</help-plugin.version>
    <install-plugin.version>3.1.4</install-plugin.version>
    <jacoco-plugin.version>0.8.13</jacoco-plugin.version>
    <jar-plugin.version>3.4.2</jar-plugin.version>
    <javafx-plugin.version>0.0.8</javafx-plugin.version>
    <owasp-plugin.version>12.1.3</owasp-plugin.version>
    <plugin-plugin.version>3.15.1</plugin-plugin.version>
    <pmd-plugin.version>3.27.0</pmd-plugin.version>
    <project-info-reports-plugin.version>3.9.0</project-info-reports-plugin.version>
    <resources-plugin.version>3.3.1</resources-plugin.version>
    <site-plugin.version>3.21.0</site-plugin.version>
    <spotbugs-plugin.version>${spotbugs.version}.2</spotbugs-plugin.version>
    <surefire-plugin.version>3.5.3</surefire-plugin.version>
    <versions-plugin.version>2.18.0</versions-plugin.version>
    <wrapper-plugin.version>3.3.2</wrapper-plugin.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- import scope -->
      <dependency>
        <groupId>org.junit</groupId>
        <artifactId>junit-bom</artifactId>
        <version>${junit.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>com.aayushatharva.brotli4j</groupId>
        <artifactId>brotli4j</artifactId>
        <version>${brotli4j.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-annotations</artifactId>
        <version>${spotbugs.version}</version>
      </dependency>
      <dependency>
        <groupId>info.picocli</groupId>
        <artifactId>picocli</artifactId>
        <version>${picocli.version}</version>
      </dependency>
      <dependency>
        <groupId>io.javalin</groupId>
        <artifactId>javalin</artifactId>
        <version>${javalin.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.json.bind</groupId>
        <artifactId>jakarta.json.bind-api</artifactId>
        <version>${jakarta.json.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.jena</groupId>
        <artifactId>apache-jena-libs</artifactId>
        <version>${jena.version}</version>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.plugin-tools</groupId>
        <artifactId>maven-plugin-annotations</artifactId>
        <version>${plugin-annotations.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk18on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.checkerframework</groupId>
        <artifactId>checker-qual</artifactId>
        <version>${checker.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse</groupId>
        <artifactId>yasson</artifactId>
        <version>${yasson.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jline</groupId>
        <artifactId>jline</artifactId>
        <version>${jline.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>${javafx.version}</version>
      </dependency>
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>

    <dependency>
      <groupId>org.checkerframework</groupId>
      <artifactId>checker-qual</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>${assembly-plugin.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${checkstyle-plugin.version}</version>
          <configuration>
            <configLocation>lv/enes/buildstuffs/checkstyle.xml</configLocation>
            <suppressionsLocation>lv/enes/buildstuffs/checkstyle-suppressions.xml</suppressionsLocation>
            <consoleOutput>true</consoleOutput>
            <failsOnError>true</failsOnError>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>com.puppycrawl.tools</groupId>
              <artifactId>checkstyle</artifactId>
              <version>${checkstyle.version}</version>
            </dependency>
            <dependency>
              <groupId>lv.enes</groupId>
              <artifactId>buildstuffs</artifactId>
              <version>${enes-parent.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>${clean-plugin.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${compiler-plugin.version}</version>
          <configuration>
            <annotationProcessorPaths>
              <path>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
              </path>
            </annotationProcessorPaths>
            <annotationProcessors>
              <annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor>
            </annotationProcessors>
            <compilerArgs combine.children="append">
              <arg>-Xlint:deprecation</arg>
            </compilerArgs>
            <release>${java.version}</release>
            <enablePreview>${java.preview}</enablePreview>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>${deploy-plugin.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>${enforcer-plugin.version}</version>
          <executions>
            <execution>
              <id>enforce</id>
              <goals>
                <goal>enforce</goal>
              </goals>
              <configuration>
                <fail>true</fail>
                <rules>
                  <banDistributionManagement>
                    <allowRepository>true</allowRepository>
                  </banDistributionManagement>
                  <banDuplicatePomDependencyVersions/>
                  <dependencyConvergence/>
                  <requireMavenVersion>
                    <version>${maven.version-range}</version>
                  </requireMavenVersion>
                  <requirePluginVersions>
                    <banSnapshots>false</banSnapshots>
                    <additionalPlugins>
                      <additionalPlugin>org.apache.maven.plugins:maven-help-plugin</additionalPlugin>
                      <additionalPlugin>org.apache.maven.plugins:maven-wrapper-plugin</additionalPlugin>
                      <additionalPlugin>org.codehaus.mojo:versions-maven-plugin</additionalPlugin>
                    </additionalPlugins>
                  </requirePluginVersions>
                </rules>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>${install-plugin.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-help-plugin</artifactId>
          <version>${help-plugin.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${jar-plugin.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-plugin-plugin</artifactId>
          <version>${plugin-plugin.version}</version>
          <executions>
            <execution>
              <id>help-mojo</id>
              <goals>
                <goal>helpmojo</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>${pmd-plugin.version}</version>
          <dependencies>
            <dependency>
              <groupId>net.sourceforge.pmd</groupId>
              <artifactId>pmd-core</artifactId>
              <version>${pmd.version}</version>
            </dependency>
            <dependency>
              <groupId>net.sourceforge.pmd</groupId>
              <artifactId>pmd-java</artifactId>
              <version>${pmd.version}</version>
            </dependency>
            <dependency>
              <groupId>net.sourceforge.pmd</groupId>
              <artifactId>pmd-xml</artifactId>
              <version>${pmd.version}</version>
            </dependency>
            <dependency>
              <groupId>lv.enes</groupId>
              <artifactId>buildstuffs</artifactId>
              <version>${enes-parent.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <analysisCache>true</analysisCache>
            <excludeRoots>
              <excludeRoot>target/generated-sources/</excludeRoot>
            </excludeRoots>
            <includeTests>true</includeTests>
            <printFailingErrors>true</printFailingErrors>
            <rulesets>lv/enes/buildstuffs/pmd-rules.xml</rulesets>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${resources-plugin.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>${site-plugin.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${surefire-plugin.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-wrapper-plugin</artifactId>
          <version>${wrapper-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>com.github.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
          <version>${spotbugs-plugin.version}</version>
          <configuration>
            <excludeFilterFile>lv/enes/buildstuffs/spotbugs-exclude.xml</excludeFilterFile>
            <plugins>
              <plugin>
                <groupId>com.h3xstream.findsecbugs</groupId>
                <artifactId>findsecbugs-plugin</artifactId>
                <version>${findsecbugs-plugin.version}</version>
              </plugin>
            </plugins>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>lv.enes</groupId>
              <artifactId>buildstuffs</artifactId>
              <version>${enes-parent.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>lv.enes</groupId>
          <artifactId>vocabulary-builder-plugin</artifactId>
          <version>${enes-vocabulary-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>${exec-plugin.version}</version>
          <configuration>
            <mainClass>${mainClass}</mainClass>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>versions-maven-plugin</artifactId>
          <version>${versions-plugin.version}</version>
          <configuration>
            <ignoredVersions>.*-M.*,.*-RC.*,.*-alpha.*,.*-beta.*,.*-ea.*</ignoredVersions>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>${jacoco-plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.openjfx</groupId>
          <artifactId>javafx-maven-plugin</artifactId>
          <version>${javafx-plugin.version}</version>
          <executions>
            <execution>
              <!-- ./mvnw clean javafx:run -->
              <id>default-cli</id>
              <configuration>
                <mainClass>${mainClass}</mainClass>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.owasp</groupId>
          <artifactId>dependency-check-maven</artifactId>
          <version>${owasp-plugin.version}</version>
          <configuration>
            <failBuildOnCVSS>7</failBuildOnCVSS>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-site-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>attach-descriptor</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>env-dev</id>
      <activation>
        <property>
          <name>env</name>
          <value>!prod</value>
        </property>
      </activation>
      <build>
        <plugins>

          <plugin>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <executions>
              <execution>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <fork>true</fork>
              <annotationProcessorPaths combine.children="append">
                <path>
                  <groupId>org.checkerframework</groupId>
                  <artifactId>checker</artifactId>
                  <version>${checker.version}</version>
                </path>
              </annotationProcessorPaths>
              <annotationProcessors combine.children="append">
                <annotationProcessor>org.checkerframework.checker.nullness.NullnessChecker</annotationProcessor>
                <annotationProcessor>org.checkerframework.checker.optional.OptionalChecker</annotationProcessor>
                <!-- <annotationProcessor>org.checkerframework.checker.resourceleak.ResourceLeakChecker</annotationProcessor> -->
                <annotationProcessor>org.checkerframework.checker.regex.RegexChecker</annotationProcessor>
                <annotationProcessor>org.checkerframework.checker.formatter.FormatterChecker</annotationProcessor>
              </annotationProcessors>
              <compilerArgs combine.children="append">
                <arg>-Xmaxerrs</arg>
                <arg>10000</arg>
                <arg>-Xmaxwarns</arg>
                <arg>10000</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
                <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
                <arg>-AskipFiles=/target/generated-sources/</arg>
              </compilerArgs>
            </configuration>
          </plugin>

          <plugin>
            <artifactId>maven-pmd-plugin</artifactId>
            <executions>
              <execution>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <argLine>@{argLine}</argLine>
            </configuration>
          </plugin>

          <plugin>
            <groupId>com.github.spotbugs</groupId>
            <artifactId>spotbugs-maven-plugin</artifactId>
            <executions>
              <execution>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>prepare-agent</id>
                <goals>
                  <goal>prepare-agent</goal>
                </goals>
              </execution>
              <execution>
                <id>check</id>
                <goals>
                  <goal>check</goal>
                </goals>
                <configuration>
                  <rules>
                    <rule>
                      <element>CLASS</element>
                      <excludes>
                        <exclude>*Exception</exclude>
                        <exclude>*Main</exclude>
                        <exclude>*Test</exclude>
                      </excludes>
                      <limits>
                        <limit>
                          <counter>INSTRUCTION</counter>
                          <value>COVEREDRATIO</value>
                          <minimum>80%</minimum>
                        </limit>
                      </limits>
                    </rule>
                  </rules>
                </configuration>
              </execution>
            </executions>
          </plugin>

        </plugins>
      </build>
    </profile>

    <profile>
      <id>env-test</id>
      <activation>
        <property>
          <name>env</name>
          <value>test</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.owasp</groupId>
            <artifactId>dependency-check-maven</artifactId>
            <configuration>
              <nvdApiServerId>nvd.nist.gov</nvdApiServerId>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>java-preview</id>
      <activation>
        <property>
          <name>java.preview</name>
          <value>true</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <argLine>--enable-preview</argLine>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>