| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| |
| Copyright (c) 2016, 2024 Oracle and/or its affiliates. All rights reserved. |
| |
| This program and the accompanying materials are made available under the |
| terms of the Eclipse Public License v. 2.0 which is available at |
| http://www.eclipse.org/legal/epl-2.0, |
| or the Eclipse Distribution License v. 1.0 which is available at |
| http://www.eclipse.org/org/documents/edl-v10.php. |
| |
| SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause |
| |
| --> |
| |
| <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/xsd/maven-4.0.0.xsd"> |
| |
| <parent> |
| <groupId>org.eclipse.ee4j</groupId> |
| <artifactId>project</artifactId> |
| <version>1.0.9</version> |
| </parent> |
| |
| <modelVersion>4.0.0</modelVersion> |
| <groupId>org.eclipse</groupId> |
| <artifactId>yasson</artifactId> |
| <version>3.0.4-SNAPSHOT</version> |
| <packaging>jar</packaging> |
| <name>Yasson</name> |
| |
| <description>Eclipse Yasson. Reference implementation of JSR-367 (JSON-B).</description> |
| <url>https://projects.eclipse.org/projects/ee4j.yasson</url> |
| |
| <properties> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <maven.compiler.release>11</maven.compiler.release> |
| <maven.compiler.testRelease>${maven.compiler.release}</maven.compiler.testRelease> |
| |
| <!--Dependencies--> |
| <hamcrest.version>2.2</hamcrest.version> |
| <jakarta.annotation-api.version>3.0.0</jakarta.annotation-api.version> |
| <jakarta.el-api.version>6.0.0</jakarta.el-api.version> |
| <jakarta.enterprise.cdi-api.version>4.1.0</jakarta.enterprise.cdi-api.version> |
| <jakarta.interceptor-api.version>2.2.0</jakarta.interceptor-api.version> |
| <jakarta.json.bind.version>3.0.1</jakarta.json.bind.version> |
| <jakarta.json.version>2.1.3</jakarta.json.version> |
| <jakarta.parson.version>1.1.7</jakarta.parson.version> |
| <junit-jupiter.version>5.10.2</junit-jupiter.version> |
| <weld-se-core.version>6.0.0.Beta1</weld-se-core.version> |
| |
| <!--Plugins--> |
| <build-helper-maven-plugin.version>3.6.0</build-helper-maven-plugin.version> |
| <buildnumber-maven-plugin.version>3.2.0</buildnumber-maven-plugin.version> |
| <spotbugs-maven-plugin.version>4.8.5.0</spotbugs-maven-plugin.version> |
| <glassfish-copyright-maven-plugin.version>2.4</glassfish-copyright-maven-plugin.version> |
| <maven-bundle-plugin.version>5.1.9</maven-bundle-plugin.version> |
| <maven-checkstyle-plugin.version>3.3.1</maven-checkstyle-plugin.version> |
| <maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version> |
| <maven-enforcer-plugin.version>3.4.1</maven-enforcer-plugin.version> |
| <maven-jar-plugin.version>3.4.1</maven-jar-plugin.version> |
| <maven-javadoc-plugin.version>3.6.3</maven-javadoc-plugin.version> |
| <maven-surefire-plugin.version>3.2.5</maven-surefire-plugin.version> |
| </properties> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>jakarta.enterprise</groupId> |
| <artifactId>jakarta.enterprise.cdi-api</artifactId> |
| <version>${jakarta.enterprise.cdi-api.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.el</groupId> |
| <artifactId>jakarta.el-api</artifactId> |
| <version>${jakarta.el-api.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.interceptor</groupId> |
| <artifactId>jakarta.interceptor-api</artifactId> |
| <version>${jakarta.interceptor-api.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.annotation</groupId> |
| <artifactId>jakarta.annotation-api</artifactId> |
| <version>${jakarta.annotation-api.version}</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <dependencies> |
| <!-- Compile dependencies --> |
| <dependency> |
| <groupId>jakarta.json.bind</groupId> |
| <artifactId>jakarta.json.bind-api</artifactId> |
| <version>${jakarta.json.bind.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.json</groupId> |
| <artifactId>jakarta.json-api</artifactId> |
| <version>${jakarta.json.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.eclipse.parsson</groupId> |
| <artifactId>parsson</artifactId> |
| <version>${jakarta.parson.version}</version> |
| </dependency> |
| <!-- Test/Provided dependencies --> |
| <dependency> |
| <groupId>jakarta.enterprise</groupId> |
| <artifactId>jakarta.enterprise.cdi-api</artifactId> |
| <optional>true</optional> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.jboss.weld.se</groupId> |
| <artifactId>weld-se-core</artifactId> |
| <version>${weld-se-core.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-api</artifactId> |
| <version>${junit-jupiter.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-engine</artifactId> |
| <version>${junit-jupiter.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest</artifactId> |
| <version>${hamcrest.version}</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <organization> |
| <name>Oracle Corporation</name> |
| <url>http://www.oracle.com/</url> |
| </organization> |
| |
| <issueManagement> |
| <system>github</system> |
| <url>https://github.com/eclipse-ee4j/yasson/issues</url> |
| </issueManagement> |
| |
| <mailingLists> |
| <mailingList> |
| <name>Yasson mailing list</name> |
| <post>yasson-dev@eclipse.org</post> |
| <subscribe>https://dev.eclipse.org/mailman/listinfo/yasson-dev</subscribe> |
| <unsubscribe>https://dev.eclipse.org/mailman/listinfo/yasson-dev</unsubscribe> |
| <archive>https://dev.eclipse.org/mhonarc/lists/yasson-dev/</archive> |
| </mailingList> |
| </mailingLists> |
| |
| <licenses> |
| <license> |
| <name>Eclipse Public License v. 2.0</name> |
| <url>http://www.eclipse.org/legal/epl-v20.html</url> |
| <distribution>repo</distribution> |
| <comments>Standard Eclipse License</comments> |
| </license> |
| <license> |
| <name>Eclipse Distribution License v. 1.0</name> |
| <url>http://www.eclipse.org/org/documents/edl-v10.php</url> |
| <distribution>repo</distribution> |
| <comments>Standard Eclipse Distribution License</comments> |
| </license> |
| </licenses> |
| |
| <scm> |
| <connection>scm:git:ssh://git@github.com/eclipse-ee4j/yasson.git</connection> |
| <developerConnection>scm:git:ssh://git@github.com/eclipse-ee4j/yasson.git</developerConnection> |
| <url>https://github.com/eclipse-ee4j/yasson.git</url> |
| <tag>HEAD</tag> |
| </scm> |
| |
| <developers> |
| <developer> |
| <email>dmitry.kornilov@oracle.com</email> |
| <id>maiden168</id> |
| <name>Dmitry Kornilov</name> |
| <organization>Oracle</organization> |
| <roles> |
| <role>JSON Binding 1.0 Spec Lead</role> |
| </roles> |
| <timezone>CET</timezone> |
| </developer> |
| <developer> |
| <email>roman.grigoriadi@oracle.com</email> |
| <id>roman.grigoriadi</id> |
| <name>Roman Grigoriadi</name> |
| <organization>Oracle</organization> |
| <roles> |
| <role>JSON Binding 1.0 Developer</role> |
| </roles> |
| <timezone>CET</timezone> |
| </developer> |
| <developer> |
| <email>david.k.kral@oracle.com</email> |
| <id>david.kral</id> |
| <name>David Kral</name> |
| <organization>Oracle</organization> |
| <roles> |
| <role>JSON Binding 1.0 Developer</role> |
| </roles> |
| <timezone>CET</timezone> |
| </developer> |
| <developer> |
| <email>andy.guibert@gmail.com</email> |
| <id>aguibert</id> |
| <name>Andy Guibert</name> |
| <organization>IBM</organization> |
| <roles> |
| <role>JSON Binding 1.0 Developer</role> |
| </roles> |
| <timezone>CST</timezone> |
| </developer> |
| </developers> |
| |
| <profiles> |
| <profile> |
| <id>checkstyle</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>run-checkstyle</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>validate</phase> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>spotbugs</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>${spotbugs-maven-plugin.version}</version> |
| <configuration> |
| <threshold>Low</threshold> |
| </configuration> |
| <executions> |
| <execution> |
| <id>analyze-compile</id> |
| <phase>compile</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>copyright</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.glassfish.copyright</groupId> |
| <artifactId>glassfish-copyright-maven-plugin</artifactId> |
| <configuration> |
| <!-- Ignore the year to comply with Eclipse Foundation. --> |
| <ignoreYear>true</ignoreYear> |
| </configuration> |
| <executions> |
| <!--Copyright goal does not fail when copyright is not properly updated, |
| but prints out which file has incorrect copyright.--> |
| <execution> |
| <id>print-copyright</id> |
| <goals> |
| <goal>copyright</goal> |
| </goals> |
| <phase>validate</phase> |
| </execution> |
| <!--Check goal does not print out incorrect copyright files, but fails when there are errors.--> |
| <execution> |
| <id>check-copyright</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>validate</phase> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>jdk16</id> |
| <activation> |
| <jdk>[16,)</jdk> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>default-testCompile</id> |
| <configuration> |
| <release>16</release> |
| <testRelease>16</testRelease> |
| <compileSourceRoots> |
| <compileSourceRoot>${project.basedir}/src/test/java</compileSourceRoot> |
| <compileSourceRoot>${project.basedir}/src/test/java16</compileSourceRoot> |
| </compileSourceRoots> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <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> |
| <configuration> |
| <includes> |
| <include>**/RecordTest.java</include> |
| </includes> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| <build> |
| <finalName>${project.artifactId}</finalName> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${maven-compiler-plugin.version}</version> |
| <!-- defaults for compile and testCompile --> |
| <executions> |
| <execution> |
| <id>default-compile</id> |
| <goals> |
| <goal>compile</goal> |
| </goals> |
| <configuration> |
| <release>11</release> |
| <source>11</source> |
| <target>11</target> |
| </configuration> |
| </execution> |
| <execution> |
| <id>default-testCompile</id> |
| <configuration> |
| <release>11</release> |
| </configuration> |
| </execution> |
| <execution> |
| <id>multi-release-compile-16</id> |
| <goals> |
| <goal>compile</goal> |
| </goals> |
| <configuration> |
| <release>16</release> |
| <compileSourceRoots> |
| <compileSourceRoot>${project.basedir}/src/main/java16</compileSourceRoot> |
| </compileSourceRoots> |
| <multiReleaseOutput>true</multiReleaseOutput> |
| </configuration> |
| </execution> |
| </executions> |
| <configuration> |
| <compilerArgs> |
| <arg>-Xlint:all</arg> |
| </compilerArgs> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>${maven-jar-plugin.version}</version> |
| <configuration> |
| <archive> |
| <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> |
| <manifestEntries> |
| <Multi-Release>true</Multi-Release> |
| </manifestEntries> |
| </archive> |
| </configuration> |
| </plugin> |
| <plugin> |
| <!-- This plugin generates the buildNumber property used in maven-bundle-plugin --> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>buildnumber-maven-plugin</artifactId> |
| <version>${buildnumber-maven-plugin.version}</version> |
| <configuration> |
| <format>{0,date,MM/dd/yyyy hh:mm aa}</format> |
| <items> |
| <item>timestamp</item> |
| </items> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>validate</phase> |
| <goals> |
| <goal>create</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>${maven-javadoc-plugin.version}</version> |
| <configuration> |
| <bottom><![CDATA[Copyright © 2017, 2024 Oracle Corporation. All rights reserved.<br>]]></bottom> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <version>${maven-bundle-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>osgi-bundle</id> |
| <phase>prepare-package</phase> |
| <goals> |
| <goal>manifest</goal> |
| </goals> |
| <configuration> |
| <niceManifest>true</niceManifest> |
| <instructions> |
| <Bundle-Name>${project.name}</Bundle-Name> |
| <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> |
| <Bundle-Version>${project.version}</Bundle-Version> |
| <Export-Package>org.eclipse.yasson;version=${project.version}</Export-Package> |
| <Private-Package>org.eclipse.yasson.*;version=${project.version}</Private-Package> |
| <Multi-Release>true</Multi-Release> |
| <Import-Package> |
| jakarta.enterprise.context.spi;version=!;resolution:="optional", |
| jakarta.enterprise.inject.spi;version=!;resolution:="optional", |
| javax.naming;resolution:="optional", |
| java.beans;resolution:="optional", |
| * |
| </Import-Package> |
| <Require-Capability>osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=11))"</Require-Capability> |
| </instructions> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${maven-surefire-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>default-test</id> |
| <phase>test</phase> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <configuration> |
| <!-- <testFailureIgnore>true</testFailureIgnore>--> |
| <trimStackTrace>false</trimStackTrace> |
| <excludes> |
| <exclude>**/JavaxNamingExcludedTest.java</exclude> |
| <exclude>**/AnnotationIntrospectorWithoutOptionalModulesTest.java</exclude> |
| <exclude>**/*Record*</exclude> |
| </excludes> |
| <argLine> |
| <!--Remove when CDI is updated to support modules |
| (Yasson does read CDI which is on CP, CDI access yasson's classes with reflection) |
| --> |
| --add-reads org.eclipse.yasson=ALL-UNNAMED --add-opens org.eclipse.yasson/org.eclipse.yasson.internal.cdi=ALL-UNNAMED |
| |
| --add-exports org.eclipse.yasson/org.eclipse.yasson.internal.cdi=java.naming |
| </argLine> |
| </configuration> |
| </execution> |
| <execution> |
| <id>optional-modules-excluded</id> |
| <phase>test</phase> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <configuration> |
| <argLine> |
| <!--java.management is required by Maven's ForkedBooter--> |
| --limit-modules java.base,java.logging,java.sql,jakarta.json.bind,jakarta.json,java.management,jdk.localedata,org.eclipse.parsson,org.eclipse.yasson |
| </argLine> |
| <includes> |
| <include>**/JavaxNamingExcludedTest.class</include> |
| <include>**/AnnotationIntrospectorWithoutOptionalModulesTest.class</include> |
| </includes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>${maven-enforcer-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>enforce-versions</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <rules> |
| <requireJavaVersion> |
| <version>[11,)</version> |
| </requireJavaVersion> |
| <requireMavenVersion> |
| <version>[3.6.0,)</version> |
| </requireMavenVersion> |
| <DependencyConvergence/> |
| </rules> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>${build-helper-maven-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>add-resource</id> |
| <phase>generate-resources</phase> |
| <goals> |
| <goal>add-resource</goal> |
| </goals> |
| <configuration> |
| <resources> |
| <resource> |
| <directory>${basedir}</directory> |
| <targetPath>META-INF</targetPath> |
| <includes> |
| <include>LICENSE.md</include> |
| <include>NOTICE.md</include> |
| </includes> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>${maven-checkstyle-plugin.version}</version> |
| <configuration> |
| <configLocation>etc/checkstyle.xml</configLocation> |
| <suppressionsLocation>etc/checkstyle-suppressions.xml</suppressionsLocation> |
| <consoleOutput>true</consoleOutput> |
| <failsOnError>true</failsOnError> |
| <linkXRef>false</linkXRef> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.glassfish.copyright</groupId> |
| <artifactId>glassfish-copyright-maven-plugin</artifactId> |
| <version>${glassfish-copyright-maven-plugin.version}</version> |
| <configuration> |
| <templateFile>etc/copyright.txt</templateFile> |
| <excludeFile>etc/copyright-exclude.txt</excludeFile> |
| <scm>git</scm> |
| <debug>false</debug> |
| <scmOnly>true</scmOnly> |
| <warn>true</warn> |
| <ignoreYear>false</ignoreYear> |
| <preserveCopyrights>true</preserveCopyrights> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>buildnumber-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| </plugin> |
| </plugins> |
| </build> |
| </project> |