blob: f4026e41df5b2c061406465c0c915cc56a50b5a9 [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>
62 <groupId>org.apiguardian</groupId>
63 <artifactId>apiguardian-api</artifactId>
64 <scope>provided</scope>
Matthias Andreas Benkard6f2e5bf2024-03-02 21:49:26 +010065 <optional>true</optional>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +010066 </dependency>
67
68 <!-- Command line tooling -->
69 <dependency>
70 <groupId>info.picocli</groupId>
71 <artifactId>picocli</artifactId>
72 </dependency>
73
74 <!-- JSON -->
75 <dependency>
76 <groupId>org.eclipse</groupId>
77 <artifactId>yasson</artifactId>
78 </dependency>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +010079 </dependencies>
80
81 <build>
82 <plugins>
83 <plugin>
84 <groupId>org.apache.maven.plugins</groupId>
85 <artifactId>maven-compiler-plugin</artifactId>
86 <configuration>
87 <annotationProcessorPaths>
88 <path>
89 <groupId>info.picocli</groupId>
90 <artifactId>picocli-codegen</artifactId>
91 <version>${picocli.version}</version>
92 </path>
93 </annotationProcessorPaths>
94 <compilerArgs>
95 <arg>-Aproject=${project.groupId}/${project.artifactId}</arg>
96 </compilerArgs>
97 </configuration>
98 </plugin>
99
100 <plugin>
101 <groupId>org.apache.maven.plugins</groupId>
102 <artifactId>maven-jar-plugin</artifactId>
103 <configuration>
104 <archive>
105 <manifest>
106 <mainClass>eu.mulk.jgvariant.tool.Main</mainClass>
107 </manifest>
Matthias Andreas Benkard04a5ce12023-12-07 19:36:24 +0100108 <manifestEntries>
109 <Multi-Release>true</Multi-Release>
110 </manifestEntries>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +0100111 </archive>
112 </configuration>
113 </plugin>
114 </plugins>
115 </build>
116
117 <profiles>
118 <profile>
119 <id>shade</id>
120 <build>
121 <plugins>
122 <plugin>
123 <groupId>org.apache.maven.plugins</groupId>
124 <artifactId>maven-shade-plugin</artifactId>
125 <executions>
126 <execution>
127 <phase>package</phase>
128 <goals>
129 <goal>shade</goal>
130 </goals>
131 </execution>
132 </executions>
133 </plugin>
134 </plugins>
135 </build>
136 </profile>
137
138 <profile>
139 <id>uberjar</id>
140 <build>
141 <plugins>
142 <plugin>
143 <groupId>org.apache.maven.plugins</groupId>
144 <artifactId>maven-assembly-plugin</artifactId>
145 <executions>
146 <execution>
147 <phase>package</phase>
148 <goals>
149 <goal>single</goal>
150 </goals>
151 <configuration>
152 <archive>
153 <manifest>
154 <mainClass>eu.mulk.jgvariant.tool.Main</mainClass>
155 </manifest>
Matthias Andreas Benkard04a5ce12023-12-07 19:36:24 +0100156 <manifestEntries>
157 <Multi-Release>true</Multi-Release>
158 </manifestEntries>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +0100159 </archive>
160 <descriptorRefs>
161 <descriptorRef>jar-with-dependencies</descriptorRef>
162 </descriptorRefs>
163 </configuration>
164 </execution>
165 </executions>
166 </plugin>
167 </plugins>
168 </build>
169 </profile>
170
171 <profile>
172 <id>native</id>
173 <build>
174 <plugins>
175 <plugin>
176 <groupId>org.graalvm.buildtools</groupId>
177 <artifactId>native-maven-plugin</artifactId>
178 <extensions>true</extensions>
179 <executions>
180 <execution>
181 <id>build-native</id>
182 <goals>
183 <goal>compile-no-fork</goal>
184 </goals>
185 <phase>package</phase>
186 </execution>
187 <execution>
188 <id>test-native</id>
189 <goals>
190 <goal>test</goal>
191 </goals>
192 <phase>test</phase>
193 </execution>
194 </executions>
195 <configuration>
196 <debug>false</debug>
197 <fallback>false</fallback>
198 <buildArgs>
199 <arg>-O3</arg>
200 <arg>--strict-image-heap</arg>
201 </buildArgs>
202 <imageName>jgvariant</imageName>
203 </configuration>
204 </plugin>
205 </plugins>
206 </build>
207 </profile>
208
209 <profile>
210 <id>jpackage</id>
211 <build>
212 <plugins>
213 <plugin>
214 <groupId>com.github.akman</groupId>
215 <artifactId>jpackage-maven-plugin</artifactId>
216 <executions>
217 <execution>
218 <phase>package</phase>
219 <goals>
220 <goal>jpackage</goal>
221 </goals>
222 <configuration>
223 <type>IMAGE</type>
224 <module>eu.mulk.jgvariant.tool/eu.mulk.jgvariant.tool.Main</module>
225 <modulepath>
226 <dependencysets>
227 <dependencyset>
228 <includeoutput>true</includeoutput>
229 <excludeautomatic>true</excludeautomatic>
230 </dependencyset>
231 </dependencysets>
232 </modulepath>
233 </configuration>
234 </execution>
235 </executions>
236 </plugin>
237 </plugins>
238 </build>
239 </profile>
Matthias Andreas Benkard40bd44a2023-12-05 21:48:46 +0100240
241 <profile>
242 <id>exec</id>
243 <build>
244 <plugins>
245 <plugin>
246 <groupId>org.codehaus.mojo</groupId>
247 <artifactId>exec-maven-plugin</artifactId>
248 <executions>
249 <execution>
250 <phase>verify</phase>
251 <goals>
252 <goal>java</goal>
253 </goals>
254 </execution>
255 </executions>
256 <configuration>
257 <mainClass>eu.mulk.jgvariant.tool.Main</mainClass>
258 <arguments/>
259 </configuration>
260 </plugin>
261 </plugins>
262 </build>
263 </profile>
Matthias Andreas Benkarda1e84432023-12-05 21:12:16 +0100264 </profiles>
265
266</project>