blob: c7dac926995ed61b1d9a0cb5625cac6d9c21507b [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2019, 2021 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 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<name>EclipseLink MOXy</name>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<packaging>jar</packaging>
<parent>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.parent</artifactId>
<version>4.0.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<properties>
<comp.xlint>-Xlint:all,-serial,-exports</comp.xlint>
<test-skip-moxy-jaxb-srg>${skipTests}</test-skip-moxy-jaxb-srg>
<test-skip-moxy-jaxb>true</test-skip-moxy-jaxb>
</properties>
<dependencies>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
</dependency>
<dependency>
<groupId>jakarta.validation</groupId>
<artifactId>jakarta.validation-api</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<optional>true</optional>
</dependency>
<!--Other modules-->
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.asm</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.core</artifactId>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.eclipse.angus</groupId>
<artifactId>angus-activation</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.angus</groupId>
<artifactId>angus-mail</artifactId>
</dependency>
<!--Test dependencies-->
<!--Test framework-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!--Other modules-->
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.core</artifactId>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<!--APIs and other libs used in test classes-->
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.parsson</groupId>
<artifactId>parsson</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
<optional>true</optional>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<optional>true</optional>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<!-- required for BeanValidationRuntimeTestCase to pass
TODO: fix the test so this can go away -->
<includeEmptyDirs>true</includeEmptyDirs>
</configuration>
</plugin>
<!--Add licence files (about.html, license.html, readme.html) to the build output directory-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<!--Resolve dependencies into Maven properties like ${org.eclipse.persistence:org.eclipse.persistence.jpa:jar} for JPA module-->
<execution>
<id>get-test-classpath-to-properties</id>
<goals>
<goal>properties</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>default-testCompile</id>
<configuration>
<compilerArgs>
<arg>--add-exports</arg>
<arg>org.eclipse.persistence.core/org.eclipse.persistence.internal.oxm.conversion=org.eclipse.persistence.moxy.test</arg>
<arg>--add-exports</arg>
<arg>org.eclipse.persistence.core/org.eclipse.persistence.internal.oxm.schema=org.eclipse.persistence.moxy.test</arg>
<arg>--add-exports</arg>
<arg>org.eclipse.persistence.core/org.eclipse.persistence.internal.oxm.schema.model=org.eclipse.persistence.moxy.test</arg>
</compilerArgs>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<executions>
<execution>
<id>bundle-manifest</id>
<goals>
<goal>manifest</goal>
</goals>
<configuration>
<instructions>
<Export-Package>
org.eclipse.persistence.internal.jaxb,
org.eclipse.persistence.internal.jaxb.many,
*
</Export-Package>
<Import-Package>
org.eclipse.persistence.internal.libraries.asm*;version="${version;==;${@}}",
*
</Import-Package>
</instructions>
</configuration>
</execution>
</executions>
</plugin>
<!--Run specified tests/test suite-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<workingDirectory>${project.build.directory}/test-run</workingDirectory>
<systemPropertyVariables>
<eclipselink.xml.platform>${test.xml.platform}</eclipselink.xml.platform>
<parser>${test.xml.parser}</parser>
</systemPropertyVariables>
</configuration>
<executions>
<execution>
<id>default-test</id>
<configuration>
<skipTests>${test-skip-moxy-srg}</skipTests>
<excludes>
<exclude>*</exclude>
</excludes>
</configuration>
</execution>
<execution>
<id>test-moxy-jaxb-srg</id>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skipTests>${test-skip-moxy-jaxb-srg}</skipTests>
<reportNameSuffix>test-moxy-jaxb-srg</reportNameSuffix>
<includes>
<include>org.eclipse.persistence.testing.jaxb.JAXBSRGTestSuite</include>
</includes>
</configuration>
</execution>
<execution>
<id>test-moxy-jaxb</id>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skipTests>${test-skip-moxy-jaxb}</skipTests>
<reportNameSuffix>test-moxy-jaxb</reportNameSuffix>
<forkCount>1</forkCount>
<reuseForks>false</reuseForks>
<includes>
<include>org.eclipse.persistence.testing.jaxb.JAXBTestSuite</include>
<include>org.eclipse.persistence.testing.jaxb.JAXBTestSuite2</include>
<include>org.eclipse.persistence.testing.jaxb.JAXBTestSuite3</include>
<include>org.eclipse.persistence.testing.jaxb.JAXBTestSuite4</include>
<include>org.eclipse.persistence.testing.jaxb.JAXBBeanValidationTestSuite</include>
<include>org.eclipse.persistence.testing.jaxb.beanvalidation.BeanValidationHelperTestCase</include>
<include>org.eclipse.persistence.testing.jaxb.listofobjects.JAXBListOfObjectsSuite</include>
<include>org.eclipse.persistence.testing.jaxb.annotations.AnnotationsTestSuite</include>
<include>org.eclipse.persistence.testing.jaxb.externalizedmetadata.ExternalizedMetadataTestSuite</include>
<include>org.eclipse.persistence.testing.jaxb.javadoc.JavadocAnnotationExamplesTestSuite</include>
<include>org.eclipse.persistence.testing.jaxb.typemappinginfo.TypeMappingInfoTestSuite</include>
<include>org.eclipse.persistence.testing.jaxb.schemagen.SchemaGenTestSuite</include>
<include>org.eclipse.persistence.testing.jaxb.xmladapter.XmlAdapterTestSuite</include>
<include>org.eclipse.persistence.testing.jaxb.dynamic.DynamicJAXBTestSuite</include>
<include>org.eclipse.persistence.testing.jaxb.json.JSONTestSuite</include>
<include>org.eclipse.persistence.testing.jaxb.rs.RESTfulTestSuite</include>
<include>org.eclipse.persistence.testing.moxy.unit.**.*TestCase</include>
<include>org.eclipse.persistence.testing.jaxb.annotations.xmlidref.XmlIdSystemPropertyNotSetTestCase</include>
<include>org.eclipse.persistence.testing.jaxb.annotations.xmlvalue.XmlValueSystemPropertyNotSetTestCase</include>
<include>org.eclipse.persistence.testing.jaxb.annotations.xmlvalue.XmlValueSystemPropertyTestCase</include>
</includes>
<excludes>
<exclude>org.eclipse.persistence.testing.moxy.unit.**.*NonDefaultTestCase</exclude>
<exclude>org.eclipse.persistence.testing.jaxb.**.*NonDefaultTestCase</exclude>
</excludes>
</configuration>
</execution>
<execution>
<id>test-moxy-jaxb-non-default-system-properties</id>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skipTests>${test-skip-moxy-jaxb}</skipTests>
<reportNameSuffix>test-moxy-jaxb-non-default-system-properties</reportNameSuffix>
<systemPropertyVariables>
<org.eclipse.persistence.moxy.annotation.xml-id-extension>true</org.eclipse.persistence.moxy.annotation.xml-id-extension>
<org.eclipse.persistence.moxy.annotation.xml-value-extension>true</org.eclipse.persistence.moxy.annotation.xml-value-extension>
<org.eclipse.persistence.json.type-compatibility>true</org.eclipse.persistence.json.type-compatibility>
<org.eclipse.persistence.json.use-xsd-types-prefix>true</org.eclipse.persistence.json.use-xsd-types-prefix>
<eclipselink.logging.level.moxy>FINE</eclipselink.logging.level.moxy>
<eclipselink.logging.payload.moxy>true</eclipselink.logging.payload.moxy>
</systemPropertyVariables>
<includes>
<include>org.eclipse.persistence.testing.moxy.unit.**.*NonDefaultTestCase</include>
<include>org.eclipse.persistence.testing.jaxb.**.*NonDefaultTestCase</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
<!--
To run tests on JPMS, remove all surefire executions except of the default-test
and uncomment following:
-->
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>${ant.version}</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-junitlauncher</artifactId>
<version>${ant.version}</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-junit</artifactId>
<version>${ant.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<record name="${project.build.directory}/build.txt" loglevel="verbose" action="start" />
<path id="moxy.test.module.path">
<pathelement path="${project.build.outputDirectory}"/>
<pathelement path="${project.build.testOutputDirectory}"/>
<pathelement path="${org.glassfish:jakarta.json:jar}"/>
<pathelement path="${org.eclipse.persistence:org.eclipse.persistence.asm:jar}"/>
<pathelement path="${org.eclipse.persistence:org.eclipse.persistence.core:jar}"/>
<pathelement path="${jakarta.annotation:jakarta.annotation-api:jar}"/>
<pathelement path="${jakarta.el:jakarta.el-api:jar}"/>
<pathelement path="${jakarta.inject:jakarta.inject-api:jar}"/>
<pathelement path="${jakarta.validation:jakarta.validation-api:jar}"/>
<pathelement path="${jakarta.ws.rs:jakarta.ws.rs-api:jar}"/>
<pathelement path="${jakarta.xml.bind:jakarta.xml.bind-api:jar}"/>
<pathelement path="${com.fasterxml:classmate:jar}"/>
<pathelement path="${com.sun.activation:jakarta.activation:jar}"/>
<pathelement path="${com.sun.mail:jakarta.mail:jar}"/>
<pathelement path="${com.sun.xml.bind:jaxb-core:jar}"/>
<pathelement path="${com.sun.xml.bind:jaxb-impl:jar}"/>
<pathelement path="${com.sun.xml.bind:jaxb-xjc:jar}"/>
<pathelement path="${org.glassfish:jakarta.el:jar}"/>
<pathelement path="${org.glassfish.jersey.core:jersey-common:jar}"/>
<pathelement path="${org.hamcrest:hamcrest-core:jar}"/>
<pathelement path="${org.hibernate.validator:hibernate-validator:jar}"/>
<pathelement path="${org.jboss.logging:jboss-logging:jar}"/>
<pathelement path="${junit:junit:jar}"/>
</path>
<path id="moxy.test.class.path">
<pathelement path="${org.glassfish.hk2:osgi-resource-locator:jar}"/>
</path>
<echo message="Running moxy tests on JPMS"/>
<property name="report.dir" location="${project.build.directory}"/>
<property name="src.dir" location="${project.build.testSourceDirectory}"/>
<property name="build.dir" location="${project.build.directory}/ant-run"/>
<delete dir="${report.dir}/jaxb" failonerror="false"/>
<mkdir dir="${report.dir}/jaxb"/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dir}/tmp"/>
<junit fork="true" failureproperty="junit.failed.jaxb" logfailedtests="true" showoutput="yes" printsummary="yes"
dir="${build.dir}" tempdir="${build.dir}/tmp" >
<jvmarg value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"/>
<modulepath refid="moxy.test.module.path"/>
<classpath refid="moxy.test.class.path"/>
<jvmarg value="-ea"/>
<jvmarg line="- -add-modules jakarta.json,org.eclipse.persistence.moxy.test,com.fasterxml.classmate"/>
<sysproperty key="platformType" value="SAX"/>
<sysproperty key="metadataType" value="JAVA"/>
<sysproperty key="useLogging" value="false"/>
<sysproperty key="eclipselink.xml.platform" value="org.eclipse.persistence.platform.xml.jaxp.JAXPPlatform"/>
<sysproperty key="parser" value="org.eclipse.persistence.platform.xml.jaxp.JAXPParser"/>
<batchtest todir="${report.dir}/jaxb">
<fileset dir="${src.dir}">
<include name="org/eclipse/persistence/testing/jaxb/JAXBTestSuite.java"/>
<include name="org/eclipse/persistence/testing/jaxb/JAXBTestSuite2.java"/>
<include name="org/eclipse/persistence/testing/jaxb/JAXBTestSuite3.java"/>
<include name="org/eclipse/persistence/testing/jaxb/JAXBTestSuite4.java"/>
<include name="org/eclipse/persistence/testing/jaxb/JAXBBeanValidationTestSuite.java" />
<include name="org/eclipse/persistence/testing/jaxb/beanvalidation/BeanValidationHelperTestCase.java"/>
<include name="org/eclipse/persistence/testing/jaxb/listofobjects/JAXBListOfObjectsSuite.java"/>
<include name="org/eclipse/persistence/testing/jaxb/annotations/AnnotationsTestSuite.java"/>
<include
name="org/eclipse/persistence/testing/jaxb/externalizedmetadata/ExternalizedMetadataTestSuite.java"/>
<include
name="org/eclipse/persistence/testing/jaxb/javadoc/JavadocAnnotationExamplesTestSuite.java"/>
<include
name="org/eclipse/persistence/testing/jaxb/typemappinginfo/TypeMappingInfoTestSuite.java"/>
<include name="org/eclipse/persistence/testing/jaxb/schemagen/SchemaGenTestSuite.java"/>
<include name="org/eclipse/persistence/testing/jaxb/xmladapter/XmlAdapterTestSuite.java"/>
<include name="org/eclipse/persistence/testing/jaxb/dynamic/DynamicJAXBTestSuite.java"/>
<include name="org/eclipse/persistence/testing/jaxb/json/JSONTestSuite.java"/>
<include name="org/eclipse/persistence/testing/jaxb/rs/RESTfulTestSuite.java"/>
<include name="org/eclipse/persistence/testing/moxy/unit/**/*TestCase.java"/>
<include name="org/eclipse/persistence/testing/jaxb/annotations/xmlidref/XmlIdSystemPropertyNotSetTestCase.java"/>
<include name="org/eclipse/persistence/testing/jaxb/annotations/xmlidref/XmlValueSystemPropertyNotSetTestCase.java"/>
<include name="org/eclipse/persistence/testing/jaxb/annotations/xmlidref/XmlValueSystemPropertyTestCase.java"/>
</fileset>
<formatter type="xml"/>
</batchtest>
</junit>
<junitreport todir="${report.dir}/jaxb">
<fileset dir="${report.dir}/jaxb">
<include name="**/*.xml"/>
</fileset>
<report todir="${report.dir}/jaxb"/>
</junitreport>
<fail message="TESTS FAILED !">
<condition>
<and>
<isset property="junit.failed.jaxb"/>
<istrue value="${test.fail.fast}"/>
</and>
</condition>
</fail>
</target>
</configuration>
</execution>
</executions>
</plugin>-->
</plugins>
</build>
<profiles>
<!--MOXy related profiles-->
<profile>
<id>test-srg</id>
<properties>
<test-skip-moxy-jaxb-srg>false</test-skip-moxy-jaxb-srg>
</properties>
</profile>
<profile>
<id>test-lrg</id>
<properties>
<test-skip-moxy-jaxb-srg>true</test-skip-moxy-jaxb-srg>
<test-skip-moxy-jaxb>false</test-skip-moxy-jaxb>
</properties>
</profile>
<profile>
<id>test-moxy-srg</id>
<properties>
<test-skip-moxy-jaxb-srg>false</test-skip-moxy-jaxb-srg>
</properties>
</profile>
<profile>
<id>test-moxy-lrg</id>
<properties>
<test-skip-moxy-jaxb-srg>true</test-skip-moxy-jaxb-srg>
<test-skip-moxy-jaxb>false</test-skip-moxy-jaxb>
</properties>
</profile>
<profile>
<id>test-moxy-jaxb-srg</id>
<properties>
<test-skip-moxy-jaxb-srg>false</test-skip-moxy-jaxb-srg>
</properties>
</profile>
<profile>
<id>test-moxy-jaxb</id>
<properties>
<test-skip-moxy-jaxb>false</test-skip-moxy-jaxb>
</properties>
</profile>
</profiles>
</project>