blob: ee2b8a8e01a6341aada786d6a3e49d732ac856c1 [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>
76
77 <!-- Guava -->
78 <dependency>
79 <groupId>com.google.guava</groupId>
80 <artifactId>guava</artifactId>
81 </dependency>
82 </dependencies>
83
84 <build>
85 <plugins>
86 <plugin>
87 <groupId>org.apache.maven.plugins</groupId>
88 <artifactId>maven-compiler-plugin</artifactId>
89 <configuration>
90 <annotationProcessorPaths>
91 <path>
92 <groupId>info.picocli</groupId>
93 <artifactId>picocli-codegen</artifactId>
94 <version>${picocli.version}</version>
95 </path>
96 </annotationProcessorPaths>
97 <compilerArgs>
98 <arg>-Aproject=${project.groupId}/${project.artifactId}</arg>
99 </compilerArgs>
100 </configuration>
101 </plugin>
102
103 <plugin>
104 <groupId>org.apache.maven.plugins</groupId>
105 <artifactId>maven-jar-plugin</artifactId>
106 <configuration>
107 <archive>
108 <manifest>
109 <mainClass>eu.mulk.jgvariant.tool.Main</mainClass>
110 </manifest>
111 </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>
156 </archive>
157 <descriptorRefs>
158 <descriptorRef>jar-with-dependencies</descriptorRef>
159 </descriptorRefs>
160 </configuration>
161 </execution>
162 </executions>
163 </plugin>
164 </plugins>
165 </build>
166 </profile>
167
168 <profile>
169 <id>native</id>
170 <build>
171 <plugins>
172 <plugin>
173 <groupId>org.graalvm.buildtools</groupId>
174 <artifactId>native-maven-plugin</artifactId>
175 <extensions>true</extensions>
176 <executions>
177 <execution>
178 <id>build-native</id>
179 <goals>
180 <goal>compile-no-fork</goal>
181 </goals>
182 <phase>package</phase>
183 </execution>
184 <execution>
185 <id>test-native</id>
186 <goals>
187 <goal>test</goal>
188 </goals>
189 <phase>test</phase>
190 </execution>
191 </executions>
192 <configuration>
193 <debug>false</debug>
194 <fallback>false</fallback>
195 <buildArgs>
196 <arg>-O3</arg>
197 <arg>--strict-image-heap</arg>
198 </buildArgs>
199 <imageName>jgvariant</imageName>
200 </configuration>
201 </plugin>
202 </plugins>
203 </build>
204 </profile>
205
206 <profile>
207 <id>jpackage</id>
208 <build>
209 <plugins>
210 <plugin>
211 <groupId>com.github.akman</groupId>
212 <artifactId>jpackage-maven-plugin</artifactId>
213 <executions>
214 <execution>
215 <phase>package</phase>
216 <goals>
217 <goal>jpackage</goal>
218 </goals>
219 <configuration>
220 <type>IMAGE</type>
221 <module>eu.mulk.jgvariant.tool/eu.mulk.jgvariant.tool.Main</module>
222 <modulepath>
223 <dependencysets>
224 <dependencyset>
225 <includeoutput>true</includeoutput>
226 <excludeautomatic>true</excludeautomatic>
227 </dependencyset>
228 </dependencysets>
229 </modulepath>
230 </configuration>
231 </execution>
232 </executions>
233 </plugin>
234 </plugins>
235 </build>
236 </profile>
237 </profiles>
238
239</project>