| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <!-- |
| SPDX-FileCopyrightText: © 2023 Matthias Andreas Benkard <code@mail.matthias.benkard.de> |
| |
| SPDX-License-Identifier: GPL-3.0-or-later |
| --> |
| |
| <project |
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" |
| xmlns="http://maven.apache.org/POM/4.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
| |
| <modelVersion>4.0.0</modelVersion> |
| |
| <version>0.1.10</version> |
| |
| <artifactId>jgvariant-tool</artifactId> |
| <packaging>jar</packaging> |
| |
| <name>JGVariant Command Line Tool</name> |
| <url>https://gerrit.benkard.de/plugins/gitiles/jgvariant</url> |
| |
| <description> |
| GVariant command line tool. |
| </description> |
| |
| <parent> |
| <groupId>eu.mulk.jgvariant</groupId> |
| <artifactId>jgvariant-parent</artifactId> |
| <version>0.1.10</version> |
| <relativePath>../jgvariant-parent/pom.xml</relativePath> |
| </parent> |
| |
| <dependencies> |
| <!-- JGVariant --> |
| <dependency> |
| <groupId>eu.mulk.jgvariant</groupId> |
| <artifactId>jgvariant-core</artifactId> |
| <version>0.1.10</version> |
| </dependency> |
| <dependency> |
| <groupId>eu.mulk.jgvariant</groupId> |
| <artifactId>jgvariant-ostree</artifactId> |
| <version>0.1.10</version> |
| </dependency> |
| |
| <!-- Annotations --> |
| <dependency> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>error_prone_annotations</artifactId> |
| <scope>provided</scope> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>org.jspecify</groupId> |
| <artifactId>jspecify</artifactId> |
| <scope>provided</scope> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>org.apiguardian</groupId> |
| <artifactId>apiguardian-api</artifactId> |
| <scope>provided</scope> |
| <optional>true</optional> |
| </dependency> |
| |
| <!-- Command line tooling --> |
| <dependency> |
| <groupId>info.picocli</groupId> |
| <artifactId>picocli</artifactId> |
| </dependency> |
| |
| <!-- JSON --> |
| <dependency> |
| <groupId>org.eclipse</groupId> |
| <artifactId>yasson</artifactId> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <annotationProcessorPaths> |
| <path> |
| <groupId>info.picocli</groupId> |
| <artifactId>picocli-codegen</artifactId> |
| <version>${picocli.version}</version> |
| </path> |
| </annotationProcessorPaths> |
| <compilerArgs> |
| <arg>-Aproject=${project.groupId}/${project.artifactId}</arg> |
| </compilerArgs> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <configuration> |
| <archive> |
| <manifest> |
| <mainClass>eu.mulk.jgvariant.tool.Main</mainClass> |
| </manifest> |
| <manifestEntries> |
| <Multi-Release>true</Multi-Release> |
| </manifestEntries> |
| </archive> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>shade</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>uberjar</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| <configuration> |
| <archive> |
| <manifest> |
| <mainClass>eu.mulk.jgvariant.tool.Main</mainClass> |
| </manifest> |
| <manifestEntries> |
| <Multi-Release>true</Multi-Release> |
| </manifestEntries> |
| </archive> |
| <descriptorRefs> |
| <descriptorRef>jar-with-dependencies</descriptorRef> |
| </descriptorRefs> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>native</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.graalvm.buildtools</groupId> |
| <artifactId>native-maven-plugin</artifactId> |
| <extensions>true</extensions> |
| <executions> |
| <execution> |
| <id>build-native</id> |
| <goals> |
| <goal>compile-no-fork</goal> |
| </goals> |
| <phase>package</phase> |
| </execution> |
| <execution> |
| <id>test-native</id> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <phase>test</phase> |
| </execution> |
| </executions> |
| <configuration> |
| <debug>false</debug> |
| <fallback>false</fallback> |
| <buildArgs> |
| <arg>-O3</arg> |
| <arg>--strict-image-heap</arg> |
| </buildArgs> |
| <imageName>jgvariant</imageName> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>jpackage</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.github.akman</groupId> |
| <artifactId>jpackage-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>jpackage</goal> |
| </goals> |
| <configuration> |
| <type>IMAGE</type> |
| <module>eu.mulk.jgvariant.tool/eu.mulk.jgvariant.tool.Main</module> |
| <modulepath> |
| <dependencysets> |
| <dependencyset> |
| <includeoutput>true</includeoutput> |
| <excludeautomatic>true</excludeautomatic> |
| </dependencyset> |
| </dependencysets> |
| </modulepath> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>exec</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>verify</phase> |
| <goals> |
| <goal>java</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <mainClass>eu.mulk.jgvariant.tool.Main</mainClass> |
| <arguments/> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| </project> |