blob: 9d764dc2ceb374eb19bcf2c30833bf5bc947e3b4 [file] [log] [blame]
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +01001<?xml version="1.0" encoding="UTF-8"?>
2
3<!--
4SPDX-FileCopyrightText: © 2023 Matthias Andreas Benkard <code@mail.matthias.benkard.de>
5
6SPDX-License-Identifier: GPL-3.0-or-later
7-->
8
9<project
10 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
11 xmlns="http://maven.apache.org/POM/4.0.0"
12 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
13
14 <modelVersion>4.0.0</modelVersion>
15
Matthias Andreas Benkard7a038212024-03-02 21:34:04 +010016 <version>0.1.10-SNAPSHOT</version>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +010017
18 <artifactId>jgvariant-tool</artifactId>
19 <packaging>jar</packaging>
20
21 <name>JGVariant Command Line Tool</name>
22 <url>https://gerrit.benkard.de/plugins/gitiles/jgvariant</url>
23
24 <description>
25 GVariant command line tool.
26 </description>
27
28 <parent>
29 <groupId>eu.mulk.jgvariant</groupId>
30 <artifactId>jgvariant-parent</artifactId>
Matthias Andreas Benkard7a038212024-03-02 21:34:04 +010031 <version>0.1.10-SNAPSHOT</version>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +010032 <relativePath>../jgvariant-parent/pom.xml</relativePath>
33 </parent>
34
35 <dependencies>
36 <!-- JGVariant -->
37 <dependency>
38 <groupId>eu.mulk.jgvariant</groupId>
39 <artifactId>jgvariant-core</artifactId>
Matthias Andreas Benkard7a038212024-03-02 21:34:04 +010040 <version>0.1.10-SNAPSHOT</version>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +010041 </dependency>
42 <dependency>
43 <groupId>eu.mulk.jgvariant</groupId>
44 <artifactId>jgvariant-ostree</artifactId>
Matthias Andreas Benkard7a038212024-03-02 21:34:04 +010045 <version>0.1.10-SNAPSHOT</version>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +010046 </dependency>
47
48 <!-- Annotations -->
49 <dependency>
50 <groupId>com.google.errorprone</groupId>
51 <artifactId>error_prone_annotations</artifactId>
52 <scope>provided</scope>
Matthias Andreas Benkard6f2e5bf2024-03-02 21:49:26 +010053 <optional>true</optional>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +010054 </dependency>
55 <dependency>
56 <groupId>org.jetbrains</groupId>
57 <artifactId>annotations</artifactId>
58 <scope>provided</scope>
Matthias Andreas Benkard6f2e5bf2024-03-02 21:49:26 +010059 <optional>true</optional>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +010060 </dependency>
61 <dependency>
Matthias Andreas Benkard15456c82024-07-20 10:52:54 +020062 <groupId>org.jspecify</groupId>
63 <artifactId>jspecify</artifactId>
64 <scope>provided</scope>
65 <optional>true</optional>
66 </dependency>
67 <dependency>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +010068 <groupId>org.apiguardian</groupId>
69 <artifactId>apiguardian-api</artifactId>
70 <scope>provided</scope>
Matthias Andreas Benkard6f2e5bf2024-03-02 21:49:26 +010071 <optional>true</optional>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +010072 </dependency>
73
74 <!-- Command line tooling -->
75 <dependency>
76 <groupId>info.picocli</groupId>
77 <artifactId>picocli</artifactId>
78 </dependency>
79
80 <!-- JSON -->
81 <dependency>
82 <groupId>org.eclipse</groupId>
83 <artifactId>yasson</artifactId>
84 </dependency>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +010085 </dependencies>
86
87 <build>
88 <plugins>
89 <plugin>
90 <groupId>org.apache.maven.plugins</groupId>
91 <artifactId>maven-compiler-plugin</artifactId>
92 <configuration>
93 <annotationProcessorPaths>
94 <path>
95 <groupId>info.picocli</groupId>
96 <artifactId>picocli-codegen</artifactId>
97 <version>${picocli.version}</version>
98 </path>
99 </annotationProcessorPaths>
100 <compilerArgs>
101 <arg>-Aproject=${project.groupId}/${project.artifactId}</arg>
102 </compilerArgs>
103 </configuration>
104 </plugin>
105
106 <plugin>
107 <groupId>org.apache.maven.plugins</groupId>
108 <artifactId>maven-jar-plugin</artifactId>
109 <configuration>
110 <archive>
111 <manifest>
112 <mainClass>eu.mulk.jgvariant.tool.Main</mainClass>
113 </manifest>
Matthias Andreas Benkard04a5ce12023-12-07 19:36:24 +0100114 <manifestEntries>
115 <Multi-Release>true</Multi-Release>
116 </manifestEntries>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +0100117 </archive>
118 </configuration>
119 </plugin>
120 </plugins>
121 </build>
122
123 <profiles>
124 <profile>
125 <id>shade</id>
126 <build>
127 <plugins>
128 <plugin>
129 <groupId>org.apache.maven.plugins</groupId>
130 <artifactId>maven-shade-plugin</artifactId>
131 <executions>
132 <execution>
133 <phase>package</phase>
134 <goals>
135 <goal>shade</goal>
136 </goals>
137 </execution>
138 </executions>
139 </plugin>
140 </plugins>
141 </build>
142 </profile>
143
144 <profile>
145 <id>uberjar</id>
146 <build>
147 <plugins>
148 <plugin>
149 <groupId>org.apache.maven.plugins</groupId>
150 <artifactId>maven-assembly-plugin</artifactId>
151 <executions>
152 <execution>
153 <phase>package</phase>
154 <goals>
155 <goal>single</goal>
156 </goals>
157 <configuration>
158 <archive>
159 <manifest>
160 <mainClass>eu.mulk.jgvariant.tool.Main</mainClass>
161 </manifest>
Matthias Andreas Benkard04a5ce12023-12-07 19:36:24 +0100162 <manifestEntries>
163 <Multi-Release>true</Multi-Release>
164 </manifestEntries>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +0100165 </archive>
166 <descriptorRefs>
167 <descriptorRef>jar-with-dependencies</descriptorRef>
168 </descriptorRefs>
169 </configuration>
170 </execution>
171 </executions>
172 </plugin>
173 </plugins>
174 </build>
175 </profile>
176
177 <profile>
178 <id>native</id>
179 <build>
180 <plugins>
181 <plugin>
182 <groupId>org.graalvm.buildtools</groupId>
183 <artifactId>native-maven-plugin</artifactId>
184 <extensions>true</extensions>
185 <executions>
186 <execution>
187 <id>build-native</id>
188 <goals>
189 <goal>compile-no-fork</goal>
190 </goals>
191 <phase>package</phase>
192 </execution>
193 <execution>
194 <id>test-native</id>
195 <goals>
196 <goal>test</goal>
197 </goals>
198 <phase>test</phase>
199 </execution>
200 </executions>
201 <configuration>
202 <debug>false</debug>
203 <fallback>false</fallback>
204 <buildArgs>
205 <arg>-O3</arg>
206 <arg>--strict-image-heap</arg>
207 </buildArgs>
208 <imageName>jgvariant</imageName>
209 </configuration>
210 </plugin>
211 </plugins>
212 </build>
213 </profile>
214
215 <profile>
216 <id>jpackage</id>
217 <build>
218 <plugins>
219 <plugin>
220 <groupId>com.github.akman</groupId>
221 <artifactId>jpackage-maven-plugin</artifactId>
222 <executions>
223 <execution>
224 <phase>package</phase>
225 <goals>
226 <goal>jpackage</goal>
227 </goals>
228 <configuration>
229 <type>IMAGE</type>
230 <module>eu.mulk.jgvariant.tool/eu.mulk.jgvariant.tool.Main</module>
231 <modulepath>
232 <dependencysets>
233 <dependencyset>
234 <includeoutput>true</includeoutput>
235 <excludeautomatic>true</excludeautomatic>
236 </dependencyset>
237 </dependencysets>
238 </modulepath>
239 </configuration>
240 </execution>
241 </executions>
242 </plugin>
243 </plugins>
244 </build>
245 </profile>
Matthias Andreas Benkard40bd44a2023-12-05 21:48:46 +0100246
247 <profile>
248 <id>exec</id>
249 <build>
250 <plugins>
251 <plugin>
252 <groupId>org.codehaus.mojo</groupId>
253 <artifactId>exec-maven-plugin</artifactId>
254 <executions>
255 <execution>
256 <phase>verify</phase>
257 <goals>
258 <goal>java</goal>
259 </goals>
260 </execution>
261 </executions>
262 <configuration>
263 <mainClass>eu.mulk.jgvariant.tool.Main</mainClass>
264 <arguments/>
265 </configuration>
266 </plugin>
267 </plugins>
268 </build>
269 </profile>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +0100270 </profiles>
271
272</project>