summaryrefslogtreecommitdiff
path: root/pom.xml
diff options
context:
space:
mode:
authorGravatar Uko Kokņevičs2025-05-20 05:00:55 +0300
committerGravatar Uko Kokņevičs2025-05-20 05:00:55 +0300
commit6c7f613f505217f94311d2a67bc957ad24620dee (patch)
tree2d33d9e9bbcbeec9e26428afdf13e0dc1684e6f3 /pom.xml
downloadlv.enes:parent-6c7f613f505217f94311d2a67bc957ad24620dee.tar.gz
lv.enes:parent-6c7f613f505217f94311d2a67bc957ad24620dee.tar.xz
lv.enes:parent-6c7f613f505217f94311d2a67bc957ad24620dee.zip
Initial commit
Diffstat (limited to 'pom.xml')
-rw-r--r--pom.xml601
1 files changed, 601 insertions, 0 deletions
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..dd48e02
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,601 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 SPDX-License-Identifier: AGPL-3.0-or-later
4 SPDX-FileCopyrightText: 2025 Uko Kokņevičs <perkontevs@gmail.com>
5 -->
6<project xmlns="http://maven.apache.org/POM/4.1.0"
7 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8 xsi:schemaLocation="http://maven.apache.org/POM/4.1.0 https://maven.apache.org/xsd/maven-4.1.0.xsd"
9 root="true">
10 <modelVersion>4.1.0</modelVersion>
11
12 <groupId>lv.enes</groupId>
13 <artifactId>parent</artifactId>
14 <version>1.0.0-SNAPSHOT</version>
15 <packaging>pom</packaging>
16
17 <subprojects>
18 <subproject>buildstuffs</subproject>
19 </subprojects>
20
21 <licenses>
22 <license>
23 <name>AGPL-3.0-or-later</name>
24 <url>https://www.gnu.org/licenses/agpl-3.0.en.html</url>
25 <distribution>repo</distribution>
26 <comments>GNU Affero General Public License</comments>
27 </license>
28 </licenses>
29
30 <distributionManagement>
31 <repository>
32 <id>mvn.enes.lv</id>
33 <name>enes.lv Maven</name>
34 <url>https://mvn.enes.lv</url>
35 </repository>
36 </distributionManagement>
37
38 <properties>
39 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
40 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
41
42 <java.version>24</java.version>
43 <java.preview>true</java.preview>
44
45 <maven.version>4.0.0-rc-3</maven.version>
46 <maven.version-range>[${maven.version}]</maven.version-range>
47
48 <enes-vocabulary-plugin.version>1.0.0-SNAPSHOT</enes-vocabulary-plugin.version>
49
50 <bouncycastle.version>1.80</bouncycastle.version>
51 <checker.version>3.49.3</checker.version>
52 <checkstyle.version>10.23.1</checkstyle.version>
53 <jakarta.json.version>3.0.1</jakarta.json.version>
54 <jena.version>5.4.0</jena.version>
55 <junit.version>5.12.2</junit.version>
56 <lombok.version>1.18.38</lombok.version>
57 <picocli.version>4.7.7</picocli.version>
58 <plugin-annotations.version>3.15.1</plugin-annotations.version>
59 <pmd.version>7.13.0</pmd.version>
60 <slf4j.version>2.0.17</slf4j.version>
61 <spotbugs.version>4.9.3</spotbugs.version>
62 <undertow.version>2.3.18.Final</undertow.version>
63 <yasson.version>3.0.4</yasson.version>
64
65 <assembly-plugin.version>3.7.1</assembly-plugin.version>
66 <checkstyle-plugin.version>3.6.0</checkstyle-plugin.version>
67 <clean-plugin.version>3.4.1</clean-plugin.version>
68 <compiler-plugin.version>3.14.0</compiler-plugin.version>
69 <deploy-plugin.version>3.1.4</deploy-plugin.version>
70 <enforcer-plugin.version>3.5.0</enforcer-plugin.version>
71 <exec-plugin.version>3.5.0</exec-plugin.version>
72 <findsecbugs-plugin.version>1.12.0</findsecbugs-plugin.version>
73 <help-plugin.version>3.5.1</help-plugin.version>
74 <install-plugin.version>3.1.4</install-plugin.version>
75 <jacoco-plugin.version>0.8.13</jacoco-plugin.version>
76 <jar-plugin.version>3.4.2</jar-plugin.version>
77 <owasp-plugin.version>12.1.1</owasp-plugin.version>
78 <plugin-plugin.version>3.15.1</plugin-plugin.version>
79 <pmd-plugin.version>3.26.0</pmd-plugin.version>
80 <project-info-reports-plugin.version>3.9.0</project-info-reports-plugin.version>
81 <resources-plugin.version>3.3.1</resources-plugin.version>
82 <site-plugin.version>3.21.0</site-plugin.version>
83 <spotbugs-plugin.version>${spotbugs.version}.0</spotbugs-plugin.version>
84 <surefire-plugin.version>3.5.3</surefire-plugin.version>
85 <versions-plugin.version>2.18.0</versions-plugin.version>
86 <wrapper-plugin.version>3.3.2</wrapper-plugin.version>
87 </properties>
88
89 <dependencyManagement>
90 <dependencies>
91 <!-- import scope -->
92 <dependency>
93 <groupId>org.junit</groupId>
94 <artifactId>junit-bom</artifactId>
95 <version>${junit.version}</version>
96 <type>pom</type>
97 <scope>import</scope>
98 </dependency>
99
100 <dependency>
101 <groupId>com.github.spotbugs</groupId>
102 <artifactId>spotbugs-annotations</artifactId>
103 <version>${spotbugs.version}</version>
104 </dependency>
105 <dependency>
106 <groupId>info.picocli</groupId>
107 <artifactId>picocli</artifactId>
108 <version>${picocli.version}</version>
109 </dependency>
110 <dependency>
111 <groupId>io.undertow</groupId>
112 <artifactId>undertow-core</artifactId>
113 <version>${undertow.version}</version>
114 </dependency>
115 <dependency>
116 <groupId>jakarta.json.bind</groupId>
117 <artifactId>jakarta.json.bind-api</artifactId>
118 <version>${jakarta.json.version}</version>
119 </dependency>
120 <dependency>
121 <groupId>org.apache.jena</groupId>
122 <artifactId>apache-jena-libs</artifactId>
123 <version>${jena.version}</version>
124 <type>pom</type>
125 </dependency>
126 <dependency>
127 <groupId>org.apache.maven</groupId>
128 <artifactId>maven-core</artifactId>
129 <version>${maven.version}</version>
130 </dependency>
131 <dependency>
132 <groupId>org.apache.maven</groupId>
133 <artifactId>maven-plugin-api</artifactId>
134 <version>${maven.version}</version>
135 </dependency>
136 <dependency>
137 <groupId>org.apache.maven.plugin-tools</groupId>
138 <artifactId>maven-plugin-annotations</artifactId>
139 <version>${plugin-annotations.version}</version>
140 </dependency>
141 <dependency>
142 <groupId>org.bouncycastle</groupId>
143 <artifactId>bcprov-jdk18on</artifactId>
144 <version>${bouncycastle.version}</version>
145 </dependency>
146 <dependency>
147 <groupId>org.checkerframework</groupId>
148 <artifactId>checker-qual</artifactId>
149 <version>${checker.version}</version>
150 </dependency>
151 <dependency>
152 <groupId>org.eclipse</groupId>
153 <artifactId>yasson</artifactId>
154 <version>${yasson.version}</version>
155 </dependency>
156 <dependency>
157 <groupId>org.projectlombok</groupId>
158 <artifactId>lombok</artifactId>
159 <version>${lombok.version}</version>
160 </dependency>
161 <dependency>
162 <groupId>org.slf4j</groupId>
163 <artifactId>slf4j-api</artifactId>
164 <version>${slf4j.version}</version>
165 </dependency>
166 <dependency>
167 <groupId>org.slf4j</groupId>
168 <artifactId>slf4j-simple</artifactId>
169 <version>${slf4j.version}</version>
170 </dependency>
171 </dependencies>
172 </dependencyManagement>
173
174 <dependencies>
175 <dependency>
176 <groupId>org.checkerframework</groupId>
177 <artifactId>checker-qual</artifactId>
178 <scope>provided</scope>
179 </dependency>
180 </dependencies>
181
182 <build>
183 <pluginManagement>
184 <plugins>
185 <plugin>
186 <artifactId>maven-assembly-plugin</artifactId>
187 <version>${assembly-plugin.version}</version>
188 </plugin>
189 <plugin>
190 <artifactId>maven-checkstyle-plugin</artifactId>
191 <version>${checkstyle-plugin.version}</version>
192 <configuration>
193 <configLocation>lv/enes/buildstuffs/checkstyle.xml</configLocation>
194 <suppressionsLocation>lv/enes/buildstuffs/checkstyle-suppressions.xml</suppressionsLocation>
195 <consoleOutput>true</consoleOutput>
196 <failsOnError>true</failsOnError>
197 </configuration>
198 <dependencies>
199 <dependency>
200 <groupId>com.puppycrawl.tools</groupId>
201 <artifactId>checkstyle</artifactId>
202 <version>${checkstyle.version}</version>
203 </dependency>
204 <dependency>
205 <groupId>${project.groupId}</groupId>
206 <artifactId>buildstuffs</artifactId>
207 <version>${project.version}</version>
208 </dependency>
209 </dependencies>
210 </plugin>
211 <plugin>
212 <artifactId>maven-clean-plugin</artifactId>
213 <version>${clean-plugin.version}</version>
214 </plugin>
215 <plugin>
216 <artifactId>maven-compiler-plugin</artifactId>
217 <version>${compiler-plugin.version}</version>
218 <configuration>
219 <annotationProcessorPaths>
220 <path>
221 <groupId>org.projectlombok</groupId>
222 <artifactId>lombok</artifactId>
223 <version>${lombok.version}</version>
224 </path>
225 </annotationProcessorPaths>
226 <annotationProcessors>
227 <annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor>
228 </annotationProcessors>
229 <compilerArgs combine.children="append">
230 <arg>-Xlint:deprecation</arg>
231 </compilerArgs>
232 <release>${java.version}</release>
233 <enablePreview>${java.preview}</enablePreview>
234 </configuration>
235 </plugin>
236 <plugin>
237 <artifactId>maven-deploy-plugin</artifactId>
238 <version>${deploy-plugin.version}</version>
239 </plugin>
240 <plugin>
241 <artifactId>maven-enforcer-plugin</artifactId>
242 <version>${enforcer-plugin.version}</version>
243 <executions>
244 <execution>
245 <id>enforce</id>
246 <goals>
247 <goal>enforce</goal>
248 </goals>
249 <configuration>
250 <fail>true</fail>
251 <rules>
252 <banDistributionManagement>
253 <allowRepository>true</allowRepository>
254 </banDistributionManagement>
255 <banDuplicatePomDependencyVersions/>
256 <dependencyConvergence/>
257 <requireMavenVersion>
258 <version>${maven.version-range}</version>
259 </requireMavenVersion>
260 <requirePluginVersions>
261 <banSnapshots>false</banSnapshots>
262 <additionalPlugins>
263 <additionalPlugin>org.apache.maven.plugins:maven-help-plugin</additionalPlugin>
264 <additionalPlugin>org.apache.maven.plugins:maven-wrapper-plugin</additionalPlugin>
265 <additionalPlugin>org.codehaus.mojo:versions-maven-plugin</additionalPlugin>
266 </additionalPlugins>
267 </requirePluginVersions>
268 </rules>
269 </configuration>
270 </execution>
271 </executions>
272 </plugin>
273 <plugin>
274 <artifactId>maven-install-plugin</artifactId>
275 <version>${install-plugin.version}</version>
276 </plugin>
277 <plugin>
278 <artifactId>maven-help-plugin</artifactId>
279 <version>${help-plugin.version}</version>
280 </plugin>
281 <plugin>
282 <artifactId>maven-jar-plugin</artifactId>
283 <version>${jar-plugin.version}</version>
284 </plugin>
285 <plugin>
286 <artifactId>maven-plugin-plugin</artifactId>
287 <version>${plugin-plugin.version}</version>
288 <executions>
289 <execution>
290 <id>help-mojo</id>
291 <goals>
292 <goal>helpmojo</goal>
293 </goals>
294 </execution>
295 </executions>
296 </plugin>
297 <plugin>
298 <artifactId>maven-pmd-plugin</artifactId>
299 <version>${pmd-plugin.version}</version>
300 <dependencies>
301 <dependency>
302 <groupId>net.sourceforge.pmd</groupId>
303 <artifactId>pmd-core</artifactId>
304 <version>${pmd.version}</version>
305 </dependency>
306 <dependency>
307 <groupId>net.sourceforge.pmd</groupId>
308 <artifactId>pmd-java</artifactId>
309 <version>${pmd.version}</version>
310 </dependency>
311 <dependency>
312 <groupId>net.sourceforge.pmd</groupId>
313 <artifactId>pmd-xml</artifactId>
314 <version>${pmd.version}</version>
315 </dependency>
316 <dependency>
317 <groupId>${project.groupId}</groupId>
318 <artifactId>buildstuffs</artifactId>
319 <version>${project.version}</version>
320 </dependency>
321 </dependencies>
322 <configuration>
323 <analysisCache>true</analysisCache>
324 <excludeRoots>
325 <excludeRoot>target/generated-sources/</excludeRoot>
326 </excludeRoots>
327 <includeTests>true</includeTests>
328 <printFailingErrors>true</printFailingErrors>
329 <rulesets>lv/enes/buildstuffs/pmd-rules.xml</rulesets>
330 </configuration>
331 </plugin>
332 <plugin>
333 <artifactId>maven-resources-plugin</artifactId>
334 <version>${resources-plugin.version}</version>
335 </plugin>
336 <plugin>
337 <artifactId>maven-site-plugin</artifactId>
338 <version>${site-plugin.version}</version>
339 </plugin>
340 <plugin>
341 <artifactId>maven-surefire-plugin</artifactId>
342 <version>${surefire-plugin.version}</version>
343 </plugin>
344 <plugin>
345 <artifactId>maven-wrapper-plugin</artifactId>
346 <version>${wrapper-plugin.version}</version>
347 </plugin>
348 <plugin>
349 <groupId>com.github.spotbugs</groupId>
350 <artifactId>spotbugs-maven-plugin</artifactId>
351 <version>${spotbugs-plugin.version}</version>
352 <configuration>
353 <excludeFilterFile>lv/enes/buildstuffs/spotbugs-exclude.xml</excludeFilterFile>
354 <plugins>
355 <plugin>
356 <groupId>com.h3xstream.findsecbugs</groupId>
357 <artifactId>findsecbugs-plugin</artifactId>
358 <version>${findsecbugs-plugin.version}</version>
359 </plugin>
360 </plugins>
361 </configuration>
362 <dependencies>
363 <dependency>
364 <groupId>${project.groupId}</groupId>
365 <artifactId>buildstuffs</artifactId>
366 <version>${project.version}</version>
367 </dependency>
368 </dependencies>
369 </plugin>
370 <plugin>
371 <groupId>lv.enes</groupId>
372 <artifactId>vocabulary-builder-plugin</artifactId>
373 <version>${enes-vocabulary-plugin.version}</version>
374 </plugin>
375 <plugin>
376 <groupId>org.codehaus.mojo</groupId>
377 <artifactId>exec-maven-plugin</artifactId>
378 <version>${exec-plugin.version}</version>
379 </plugin>
380 <plugin>
381 <groupId>org.codehaus.mojo</groupId>
382 <artifactId>versions-maven-plugin</artifactId>
383 <version>${versions-plugin.version}</version>
384 <configuration>
385 <ignoredVersions>.*-M.*,.*-RC.*,.*-alpha.*,.*-beta.*</ignoredVersions>
386 </configuration>
387 </plugin>
388 <plugin>
389 <groupId>org.jacoco</groupId>
390 <artifactId>jacoco-maven-plugin</artifactId>
391 <version>${jacoco-plugin.version}</version>
392 </plugin>
393 <plugin>
394 <groupId>org.owasp</groupId>
395 <artifactId>dependency-check-maven</artifactId>
396 <version>${owasp-plugin.version}</version>
397 <configuration>
398 <failBuildOnCVSS>7</failBuildOnCVSS>
399 </configuration>
400 </plugin>
401 </plugins>
402 </pluginManagement>
403
404 <plugins>
405 <plugin>
406 <artifactId>maven-enforcer-plugin</artifactId>
407 </plugin>
408 <plugin>
409 <artifactId>maven-site-plugin</artifactId>
410 <executions>
411 <execution>
412 <goals>
413 <goal>attach-descriptor</goal>
414 </goals>
415 </execution>
416 </executions>
417 </plugin>
418 </plugins>
419 </build>
420
421 <profiles>
422 <profile>
423 <id>env-dev</id>
424 <activation>
425 <property>
426 <name>env</name>
427 <value>!prod</value>
428 </property>
429 </activation>
430 <build>
431 <plugins>
432
433 <plugin>
434 <artifactId>maven-checkstyle-plugin</artifactId>
435 <executions>
436 <execution>
437 <goals>
438 <goal>check</goal>
439 </goals>
440 </execution>
441 </executions>
442 </plugin>
443
444 <plugin>
445 <artifactId>maven-compiler-plugin</artifactId>
446 <configuration>
447 <fork>true</fork>
448 <annotationProcessorPaths combine.children="append">
449 <path>
450 <groupId>org.checkerframework</groupId>
451 <artifactId>checker</artifactId>
452 <version>${checker.version}</version>
453 </path>
454 </annotationProcessorPaths>
455 <annotationProcessors combine.children="append">
456 <annotationProcessor>org.checkerframework.checker.nullness.NullnessChecker</annotationProcessor>
457 <annotationProcessor>org.checkerframework.checker.optional.OptionalChecker</annotationProcessor>
458 <!-- <annotationProcessor>org.checkerframework.checker.resourceleak.ResourceLeakChecker</annotationProcessor> -->
459 <annotationProcessor>org.checkerframework.checker.regex.RegexChecker</annotationProcessor>
460 <annotationProcessor>org.checkerframework.checker.formatter.FormatterChecker</annotationProcessor>
461 </annotationProcessors>
462 <compilerArgs combine.children="append">
463 <arg>-Xmaxerrs</arg>
464 <arg>10000</arg>
465 <arg>-Xmaxwarns</arg>
466 <arg>10000</arg>
467 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
468 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
469 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
470 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
471 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
472 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
473 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
474 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
475 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
476 <arg>-AskipFiles=/target/generated-sources/</arg>
477 </compilerArgs>
478 </configuration>
479 </plugin>
480
481 <plugin>
482 <artifactId>maven-pmd-plugin</artifactId>
483 <executions>
484 <execution>
485 <goals>
486 <goal>check</goal>
487 </goals>
488 </execution>
489 </executions>
490 </plugin>
491
492 <plugin>
493 <artifactId>maven-surefire-plugin</artifactId>
494 <configuration>
495 <argLine>@{argLine}</argLine>
496 </configuration>
497 </plugin>
498
499 <plugin>
500 <groupId>com.github.spotbugs</groupId>
501 <artifactId>spotbugs-maven-plugin</artifactId>
502 <executions>
503 <execution>
504 <goals>
505 <goal>check</goal>
506 </goals>
507 </execution>
508 </executions>
509 </plugin>
510
511 <plugin>
512 <groupId>org.jacoco</groupId>
513 <artifactId>jacoco-maven-plugin</artifactId>
514 <executions>
515 <execution>
516 <id>prepare-agent</id>
517 <goals>
518 <goal>prepare-agent</goal>
519 </goals>
520 </execution>
521 <execution>
522 <id>check</id>
523 <goals>
524 <goal>check</goal>
525 </goals>
526 <configuration>
527 <rules>
528 <rule>
529 <element>CLASS</element>
530 <excludes>
531 <exclude>*Exception</exclude>
532 <exclude>*Main</exclude>
533 <exclude>*Test</exclude>
534 </excludes>
535 <limits>
536 <limit>
537 <counter>INSTRUCTION</counter>
538 <value>COVEREDRATIO</value>
539 <minimum>80%</minimum>
540 </limit>
541 </limits>
542 </rule>
543 </rules>
544 </configuration>
545 </execution>
546 </executions>
547 </plugin>
548
549 </plugins>
550 </build>
551 </profile>
552
553 <profile>
554 <id>env-test</id>
555 <activation>
556 <property>
557 <name>env</name>
558 <value>test</value>
559 </property>
560 </activation>
561 <build>
562 <plugins>
563 <plugin>
564 <groupId>org.owasp</groupId>
565 <artifactId>dependency-check-maven</artifactId>
566 <configuration>
567 <nvdApiServerId>nvd.nist.gov</nvdApiServerId>
568 </configuration>
569 <executions>
570 <execution>
571 <goals>
572 <goal>check</goal>
573 </goals>
574 </execution>
575 </executions>
576 </plugin>
577 </plugins>
578 </build>
579 </profile>
580
581 <profile>
582 <id>java-preview</id>
583 <activation>
584 <property>
585 <name>java.preview</name>
586 <value>true</value>
587 </property>
588 </activation>
589 <build>
590 <plugins>
591 <plugin>
592 <artifactId>maven-surefire-plugin</artifactId>
593 <configuration>
594 <argLine>--enable-preview</argLine>
595 </configuration>
596 </plugin>
597 </plugins>
598 </build>
599 </profile>
600 </profiles>
601</project>