<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2016, 2026 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">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.eclipse.ee4j</groupId>
        <artifactId>project</artifactId>
        <version>2.0.2</version>
    </parent>

    <groupId>org.eclipse</groupId>
    <artifactId>yasson</artifactId>
    <version>3.0.5-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>
        <nexus.staging.repository>yasson-maven2-staging</nexus.staging.repository>

        <!--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 &#169; 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:="(&amp;(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>
