218 lines
7.1 KiB
XML
218 lines
7.1 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
Copyright 2008 Google LLC
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
<groupId>io.gitlab.jfronny</groupId>
|
|
<artifactId>gson-parent</artifactId>
|
|
<version>2.10.3-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<artifactId>gson</artifactId>
|
|
<name>Gson</name>
|
|
|
|
<licenses>
|
|
<license>
|
|
<name>Apache-2.0</name>
|
|
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
|
</license>
|
|
</licenses>
|
|
|
|
<properties>
|
|
<!-- Make the build reproducible, see root `pom.xml` -->
|
|
<!-- This is duplicated here because that is recommended by `artifact:check-buildplan` -->
|
|
<project.build.outputTimestamp>2023-01-01T00:00:00Z</project.build.outputTimestamp>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<!--
|
|
errorprone was removed due to JPMS:
|
|
It complained that the module didn't exist when included in module-info.java,
|
|
otherwise it complained about it existing but not being referenced.
|
|
In other words, it just didn't work.
|
|
-->
|
|
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.truth</groupId>
|
|
<artifactId>truth</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava-testlib</artifactId>
|
|
<version>33.0.0-jre</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<!--
|
|
Plugins for source generation and compilation
|
|
-->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>templating-maven-plugin</artifactId>
|
|
<version>3.0.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>filtering-java-templates</id>
|
|
<goals>
|
|
<goal>filter-sources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sourceDirectory>${project.basedir}/src/main/java-templates</sourceDirectory>
|
|
<outputDirectory>${project.build.directory}/generated-sources/java-templates</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<!-- Adjust standard `default-compile` execution -->
|
|
<execution>
|
|
<id>default-compile</id>
|
|
<configuration>
|
|
<excludes>
|
|
<!-- module-info.java is compiled using ModiTect -->
|
|
<exclude>module-info.java</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</execution>
|
|
<!-- Adjust standard `default-testCompile` execution -->
|
|
<execution>
|
|
<id>default-testCompile</id>
|
|
<phase>test-compile</phase>
|
|
<goals>
|
|
<goal>testCompile</goal>
|
|
</goals>
|
|
<configuration>
|
|
<testExcludes>
|
|
<exclude>${excludeTestCompilation}</exclude>
|
|
</testExcludes>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<source>8</source>
|
|
<target>8</target>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>biz.aQute.bnd</groupId>
|
|
<artifactId>bnd-maven-plugin</artifactId>
|
|
<version>6.4.0</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>bnd-process</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!--
|
|
Plugins for test execution
|
|
-->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<!-- Deny illegal access, this is required for ReflectionAccessTest -->
|
|
<!-- Requires Java >= 9; Important: In case future Java versions
|
|
don't support this flag anymore, don't remove it unless CI also runs with
|
|
that Java version. Ideally would use toolchain to specify that this should
|
|
run with e.g. Java 11, but Maven toolchain requirements (unlike Gradle ones)
|
|
don't seem to be portable (every developer would have to set up toolchain
|
|
configuration locally). -->
|
|
<argLine>--illegal-access=deny</argLine>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!--
|
|
Plugins for building / modifying artifacts
|
|
-->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<configuration>
|
|
<archive>
|
|
<!-- Use existing manifest generated by BND plugin -->
|
|
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<version>3.4.1</version>
|
|
<configuration>
|
|
<artifactSet>
|
|
<excludes>
|
|
<exclude>module-info.java</exclude>
|
|
</excludes>
|
|
</artifactSet>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
<configuration>
|
|
<relocations>
|
|
<relocation>
|
|
<pattern>com.google.gson</pattern>
|
|
<shadedPattern>io.gitlab.jfronny.gson</shadedPattern>
|
|
</relocation>
|
|
</relocations>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.moditect</groupId>
|
|
<artifactId>moditect-maven-plugin</artifactId>
|
|
<version>1.1.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>add-module-info</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>add-module-info</goal>
|
|
</goals>
|
|
<configuration>
|
|
<overwriteExistingFiles>true</overwriteExistingFiles>
|
|
<module>
|
|
<moduleInfoFile>src/main/java/module-info.java</moduleInfoFile>
|
|
</module>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|