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