blob: cee815d1aeb72d687029660f8a719961be95c9d4 [file] [log] [blame] [edit]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 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.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse</groupId>
<artifactId>yasson</artifactId>
<version>1.0.8-SNAPSHOT</version>
<packaging>jar</packaging>
<name>org.eclipse.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>
<jakarta.json.version>1.1.6</jakarta.json.version>
<jakarta.json.bind.version>1.0.2</jakarta.json.bind.version>
<netbeans.hint.jdkPlatform>JDK_9</netbeans.hint.jdkPlatform>
</properties>
<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.glassfish</groupId>
<artifactId>jakarta.json</artifactId>
<version>${jakarta.json.version}</version>
<classifier>module</classifier>
<scope>compile</scope>
</dependency>
<!-- Test/Provided dependencies -->
<dependency>
<groupId>jakarta.enterprise</groupId>
<artifactId>jakarta.enterprise.cdi-api</artifactId>
<version>2.0.2</version>
<optional>true</optional>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.weld.se</groupId>
<artifactId>weld-se</artifactId>
<version>2.4.3.Final</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.5.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.5.2</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>copyright</id>
<build>
<plugins>
<plugin>
<groupId>org.glassfish.copyright</groupId>
<artifactId>glassfish-copyright-maven-plugin</artifactId>
<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>
</profiles>
<build>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
<finalName>${project.artifactId}</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.4</version>
<configuration>
<effort>Max</effort>
<threshold>Low</threshold>
<xmlOutput>true</xmlOutput>
</configuration>
<executions>
<execution>
<id>analyze-compile</id>
<phase>compile</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<executions>
<execution>
<id>default-compile</id>
<configuration>
<!-- compile everything to ensure module-info contains right entries -->
<!-- required when JAVA_HOME is JDK 8 or below -->
<release>9</release>
<compilerArgs>
<!--Remove when CDI is updated to support modules-->
<arg>--add-reads</arg>
<arg>org.eclipse.yasson=ALL-UNNAMED</arg>
</compilerArgs>
</configuration>
</execution>
<execution>
<id>base-compile</id>
<goals>
<goal>compile</goal>
</goals>
<!-- recompile everything for 1.8 except the module-info.java -->
<configuration>
<release>8</release>
<excludes>
<exclude>module-info.java</exclude>
</excludes>
</configuration>
</execution>
<execution>
<id>default-testCompile</id>
<configuration>
<release>11</release>
</configuration>
</execution>
</executions>
<!-- defaults for compile and testCompile -->
<configuration>
<compilerArgs>
<arg>-Xlint:all</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</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>1.4</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>3.0.1</version>
<configuration>
<doctitle>Yasson</doctitle>
<sourcepath>${basedir}/src/main/java/org/eclipse/yasson</sourcepath>
<additionalJOptions>
<additionalJOption>--add-modules</additionalJOption>
<additionalJOption>java.json.bind,java.json</additionalJOption>
</additionalJOptions>
<source>11</source>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.5.0</version>
<executions>
<execution>
<id>osgi-bundle</id>
<phase>prepare-package</phase>
<goals>
<goal>manifest</goal>
</goals>
<configuration>
<instructions>
<_failok>true</_failok>
<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>
<Import-Package>
javax.enterprise.context.spi;version=!;resolution:="optional",
javax.enterprise.inject.spi;version=!;resolution:="optional",
javax.naming;resolution:="optional",
java.beans;resolution:="optional",
*
</Import-Package>
<Require-Capability>osgi.ee;filter:="(&amp;(osgi.ee=JavaSE)(version=1.8))"</Require-Capability>
</instructions>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<executions>
<execution>
<id>default-test</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<trimStackTrace>false</trimStackTrace>
<excludes>
<exclude>**/JavaxNamingExcludedTest.class</exclude>
<exclude>**/AnnotationIntrospectorWithoutOptionalModulesTest.class</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,java.json.bind,java.json,java.management
</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>3.0.0-M2</version>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
<configuration>
<rules>
<requireJavaVersion>
<version>[9,)</version>
</requireJavaVersion>
<requireMavenVersion>
<version>[3.3.9,)</version>
</requireMavenVersion>
<DependencyConvergence/>
</rules>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</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>3.1.0</version>
<configuration>
<configLocation>etc/checkstyle.xml</configLocation>
<suppressionsLocation>etc/checkstyle-suppressions.xml</suppressionsLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<linkXRef>false</linkXRef>
</configuration>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>8.29</version>
<exclusions>
<exclusion>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.glassfish.copyright</groupId>
<artifactId>glassfish-copyright-maven-plugin</artifactId>
<version>2.3</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>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.4</version>
</plugin>
</plugins>
</reporting>
</project>