1 <?xml version="1.0" encoding="UTF-8"?>
3 ~ SPDX-FileCopyrightText: The ilo Authors
4 ~ SPDX-License-Identifier: 0BSD
6 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
7 xmlns="http://maven.apache.org/POM/4.0.0"
8 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
9 <modelVersion>4.0.0</modelVersion>
11 <!-- ordering follows https://maven.apache.org/developers/conventions/code.html#POM_Code_Convention -->
13 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
15 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
16 <!-- https://maven.apache.org/pom.html#Inheritance -->
18 <groupId>wtf.metio.maven.parents</groupId>
19 <artifactId>maven-parents-java-stable</artifactId>
20 <version>2024.1.12</version>
23 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
25 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
26 <!-- https://maven.apache.org/pom.html#Maven_Coordinates -->
27 <groupId>wtf.metio.ilo</groupId>
28 <artifactId>ilo</artifactId>
29 <version>${revision}</version>
30 <packaging>jar</packaging>
32 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
34 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
35 <!-- https://maven.apache.org/pom.html#More_Project_Information -->
37 <description>ilo: manage reproducible build environments</description>
38 <url>https://ilo.projects.metio.wtf/</url>
39 <inceptionYear>2019</inceptionYear>
41 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
43 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
44 <!-- https://maven.apache.org/pom.html#SCM -->
46 <connection>scm:git:git@github.com:metio/ilo.git</connection>
47 <developerConnection>scm:git:git@github.com:metio/ilo.git</developerConnection>
49 <url>https://github.com/metio/ilo</url>
52 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
53 <!-- ISSUE MANAGEMENT -->
54 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
55 <!-- https://maven.apache.org/pom.html#Issue_Management -->
57 <system>GitHub</system>
58 <url>https://github.com/metio/ilo/issues</url>
61 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
63 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
64 <!-- https://maven.apache.org/pom.html#Properties -->
66 <revision>0.0.0-SNAPSHOT</revision>
67 <version.jdk>21</version.jdk>
68 <skipNativeBuild>true</skipNativeBuild>
69 <ilo.mainClass>wtf.metio.ilo.Ilo</ilo.mainClass>
71 <pit.mutationCoverage>65</pit.mutationCoverage>
72 <pmd.skip>true</pmd.skip>
73 <pgp.skip>true</pgp.skip>
76 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
78 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
79 <!-- https://maven.apache.org/pom.html#Dependencies -->
82 <groupId>info.picocli</groupId>
83 <artifactId>picocli</artifactId>
86 <groupId>org.junit.jupiter</groupId>
87 <artifactId>junit-jupiter-api</artifactId>
91 <groupId>org.junit.jupiter</groupId>
92 <artifactId>junit-jupiter-params</artifactId>
96 <groupId>com.tngtech.archunit</groupId>
97 <artifactId>archunit</artifactId>
101 <groupId>com.tngtech.archunit</groupId>
102 <artifactId>archunit-junit5</artifactId>
106 <groupId>com.tngtech.archunit</groupId>
107 <artifactId>archunit-junit5-api</artifactId>
111 <groupId>uk.org.webcompere</groupId>
112 <artifactId>system-stubs-core</artifactId>
116 <groupId>uk.org.webcompere</groupId>
117 <artifactId>system-stubs-jupiter</artifactId>
121 <groupId>com.google.jimfs</groupId>
122 <artifactId>jimfs</artifactId>
126 <groupId>org.slf4j</groupId>
127 <artifactId>slf4j-simple</artifactId>
131 <groupId>org.graalvm.sdk</groupId>
132 <artifactId>graal-sdk</artifactId>
133 <scope>provided</scope>
137 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
139 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
140 <!-- https://maven.apache.org/pom.html#Build -->
144 <groupId>org.apache.maven.plugins</groupId>
145 <artifactId>maven-compiler-plugin</artifactId>
147 <annotationProcessorPaths>
149 <groupId>info.picocli</groupId>
150 <artifactId>picocli-codegen</artifactId>
151 <version>4.7.5</version>
153 </annotationProcessorPaths>
155 <arg>-Aproject=${project.groupId}/${project.artifactId}</arg>
160 <groupId>org.apache.maven.plugins</groupId>
161 <artifactId>maven-jar-plugin</artifactId>
166 <addClasspath>true</addClasspath>
167 <classpathPrefix>lib</classpathPrefix>
168 <mainClass>${ilo.mainClass}</mainClass>
169 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
170 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
176 <groupId>org.codehaus.mojo</groupId>
177 <artifactId>templating-maven-plugin</artifactId>
182 <goal>filter-sources</goal>
188 <groupId>org.graalvm.buildtools</groupId>
189 <artifactId>native-maven-plugin</artifactId>
190 <extensions>true</extensions>
193 <id>build-native</id>
195 <goal>compile-no-fork</goal>
197 <phase>package</phase>
199 <imageName>ilo</imageName>
200 <mainClass>${ilo.mainClass}</mainClass>
201 <skipNativeBuild>${skipNativeBuild}</skipNativeBuild>
207 <groupId>org.codehaus.mojo</groupId>
208 <artifactId>appassembler-maven-plugin</artifactId>
211 <phase>package</phase>
213 <goal>assemble</goal>
218 <licenseHeaderFile>${project.basedir}/src/assembly/licenseHeaderFile</licenseHeaderFile>
219 <repositoryName>lib</repositoryName>
220 <repositoryLayout>flat</repositoryLayout>
223 <mainClass>${ilo.mainClass}</mainClass>
230 <groupId>org.apache.maven.plugins</groupId>
231 <artifactId>maven-assembly-plugin</artifactId>
234 <id>jre-assembly</id>
235 <phase>package</phase>
241 <descriptor>${project.basedir}/src/assembly/jvm.xml</descriptor>
248 <groupId>net.nicoulaj.maven.plugins</groupId>
249 <artifactId>checksum-maven-plugin</artifactId>
253 <goal>artifacts</goal>
259 <algorithm>SHA-256</algorithm>
260 <algorithm>SHA-512</algorithm>
265 <groupId>org.codehaus.mojo</groupId>
266 <artifactId>exec-maven-plugin</artifactId>
269 <id>generateManPages</id>
270 <phase>process-classes</phase>
277 <includeProjectDependencies>true</includeProjectDependencies>
278 <includePluginDependencies>true</includePluginDependencies>
279 <mainClass>picocli.codegen.docgen.manpage.ManPageGenerator</mainClass>
281 <argument>--outdir=${project.build.directory}/generated-picocli-docs</argument>
282 <argument>wtf.metio.ilo.shell.ShellCommand</argument>
287 <groupId>info.picocli</groupId>
288 <artifactId>picocli-codegen</artifactId>
289 <version>4.7.5</version>
295 <groupId>org.asciidoctor</groupId>
296 <artifactId>asciidoctor-maven-plugin</artifactId>
300 <phase>process-classes</phase>
302 <goal>process-asciidoc</goal>
305 <backend>html5</backend>
309 <id>output-manpage</id>
310 <phase>process-classes</phase>
312 <goal>process-asciidoc</goal>
315 <backend>manpage</backend>
320 <sourceDirectory>${project.build.directory}/generated-picocli-docs</sourceDirectory>
324 <groupId>org.jacoco</groupId>
325 <artifactId>jacoco-maven-plugin</artifactId>
328 <id>prepare-coverage-agent</id>
330 <goal>prepare-agent</goal>
334 <id>check-coverage</id>
341 <element>BUNDLE</element>
343 <exclude>*Test</exclude>
347 <counter>INSTRUCTION</counter>
348 <value>COVEREDRATIO</value>
349 <minimum>0.75</minimum>
352 <counter>CLASS</counter>
353 <value>MISSEDCOUNT</value>
372 <groupId>org.simplify4u.plugins</groupId>
373 <artifactId>sign-maven-plugin</artifactId>
374 <version>1.0.1</version>
387 <id>native-linux</id>
390 <name>skipNativeBuild</name>
394 <family>unix</family>
400 <groupId>org.apache.maven.plugins</groupId>
401 <artifactId>maven-assembly-plugin</artifactId>
404 <id>native-assembly</id>
405 <phase>package</phase>
411 <descriptor>src/assembly/linux.xml</descriptor>
424 <name>skipNativeBuild</name>
434 <groupId>org.apache.maven.plugins</groupId>
435 <artifactId>maven-assembly-plugin</artifactId>
438 <id>native-assembly</id>
439 <phase>package</phase>
445 <descriptor>src/assembly/mac.xml</descriptor>
455 <id>native-windows</id>
458 <name>skipNativeBuild</name>
462 <family>windows</family>
468 <groupId>org.apache.maven.plugins</groupId>
469 <artifactId>maven-assembly-plugin</artifactId>
472 <id>native-assembly</id>
473 <phase>package</phase>
479 <descriptor>src/assembly/windows.xml</descriptor>