diff options
Diffstat (limited to 'jgvariant-tool/pom.xml')
-rw-r--r-- | jgvariant-tool/pom.xml | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/jgvariant-tool/pom.xml b/jgvariant-tool/pom.xml new file mode 100644 index 0000000..ee2b8a8 --- /dev/null +++ b/jgvariant-tool/pom.xml @@ -0,0 +1,239 @@ +<?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.8-SNAPSHOT</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.8-SNAPSHOT</version> + <relativePath>../jgvariant-parent/pom.xml</relativePath> + </parent> + + <dependencies> + <!-- JGVariant --> + <dependency> + <groupId>eu.mulk.jgvariant</groupId> + <artifactId>jgvariant-core</artifactId> + <version>0.1.8-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>eu.mulk.jgvariant</groupId> + <artifactId>jgvariant-ostree</artifactId> + <version>0.1.8-SNAPSHOT</version> + </dependency> + + <!-- Annotations --> + <dependency> + <groupId>com.google.errorprone</groupId> + <artifactId>error_prone_annotations</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.jetbrains</groupId> + <artifactId>annotations</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apiguardian</groupId> + <artifactId>apiguardian-api</artifactId> + <scope>provided</scope> + </dependency> + + <!-- Command line tooling --> + <dependency> + <groupId>info.picocli</groupId> + <artifactId>picocli</artifactId> + </dependency> + + <!-- JSON --> + <dependency> + <groupId>org.eclipse</groupId> + <artifactId>yasson</artifactId> + </dependency> + + <!-- Guava --> + <dependency> + <groupId>com.google.guava</groupId> + <artifactId>guava</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> + </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> + </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> + </profiles> + +</project> |