fanfa
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Mon Jun 01 18:20:39 GMT-03:00 2026
|
||||
gson-parent-2.13.2.pom>central=
|
||||
@@ -0,0 +1,612 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright 2015 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" child.project.url.inherit.append.path="false">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson-parent</artifactId>
|
||||
<version>2.13.2</version>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<name>Gson Parent</name>
|
||||
<description>Gson JSON library</description>
|
||||
<url>https://github.com/google/gson</url>
|
||||
|
||||
<modules>
|
||||
<module>gson</module>
|
||||
<module>test-jpms</module>
|
||||
<module>test-graal-native-image</module>
|
||||
<module>test-shrinker</module>
|
||||
<module>extras</module>
|
||||
<module>metrics</module>
|
||||
<module>proto</module>
|
||||
</modules>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.release>8</maven.compiler.release>
|
||||
<maven.compiler.testRelease>11</maven.compiler.testRelease>
|
||||
|
||||
<!-- Make the build reproducible, see https://maven.apache.org/guides/mini/guide-reproducible-builds.html -->
|
||||
<!-- Automatically updated by Maven Release Plugin -->
|
||||
<project.build.outputTimestamp>2025-09-10T20:37:36Z</project.build.outputTimestamp>
|
||||
|
||||
<!-- These properties are to be overwritten by the Maven modules -->
|
||||
<!-- Whether this module is an integration test module -->
|
||||
<gson.isTestModule>false</gson.isTestModule>
|
||||
<!-- Whether this module is internal and currently not deployed -->
|
||||
<gson.isInternalModule>${gson.isTestModule}</gson.isInternalModule>
|
||||
</properties>
|
||||
|
||||
<!-- These attributes specify that the URLs should be inherited by the modules as is, to avoid constructing
|
||||
invalid URLs, see also https://maven.apache.org/ref/3.9.1/maven-model-builder/index.html#inheritance-assembly -->
|
||||
<scm child.scm.url.inherit.append.path="false" child.scm.connection.inherit.append.path="false" child.scm.developerConnection.inherit.append.path="false">
|
||||
<url>https://github.com/google/gson/</url>
|
||||
<connection>scm:git:https://github.com/google/gson.git</connection>
|
||||
<developerConnection>scm:git:git@github.com:google/gson.git</developerConnection>
|
||||
<tag>gson-parent-2.13.2</tag>
|
||||
</scm>
|
||||
|
||||
<distributionManagement>
|
||||
<snapshotRepository>
|
||||
<id>sonatype-nexus-snapshots</id>
|
||||
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
|
||||
</snapshotRepository>
|
||||
</distributionManagement>
|
||||
|
||||
<developers>
|
||||
<developer>
|
||||
<id>google</id>
|
||||
<organization>Google</organization>
|
||||
<organizationUrl>https://www.google.com</organizationUrl>
|
||||
</developer>
|
||||
</developers>
|
||||
|
||||
<issueManagement>
|
||||
<system>GitHub Issues</system>
|
||||
<url>https://github.com/google/gson/issues</url>
|
||||
</issueManagement>
|
||||
|
||||
<licenses>
|
||||
<license>
|
||||
<name>Apache-2.0</name>
|
||||
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
</license>
|
||||
</licenses>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.13.2</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.google.truth</groupId>
|
||||
<artifactId>truth</artifactId>
|
||||
<version>1.4.4</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-enforcer-plugin</artifactId>
|
||||
<version>3.6.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>enforce-versions</id>
|
||||
<goals>
|
||||
<goal>enforce</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<rules>
|
||||
<requireMavenVersion>
|
||||
<!-- Usage of `.mvn/jvm.config` for Error Prone requires at least Maven 3.3.1 -->
|
||||
<version>[3.3.1,)</version>
|
||||
</requireMavenVersion>
|
||||
|
||||
<!-- Enforce that correct JDK version is used to avoid cryptic build errors -->
|
||||
<requireJavaVersion>
|
||||
<!-- Other plugins of this build require at least JDK 11 -->
|
||||
<!-- Disallow newer JDK versions; they might introduce new lints, drop support for
|
||||
older compiler Java target versions or cause issues for some Maven plugins -->
|
||||
<version>[11,22)</version>
|
||||
</requireJavaVersion>
|
||||
</rules>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<!-- Spotless plugin: keeps the code formatted following the google-java-styleguide -->
|
||||
<plugin>
|
||||
<groupId>com.diffplug.spotless</groupId>
|
||||
<artifactId>spotless-maven-plugin</artifactId>
|
||||
<version>2.46.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>check</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<!-- Note: The configuration here is not specific to the `<execution>` above to allow users to run
|
||||
`mvn spotless:apply` from the command line, using the same configuration -->
|
||||
<configuration>
|
||||
<!-- Perform some basic formatting for non-Java code -->
|
||||
<formats>
|
||||
<format>
|
||||
<includes>
|
||||
<include>*.md</include>
|
||||
<include>*.xml</include>
|
||||
<include>.github/**/*.yml</include>
|
||||
<include>.gitignore</include>
|
||||
</includes>
|
||||
<!-- For Markdown files removing trailing whitespace causes issues for hard line breaks,
|
||||
which use two trailing spaces. However, the trailing spaces are difficult to notice anyway;
|
||||
prefer a trailing `\` instead of two spaces. -->
|
||||
<trimTrailingWhitespace />
|
||||
<endWithNewline />
|
||||
<indent>
|
||||
<spaces>true</spaces>
|
||||
<!-- This seems to mostly (or only?) affect the suggested fix in case code contains tabs -->
|
||||
<spacesPerTab>2</spacesPerTab>
|
||||
</indent>
|
||||
</format>
|
||||
</formats>
|
||||
|
||||
<java>
|
||||
<excludes>
|
||||
<!-- Exclude classes which need Java 17 for compilation; Google Java Format internally relies on javac,
|
||||
so formatting will fail if build is executed with JDK 11 -->
|
||||
<exclude>src/test/java/com/google/gson/functional/Java17RecordTest.java</exclude>
|
||||
<exclude>src/test/java/com/google/gson/native_test/Java17RecordReflectionTest.java</exclude>
|
||||
</excludes>
|
||||
<googleJavaFormat>
|
||||
<style>GOOGLE</style>
|
||||
<reflowLongStrings>true</reflowLongStrings>
|
||||
<reorderImports>true</reorderImports>
|
||||
<formatJavadoc>true</formatJavadoc>
|
||||
</googleJavaFormat>
|
||||
<formatAnnotations /> <!-- Puts type annotations immediately before types. -->
|
||||
</java>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<!-- Attaches a `.buildinfo` file which contains information for reproducing the build,
|
||||
such as OS, JDK version, ...
|
||||
Since this is a multi-module Maven project, only one aggregated file will be created for
|
||||
the last module, see the note on https://maven.apache.org/plugins/maven-artifact-plugin/usage.html#recording-buildinfo-file -->
|
||||
<!-- The other goals of this plugin are run by the GitHub workflow to verify that
|
||||
the build is reproducible (see `artifact:...` usage in the workflow) -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-artifact-plugin</artifactId>
|
||||
<version>3.6.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<!-- This logs a warning about `source.scm.tag=HEAD`, but this can be ignored;
|
||||
during release Maven Release Plugin temporarily changes the `source.scm.tag`
|
||||
value to the actual Git tag, which will then not cause a warning -->
|
||||
<goal>buildinfo</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.14.0</version>
|
||||
<configuration>
|
||||
<showWarnings>true</showWarnings>
|
||||
<showDeprecation>true</showDeprecation>
|
||||
<failOnWarning>true</failOnWarning>
|
||||
<compilerArgs>
|
||||
<!-- Args related to Error Prone, see: https://errorprone.info/docs/installation#maven -->
|
||||
<arg>-XDcompilePolicy=simple</arg>
|
||||
<arg>--should-stop=ifError=FLOW</arg>
|
||||
<arg>-Xplugin:ErrorProne
|
||||
-XepExcludedPaths:.*/generated-test-sources/protobuf/.*
|
||||
-Xep:NotJavadoc:OFF <!-- Triggered by local class. -->
|
||||
<!-- Increase severity from 'suggestion' to 'warning' so that the user has to fix
|
||||
found issues, and they are not overlooked
|
||||
TODO: Does not work properly yet, see https://github.com/google/error-prone/issues/4206,
|
||||
so for now have to manually set them to `:WARN` -->
|
||||
-XepAllSuggestionsAsWarnings
|
||||
<!-- Enable some experimental checks which are disabled by default
|
||||
In case they cause issues or are unreliable turn them off by adding `:OFF`,
|
||||
and add a comment mentioning why they were disabled -->
|
||||
-Xep:AnnotationPosition <!-- required by style guide -->
|
||||
-Xep:AssertFalse
|
||||
-Xep:ClassName <!-- required by style guide -->
|
||||
-Xep:ClassNamedLikeTypeParameter:WARN
|
||||
-Xep:ComparisonContractViolated
|
||||
-Xep:ConstantField:WARN <!-- required by style guide -->
|
||||
-Xep:DepAnn
|
||||
-Xep:DifferentNameButSame
|
||||
-Xep:EmptyIf
|
||||
-Xep:EqualsBrokenForNull
|
||||
-Xep:ForEachIterable:WARN
|
||||
-Xep:FunctionalInterfaceClash
|
||||
-Xep:InitializeInline
|
||||
-Xep:InterfaceWithOnlyStatics
|
||||
-Xep:LambdaFunctionalInterface:WARN <!-- only relevant for test code at the moment, which uses Java 11 -->
|
||||
-Xep:LongLiteralLowerCaseSuffix <!-- required by style guide -->
|
||||
-Xep:MemberName <!-- required by style guide -->
|
||||
-Xep:MissingBraces:WARN
|
||||
-Xep:MissingDefault <!-- required by style guide -->
|
||||
-Xep:MixedArrayDimensions:WARN <!-- required by style guide -->
|
||||
-Xep:MultiVariableDeclaration:WARN <!-- required by style guide -->
|
||||
-Xep:MultipleTopLevelClasses:WARN <!-- required by style guide -->
|
||||
-Xep:NonCanonicalStaticMemberImport
|
||||
-Xep:NonFinalStaticField
|
||||
-Xep:PackageLocation:WARN
|
||||
-Xep:PatternMatchingInstanceof:OFF <!-- disabled: requires Java 16 -->
|
||||
-Xep:PrimitiveArrayPassedToVarargsMethod
|
||||
-Xep:PrivateConstructorForUtilityClass:WARN
|
||||
-Xep:RemoveUnusedImports:WARN
|
||||
-Xep:StatementSwitchToExpressionSwitch:OFF <!-- disabled: requires Java 14 -->
|
||||
-Xep:StaticQualifiedUsingExpression <!-- required by style guide -->
|
||||
-Xep:StringConcatToTextBlock:OFF <!-- disabled: requires Java 15 -->
|
||||
-Xep:SwitchDefault:WARN
|
||||
-Xep:SystemExitOutsideMain
|
||||
-Xep:SystemOut
|
||||
-Xep:TestExceptionChecker
|
||||
-Xep:ThrowSpecificExceptions:OFF <!-- disabled: Gson has no proper exception hierarchy yet, see https://github.com/google/gson/issues/2359 -->
|
||||
-Xep:TryFailRefactoring:OFF <!-- disabled: there are too many tests which violate this -->
|
||||
-Xep:TypeParameterNaming:WARN <!-- required by style guide -->
|
||||
-Xep:UnescapedEntity
|
||||
-Xep:UngroupedOverloads:WARN <!-- required by style guide -->
|
||||
-Xep:UnnecessarilyFullyQualified
|
||||
-Xep:UnnecessarilyUsedValue
|
||||
-Xep:UnnecessaryBoxedVariable:WARN
|
||||
-Xep:UnnecessaryDefaultInEnumSwitch
|
||||
-Xep:UnnecessaryFinal
|
||||
-Xep:UnnecessaryStaticImport:WARN <!-- required by style guide -->
|
||||
-Xep:UnusedException
|
||||
-Xep:UrlInSee
|
||||
-Xep:UseCorrectAssertInTests
|
||||
-Xep:UseEnumSwitch:WARN
|
||||
-Xep:WildcardImport:WARN <!-- required by style guide -->
|
||||
-Xep:YodaCondition
|
||||
</arg>
|
||||
<!-- Enable all warnings, except for ones which cause issues when building with newer JDKs, see also
|
||||
https://docs.oracle.com/en/java/javase/11/tools/javac.html -->
|
||||
<compilerArg>-Xlint:all,-options</compilerArg>
|
||||
</compilerArgs>
|
||||
<annotationProcessorPaths>
|
||||
<path>
|
||||
<groupId>com.google.errorprone</groupId>
|
||||
<artifactId>error_prone_core</artifactId>
|
||||
<version>2.41.0</version>
|
||||
</path>
|
||||
</annotationProcessorPaths>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<version>3.11.3</version>
|
||||
<configuration>
|
||||
<skip>${gson.isTestModule}</skip>
|
||||
|
||||
<!-- Specify newer JDK as target to allow linking to newer Java API, and to generate
|
||||
module overview in Javadoc for Gson's module descriptor -->
|
||||
<release>11</release>
|
||||
<!-- Exclude `missing` group because some tags have been omitted when they are redundant -->
|
||||
<doclint>all,-missing</doclint>
|
||||
<!-- Link against newer Java API Javadoc because most users likely
|
||||
use a newer Java version than the one used for building this project -->
|
||||
<detectJavaApiLink>false</detectJavaApiLink>
|
||||
<links>
|
||||
<link>https://docs.oracle.com/en/java/javase/11/docs/api/</link>
|
||||
<link>https://errorprone.info/api/latest/</link>
|
||||
</links>
|
||||
<!-- Disable detection of offline links between Maven modules:
|
||||
(1) Only `gson` module is published, so for other modules Javadoc links don't
|
||||
matter much at the moment; (2) The derived URL for the modules is based on
|
||||
the project URL (= Gson GitHub repo) which is incorrect because it is not
|
||||
hosting the Javadoc (3) It might fail due to https://bugs.openjdk.java.net/browse/JDK-8212233 -->
|
||||
<detectOfflineLinks>false</detectOfflineLinks>
|
||||
<!-- Only show warnings and errors -->
|
||||
<quiet>true</quiet>
|
||||
<failOnWarnings>true</failOnWarnings>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>3.5.3</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<version>3.5.3</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>3.4.2</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-install-plugin</artifactId>
|
||||
<version>3.1.4</version>
|
||||
<configuration>
|
||||
<skip>${gson.isTestModule}</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<version>3.3.1</version>
|
||||
<configuration>
|
||||
<skipSource>${gson.isTestModule}</skipSource>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-gpg-plugin</artifactId>
|
||||
<version>3.2.8</version>
|
||||
<configuration>
|
||||
<skip>${gson.isTestModule}</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.sonatype.central</groupId>
|
||||
<artifactId>central-publishing-maven-plugin</artifactId>
|
||||
<version>0.8.0</version>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<publishingServerId>central</publishingServerId>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-release-plugin</artifactId>
|
||||
<version>3.1.1</version>
|
||||
<configuration>
|
||||
<autoVersionSubmodules>true</autoVersionSubmodules>
|
||||
<!-- Disable Maven Super POM release profile and instead use own one -->
|
||||
<useReleaseProfile>false</useReleaseProfile>
|
||||
<releaseProfiles>release</releaseProfiles>
|
||||
<!-- Run custom goals to replace version references, see plugin configuration below -->
|
||||
<!-- Also run `verify` to make sure tests still pass with new version number;
|
||||
also seems to be necessary because without `package`, goals fail for modules depending
|
||||
on each other; possibly same issue as https://issues.apache.org/jira/browse/MRELEASE-271 -->
|
||||
<preparationGoals>
|
||||
clean verify
|
||||
antrun:run@replace-version-placeholders
|
||||
antrun:run@replace-old-version-references
|
||||
antrun:run@git-add-changed
|
||||
</preparationGoals>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<version>3.1.0</version>
|
||||
<executions>
|
||||
<!-- Replaces version placeholders with the current version; this is mainly useful for
|
||||
Javadoc where this allows writing `@since $next-version$` -->
|
||||
<execution>
|
||||
<id>replace-version-placeholders</id>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<target>
|
||||
<replace token="$next-version$" value="${project.version}" encoding="${project.build.sourceEncoding}">
|
||||
<!-- erroronmissingdir=false for gson-parent which does not have source directory -->
|
||||
<fileset dir="${project.build.sourceDirectory}" includes="**" erroronmissingdir="false" />
|
||||
</replace>
|
||||
</target>
|
||||
</configuration>
|
||||
</execution>
|
||||
<!-- Replaces references to the old version in the documentation -->
|
||||
<execution>
|
||||
<id>replace-old-version-references</id>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<target>
|
||||
<!-- Replace Maven and Gradle version references; uses regex lookbehind and lookahead -->
|
||||
<replaceregexp match="(?<=<version>).*(?=</version>)|(?<='com\.google\.code\.gson:gson:).*(?=')" flags="g" replace="${project.version}" encoding="${project.build.sourceEncoding}">
|
||||
<fileset dir="${project.basedir}">
|
||||
<include name="README.md" />
|
||||
<include name="UserGuide.md" />
|
||||
</fileset>
|
||||
</replaceregexp>
|
||||
</target>
|
||||
</configuration>
|
||||
<!-- Only has to be executed for parent project; don't inherit this to modules -->
|
||||
<!-- This might be a bit hacky; execution with this ID seems to be missing for modules and Maven just executes default
|
||||
configuration which does not have any targets configured. (not sure if this behavior is guaranteed) -->
|
||||
<inherited>false</inherited>
|
||||
</execution>
|
||||
<!-- Adds changed files to the Git index; workaround because Maven Release Plugin does not support committing
|
||||
additional files yet (https://issues.apache.org/jira/browse/MRELEASE-798), and for workarounds with
|
||||
Maven SCM Plugin it is apparently necessary to know modified files in advance -->
|
||||
<!-- Maven Release Plugin then just happens to include these changed files in its Git commit;
|
||||
not sure if this behavior is guaranteed or if this relies on implementation details -->
|
||||
<execution>
|
||||
<id>git-add-changed</id>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<target>
|
||||
<exec executable="git" dir="${project.basedir}" failonerror="true">
|
||||
<arg value="add" />
|
||||
<!-- Don't add (unrelated) not yet tracked files -->
|
||||
<arg value="--update" />
|
||||
<arg value="." />
|
||||
</exec>
|
||||
</target>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<!-- Plugin for checking source and binary compatibility; used by GitHub workflow -->
|
||||
<plugin>
|
||||
<groupId>com.github.siom79.japicmp</groupId>
|
||||
<artifactId>japicmp-maven-plugin</artifactId>
|
||||
<version>0.23.1</version>
|
||||
<configuration>
|
||||
<skip>${gson.isTestModule}</skip>
|
||||
|
||||
<oldVersion>
|
||||
<dependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>${project.artifactId}</artifactId>
|
||||
<!-- This is set by the GitHub workflow -->
|
||||
<version>0.0.0-JAPICMP-OLD</version>
|
||||
</dependency>
|
||||
</oldVersion>
|
||||
|
||||
<!-- 'new version' is automatically the version currently being build -->
|
||||
|
||||
<parameter>
|
||||
<breakBuildOnSourceIncompatibleModifications>true</breakBuildOnSourceIncompatibleModifications>
|
||||
<breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications>
|
||||
<excludes>
|
||||
<exclude>com.google.gson.internal</exclude>
|
||||
</excludes>
|
||||
<onlyModified>true</onlyModified>
|
||||
<skipXmlReport>true</skipXmlReport>
|
||||
<reportOnlyFilename>true</reportOnlyFilename>
|
||||
</parameter>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<!-- Plugin for checking compatibility with Android API -->
|
||||
<!-- Note: For now this is not part of a normal Maven build but instead executed only by a
|
||||
GitHub workflow because the Animal Sniffer signature files use Java Serialization, so they
|
||||
could in theory contain malicious data (in case we don't fully trust the author) -->
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>animal-sniffer-maven-plugin</artifactId>
|
||||
<version>1.24</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>check-android-compatibility</id>
|
||||
<goals>
|
||||
<goal>check</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<skip>${gson.isTestModule}</skip>
|
||||
|
||||
<signature>
|
||||
<!-- Note: In case Android compatibility impedes Gson development too much in the
|
||||
future, could consider switching to https://github.com/open-toast/gummy-bears
|
||||
which accounts for Android desugaring and might allow usage of more Java classes -->
|
||||
<groupId>net.sf.androidscents.signature</groupId>
|
||||
<artifactId>android-api-level-21</artifactId>
|
||||
<version>5.0.1_r2</version>
|
||||
</signature>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
|
||||
<profiles>
|
||||
<!-- Disable Error Prone before Java 17 -->
|
||||
<profile>
|
||||
<id>disable-error-prone</id>
|
||||
<activation>
|
||||
<jdk>[,17)</jdk>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<compilerArgs combine.self="override">
|
||||
<compilerArg>-Xlint:all,-options</compilerArg>
|
||||
</compilerArgs>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<!-- Profile defining additional plugins to be executed for release -->
|
||||
<profile>
|
||||
<id>release</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-sources</id>
|
||||
<goals>
|
||||
<goal>jar-no-fork</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-javadocs</id>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-gpg-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>sign-artifacts</id>
|
||||
<phase>verify</phase>
|
||||
<goals>
|
||||
<goal>sign</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.sonatype.central</groupId>
|
||||
<artifactId>central-publishing-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
@@ -0,0 +1 @@
|
||||
70cfa0547114b16538e878d0066738af1fc57c5d
|
||||
@@ -0,0 +1,3 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Mon Jun 01 18:20:36 GMT-03:00 2026
|
||||
gson-parent-2.8.9.pom>central=
|
||||
@@ -0,0 +1,158 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<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>org.sonatype.oss</groupId>
|
||||
<artifactId>oss-parent</artifactId>
|
||||
<version>7</version>
|
||||
</parent>
|
||||
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson-parent</artifactId>
|
||||
<version>2.8.9</version>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<name>Gson Parent</name>
|
||||
<description>Gson JSON library</description>
|
||||
<url>https://github.com/google/gson</url>
|
||||
|
||||
<modules>
|
||||
<module>gson</module>
|
||||
<module>extras</module>
|
||||
</modules>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<java.version>1.6</java.version>
|
||||
</properties>
|
||||
|
||||
<scm>
|
||||
<url>https://github.com/google/gson/</url>
|
||||
<connection>scm:git:https://github.com/google/gson.git</connection>
|
||||
<developerConnection>scm:git:git@github.com:google/gson.git</developerConnection>
|
||||
<tag>gson-parent-2.8.9</tag>
|
||||
</scm>
|
||||
|
||||
<issueManagement>
|
||||
<system>GitHub Issues</system>
|
||||
<url>https://github.com/google/gson/issues</url>
|
||||
</issueManagement>
|
||||
|
||||
<licenses>
|
||||
<license>
|
||||
<name>Apache-2.0</name>
|
||||
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
</license>
|
||||
</licenses>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.13.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-compile</id>
|
||||
<configuration>
|
||||
<jdkToolchain>
|
||||
<version>9</version>
|
||||
</jdkToolchain>
|
||||
<release>9</release>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>base-compile</id>
|
||||
<goals>
|
||||
<goal>compile</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<excludes>
|
||||
<exclude>module-info.java</exclude>
|
||||
</excludes>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<jdkToolchain>
|
||||
<version>[1.5,9)</version>
|
||||
</jdkToolchain>
|
||||
<source>1.6</source>
|
||||
<target>1.6</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<version>3.3.1</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>3.2.0</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<version>5.1.2</version>
|
||||
<inherited>true</inherited>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-release-plugin</artifactId>
|
||||
<version>2.5.3</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.scm</groupId>
|
||||
<artifactId>maven-scm-api</artifactId>
|
||||
<version>1.11.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.scm</groupId>
|
||||
<artifactId>maven-scm-provider-gitexe</artifactId>
|
||||
<version>1.12.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<configuration>
|
||||
<autoVersionSubmodules>true</autoVersionSubmodules>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>doclint-java8-disable</id>
|
||||
<activation>
|
||||
<jdk>[1.8,)</jdk>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<configuration>
|
||||
<additionalparam>-Xdoclint:none</additionalparam>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
@@ -0,0 +1 @@
|
||||
0c3fdad2fa3239f928ad9c77a9f9c9379f6bde7a
|
||||
@@ -0,0 +1,3 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Mon Jun 01 18:20:38 GMT-03:00 2026
|
||||
gson-2.13.2.pom>central=
|
||||
@@ -0,0 +1,352 @@
|
||||
<?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>com.google.code.gson</groupId>
|
||||
<artifactId>gson-parent</artifactId>
|
||||
<version>2.13.2</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>2025-09-10T20:37:36Z</project.build.outputTimestamp>
|
||||
|
||||
<excludeTestCompilation>**/Java17*</excludeTestCompilation>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<!-- This dependency can be considered optional; omitting it during runtime will most likely
|
||||
not cause any issues. However, it is not declared with `<optional>true</optional>` because
|
||||
that can lead to cryptic compiler warnings for consumers, and to be on the safe side in case
|
||||
there are actually issues which could occur when the dependency is missing at runtime.
|
||||
See also discussion at https://github.com/google/gson/pull/2320#issuecomment-1455233938 -->
|
||||
<dependency>
|
||||
<groupId>com.google.errorprone</groupId>
|
||||
<artifactId>error_prone_annotations</artifactId>
|
||||
<version>2.41.0</version>
|
||||
</dependency>
|
||||
|
||||
<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.4.8-jre</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.guava</groupId>
|
||||
<artifactId>guava</artifactId>
|
||||
<version>33.4.8-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>
|
||||
</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>
|
||||
<configuration>
|
||||
<bnd><![CDATA[
|
||||
Bundle-SymbolicName: com.google.gson
|
||||
Bundle-Name: ${project.name}
|
||||
Bundle-Description: ${project.description}
|
||||
Bundle-Vendor: Google Gson Project
|
||||
Bundle-ContactAddress: ${project.parent.url}
|
||||
|
||||
# Optional dependency for JDK's sun.misc.Unsafe
|
||||
# Optional dependency to google.errorprone
|
||||
# https://bnd.bndtools.org/chapters/920-faq.html#remove-unwanted-imports-
|
||||
Import-Package: sun.misc;resolution:=optional, com.google.errorprone.*;resolution:=optional, *
|
||||
|
||||
-removeheaders: Private-Package
|
||||
|
||||
-exportcontents:\
|
||||
com.google.gson,\
|
||||
com.google.gson.annotations;-noimport:=true,\
|
||||
com.google.gson.reflect,\
|
||||
com.google.gson.stream
|
||||
]]></bnd>
|
||||
</configuration>
|
||||
</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>
|
||||
<!-- Failsafe plugin for running integration tests against final JAR, see `*IT.java` test classes -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>integration-test</goal>
|
||||
<goal>verify</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>com.coderplus.maven.plugins</groupId>
|
||||
<artifactId>copy-rename-maven-plugin</artifactId>
|
||||
<version>1.0.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>pre-obfuscate-class</id>
|
||||
<phase>process-test-classes</phase>
|
||||
<goals>
|
||||
<goal>rename</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<fileSets>
|
||||
<fileSet>
|
||||
<sourceFile>${project.build.directory}/test-classes/com/google/gson/functional/EnumWithObfuscatedTest.class</sourceFile>
|
||||
<destinationFile>${project.build.directory}/test-classes-obfuscated-injar/com/google/gson/functional/EnumWithObfuscatedTest.class</destinationFile>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<sourceFile>${project.build.directory}/test-classes/com/google/gson/functional/EnumWithObfuscatedTest$Gender.class</sourceFile>
|
||||
<destinationFile>${project.build.directory}/test-classes-obfuscated-injar/com/google/gson/functional/EnumWithObfuscatedTest$Gender.class</destinationFile>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>com.github.wvengen</groupId>
|
||||
<artifactId>proguard-maven-plugin</artifactId>
|
||||
<version>2.7.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>obfuscate-test-class</id>
|
||||
<phase>process-test-classes</phase>
|
||||
<goals>
|
||||
<goal>proguard</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<!-- Upgrades ProGuard to version newer than the one included by plugin by default -->
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.guardsquare</groupId>
|
||||
<artifactId>proguard-base</artifactId>
|
||||
<version>7.7.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.guardsquare</groupId>
|
||||
<artifactId>proguard-core</artifactId>
|
||||
<version>9.1.10</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<configuration>
|
||||
<obfuscate>true</obfuscate>
|
||||
<injar>test-classes-obfuscated-injar</injar>
|
||||
<outjar>test-classes-obfuscated-outjar</outjar>
|
||||
<inFilter>**/*.class</inFilter>
|
||||
<proguardInclude>${project.basedir}/src/test/resources/testcases-proguard.conf</proguardInclude>
|
||||
<libs>
|
||||
<lib>${project.build.directory}/classes</lib>
|
||||
<lib>${java.home}/jmods/java.base.jmod</lib>
|
||||
</libs>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>3.3.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>post-obfuscate-class</id>
|
||||
<phase>process-test-classes</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${project.build.directory}/test-classes/com/google/gson/functional</outputDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>${project.build.directory}/test-classes-obfuscated-outjar/com/google/gson/functional</directory>
|
||||
<includes>
|
||||
<include>EnumWithObfuscatedTest.class</include>
|
||||
<include>EnumWithObfuscatedTest$Gender.class</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</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-maven-plugin -->
|
||||
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
|
||||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!-- Add module-info to JAR, see https://github.com/moditect/moditect#adding-module-descriptors-to-existing-jar-files -->
|
||||
<!-- Uses ModiTect instead of separate maven-compiler-plugin executions
|
||||
for better Eclipse IDE support, see https://github.com/eclipse-m2e/m2e-core/issues/393 -->
|
||||
<!-- Note: For some reason this has to be executed before javadoc plugin; otherwise `javadoc:jar` goal fails
|
||||
to find source files -->
|
||||
<plugin>
|
||||
<groupId>org.moditect</groupId>
|
||||
<artifactId>moditect-maven-plugin</artifactId>
|
||||
<version>1.3.0.Final</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>add-module-info</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>add-module-info</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<jvmVersion>9</jvmVersion>
|
||||
<module>
|
||||
<moduleInfoFile>${project.build.sourceDirectory}/module-info.java</moduleInfoFile>
|
||||
</module>
|
||||
<!-- Overwrite the previously generated JAR file, if any -->
|
||||
<overwriteExistingFiles>true</overwriteExistingFiles>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!-- Note: Javadoc plugin has to be run in combination with >= `package` phase,
|
||||
e.g. `mvn package javadoc:javadoc`, otherwise it fails with
|
||||
"Aggregator report contains named and unnamed modules" -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<configuration>
|
||||
<excludePackageNames>com.google.gson.internal:com.google.gson.internal.bind</excludePackageNames>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>JDK17</id>
|
||||
<activation>
|
||||
<jdk>[17,)</jdk>
|
||||
</activation>
|
||||
<properties>
|
||||
<maven.compiler.testRelease>17</maven.compiler.testRelease>
|
||||
<excludeTestCompilation />
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
@@ -0,0 +1 @@
|
||||
bf590b4d5dbf4eab3e0654e6db5de8e70947edb3
|
||||
@@ -0,0 +1,4 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Mon Jun 01 18:20:47 GMT-03:00 2026
|
||||
gson-2.8.9.jar>central=
|
||||
gson-2.8.9.pom>central=
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
8a432c1d6825781e21a02db2e2c33c5fde2833b9
|
||||
@@ -0,0 +1,175 @@
|
||||
<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>com.google.code.gson</groupId>
|
||||
<artifactId>gson-parent</artifactId>
|
||||
<version>2.8.9</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>gson</artifactId>
|
||||
<name>Gson</name>
|
||||
|
||||
<properties>
|
||||
<proguardVersion>7.1.1</proguardVersion>
|
||||
</properties>
|
||||
|
||||
<licenses>
|
||||
<license>
|
||||
<name>Apache-2.0</name>
|
||||
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
</license>
|
||||
</licenses>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<configuration>
|
||||
<includePackageNames>com.google.gson</includePackageNames>
|
||||
<excludePackageNames>com.google.gson.internal:com.google.gson.internal.bind</excludePackageNames>
|
||||
<links>
|
||||
<link>https://docs.oracle.com/javase/6/docs/api/</link>
|
||||
</links>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>biz.aQute.bnd</groupId>
|
||||
<artifactId>bnd-maven-plugin</artifactId>
|
||||
<version>6.0.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>bnd-process</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<configuration>
|
||||
<archive>
|
||||
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
|
||||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>templating-maven-plugin</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>filtering-java-templates</id>
|
||||
<goals>
|
||||
<goal>filter-sources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<sourceDirectory>${basedir}/src/main/java-templates</sourceDirectory>
|
||||
<outputDirectory>${project.build.directory}/generated-sources/java-templates</outputDirectory>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>com.coderplus.maven.plugins</groupId>
|
||||
<artifactId>copy-rename-maven-plugin</artifactId>
|
||||
<version>1.0.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>pre-obfuscate-class</id>
|
||||
<phase>process-test-classes</phase>
|
||||
<goals>
|
||||
<goal>rename</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<fileSets>
|
||||
<fileSet>
|
||||
<sourceFile>${project.build.directory}/test-classes/com/google/gson/functional/EnumWithObfuscatedTest.class</sourceFile>
|
||||
<destinationFile>${project.build.directory}/test-classes-obfuscated-injar/com/google/gson/functional/EnumWithObfuscatedTest.class</destinationFile>
|
||||
</fileSet>
|
||||
<fileSet>
|
||||
<sourceFile>${project.build.directory}/test-classes/com/google/gson/functional/EnumWithObfuscatedTest$Gender.class</sourceFile>
|
||||
<destinationFile>${project.build.directory}/test-classes-obfuscated-injar/com/google/gson/functional/EnumWithObfuscatedTest$Gender.class</destinationFile>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>com.github.wvengen</groupId>
|
||||
<artifactId>proguard-maven-plugin</artifactId>
|
||||
<version>2.5.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>process-test-classes</phase>
|
||||
<goals>
|
||||
<goal>proguard</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<proguardVersion>${proguardVersion}</proguardVersion>
|
||||
<obfuscate>true</obfuscate>
|
||||
<injar>test-classes-obfuscated-injar</injar>
|
||||
<outjar>test-classes-obfuscated-outjar</outjar>
|
||||
<inFilter>**/*.class</inFilter>
|
||||
<proguardInclude>${basedir}/src/test/resources/testcases-proguard.conf</proguardInclude>
|
||||
<libs>
|
||||
<lib>${project.build.directory}/classes</lib>
|
||||
<lib>${java.home}/jmods/java.base.jmod</lib>
|
||||
</libs>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.guardsquare</groupId>
|
||||
<artifactId>proguard-core</artifactId>
|
||||
<version>${proguardVersion}</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.guardsquare</groupId>
|
||||
<artifactId>proguard-base</artifactId>
|
||||
<version>${proguardVersion}</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>3.2.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>post-obfuscate-class</id>
|
||||
<phase>process-test-classes</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${project.build.directory}/test-classes/com/google/gson/functional</outputDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>${project.build.directory}/test-classes-obfuscated-outjar/com/google/gson/functional</directory>
|
||||
<includes>
|
||||
<include>EnumWithObfuscatedTest.class</include>
|
||||
<include>EnumWithObfuscatedTest$Gender.class</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
@@ -0,0 +1 @@
|
||||
e40b03e4cc2b52efb19af75c07596e9d15a52d82
|
||||
Reference in New Issue
Block a user