<?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>3.1.0-SNAPSHOT</version>
        <relativePath>../../pom.xml</relativePath>
    </parent>

    <properties>
        <comp.xlint>-Xlint:all,-rawtypes,-unchecked,-serial,-exports</comp.xlint>
        <comp.xdoclint>-Xdoclint:-missing</comp.xdoclint>

        <test-skip-moxy-jaxb-srg>${skipTests}</test-skip-moxy-jaxb-srg>
        <test-skip-moxy-jaxb>true</test-skip-moxy-jaxb>
        <test-skip-moxy-oxm-srg>${skipTests}</test-skip-moxy-oxm-srg>
        <test-skip-moxy-oxm>true</test-skip-moxy-oxm>
        <test-skip-moxy-oxm-dom>true</test-skip-moxy-oxm-dom>
        <test-skip-moxy-oxm-deploymentxml>true</test-skip-moxy-oxm-deploymentxml>
        <test-skip-moxy-oxm-deploymentxml-tl>true</test-skip-moxy-oxm-deploymentxml-tl>
        <test-skip-moxy-oxm-docpres>true</test-skip-moxy-oxm-docpres>
    </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>com.sun.mail</groupId>
            <artifactId>jakarta.mail</artifactId>
        </dependency>

        <!--Test dependencies-->
        <!--Test framework-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <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>
                            <!-- TODO: move OXM tests to o.e.p.core -->
                            <compilerArgs>
                                <arg>--add-exports</arg>
                                <arg>org.eclipse.persistence.core/org.eclipse.persistence.internal.oxm.documentpreservation=org.eclipse.persistence.moxy.test</arg>
                                <arg>--add-exports</arg>
                                <arg>org.eclipse.persistence.core/org.eclipse.persistence.internal.oxm.record.deferred=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.conversion=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>
                    <execution>
                        <id>test-moxy-oxm-srg</id>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skipTests>${test-skip-moxy-oxm-srg}</skipTests>
                            <reportNameSuffix>test-moxy-oxm-srg</reportNameSuffix>
                            <forkCount>1</forkCount>
                            <reuseForks>false</reuseForks>
                            <includes>
                                <include>org.eclipse.persistence.testing.oxm.OXMSRGTestSuite</include>
                            </includes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>test-moxy-oxm</id>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skipTests>${test-skip-moxy-oxm}</skipTests>
                            <reportNameSuffix>test-moxy-oxm</reportNameSuffix>
                            <forkCount>1</forkCount>
                            <reuseForks>false</reuseForks>
                            <includes>
                                <include>*.ContainerAccessorTestSuite</include>
                                <include>*.*MappingTestSuite</include>
                                <include>*.RootElementTestSuite</include>
                                <include>*.InheritanceTestSuite</include>
                                <include>*.XMLMarshalTestCases</include>
                                <include>*.XMLMarshalFragmentTestCases</include>
                                <include>*.XMLUnmarshalTestCases</include>
                                <include>*.XMLMarshallerValidationModeTestCases</include>
                                <include>*.*amespaceTestSuite</include>
                                <include>*.ClassLoaderTestCases</include>
                                <include>*.MappingClassLoaderTestCases</include>
                                <include>org.eclipse.persistence.testing.oxm.mappings.directcollection.nillable.DirectCollectionMappingNillableTestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.mappings.keybased.multipletargets.compositekey.CompositeKeyTestCases</include>
                            </includes>
                            <excludes>
                                <exclude>*.MappingTestSuite</exclude>
                                <exclude>*.OneTo*TestSuite</exclude>
                                <exclude>*.DeploymentXMLMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.jaxb.*</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.DocPresMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.anyobjectandanycollection.XMLAnyObjectAndAnyCollectionMappingTestSuite</exclude>
                                <exclude>*.SAXMappingTestSuite</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>test-moxy-oxm-dom</id>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skipTests>${test-skip-moxy-oxm-dom}</skipTests>
                            <reportNameSuffix>test-moxy-oxm-dom</reportNameSuffix>
                            <systemPropertyVariables>
                                <platformType>DOM</platformType>
                                <metadataType>JAVA</metadataType>
                            </systemPropertyVariables>
                            <forkCount>1</forkCount>
                            <reuseForks>false</reuseForks>
                            <includes>
                                <include>**.*TestSuite</include>
                                <include>**.ClassLoaderTestCases</include>
                                <include>**.MappingClassLoaderTestCases</include>
                                <include>**.advancedxpath.**.*TestCases</include>
                            </includes>
                            <excludes>
                                <exclude>**.OXTestSuite</exclude>
                                <exclude>**.OXMSRGTestSuite</exclude>
                                <exclude>**.DeploymentXMLOXTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.jaxb.**.*</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.MappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.DeploymentXMLMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.DocPresMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.SAXMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.anyobjectandanycollection.XMLAnyObjectAndAnyCollectionMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.keybased.compositekeyclass.CompositeKeyClassMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.sequenced.SequencedMappingTestSuite</exclude>
                                <!--TODO move to the assembly module. Needs eclipselink.zip file-->
                                <exclude>org.eclipse.persistence.testing.jaxb.installer.InstallerTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.jaxb.installer.JaxbCompilerTestCase</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>test-moxy-oxm-deploymentxml</id>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skipTests>${test-skip-moxy-oxm-deploymentxml}</skipTests>
                            <reportNameSuffix>test-moxy-oxm-deploymentxml</reportNameSuffix>
                            <systemPropertyVariables>
                                <platformType>DOM</platformType>
                                <metadataType>XML_ECLIPSELINK</metadataType>
                            </systemPropertyVariables>
                            <forkCount>1</forkCount>
                            <reuseForks>false</reuseForks>
                            <includes>
                                <include>**.DocumentPreservationTestSuite</include>
                                <include>**.RootElementTestSuite</include>
                                <include>**.XMLRootTestSuite</include>
                                <include>**.XMLMarshalTestCases</include>
                                <include>**.XMLMarshalFragmentTestCases</include>
                                <include>**.XMLUnmarshalTestCases</include>
                                <include>**.ReadOnlyTestSuite</include>
                                <include>**.InheritanceTestSuite</include>
                                <include>**.ConverterTestSuite</include>
                                <include>**.*MappingTestSuite</include>
                                <include>**.ClassLoaderTestCases</include>
                                <include>**.MappingClassLoaderTestCases</include>
                                <include>**.*amespaceTestSuite</include>
                            </includes>
                            <excludes>
                                <exclude>org.eclipse.persistence.testing.jaxb.**.*</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.MappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.DeploymentXMLMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.DocPresMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.SAXMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.anyobjectandanycollection.XMLAnyObjectAndAnyCollectionMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.choice.XMLChoiceMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.choicecollection.XMLChoiceCollectionMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.choicecollection.converter.ConverterTestCases</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.sequenced.SequencedMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.directtofield.converter.DirectToFieldConverterTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.compositeobject.self.converter.CompositeObjectSelfConverterTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.keybased.compositekeyclass.CompositeKeyClassMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.containeracessor.ContainerAccessorTestSuite</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                    <!--Oracle ToLink specific test-->
                    <execution>
                        <id>test-moxy-oxm-deploymentxml-tl</id>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skipTests>${test-skip-moxy-oxm-deploymentxml-tl}</skipTests>
                            <reportNameSuffix>test-moxy-oxm-deploymentxml-tl</reportNameSuffix>
                            <systemPropertyVariables>
                                <platformType>DOM</platformType>
                                <metadataType>XML_TOPLINK</metadataType>
                            </systemPropertyVariables>
                            <forkCount>1</forkCount>
                            <reuseForks>false</reuseForks>
                            <includes>
                                <include>**.DocumentPreservationTestSuite</include>
                                <include>**.RootElementTestSuite</include>
                                <include>**.XMLRootTestSuite</include>
                                <include>**.XMLMarshalTestCases</include>
                                <include>**.XMLMarshalFragmentTestCases</include>
                                <include>**.XMLUnmarshalTestCases</include>
                                <include>**.ReadOnlyTestSuite</include>
                                <include>**.InheritanceTestSuite</include>
                                <include>**.ConverterTestSuite</include>
                                <include>**.*MappingTestSuite</include>
                                <include>**.ClassLoaderTestCases</include>
                                <include>**.MappingClassLoaderTestCases</include>
                                <include>**.*amespaceTestSuite</include>
                            </includes>
                            <excludes>
                                <exclude>org.eclipse.persistence.testing.jaxb.**.*</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.MappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.DeploymentXMLMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.DocPresMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.SAXMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.anyobjectandanycollection.XMLAnyObjectAndAnyCollectionMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.binarydata.XMLBinaryDataMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.binarydatacollection.XMLBinaryDataCollectionMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.choice.XMLChoiceMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.choicecollection.XMLChoiceCollectionMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.sequenced.SequencedMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.compositeobject.self.converter.CompositeObjectSelfConverterTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.keybased.compositekeyclass.CompositeKeyClassMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.containeracessor.ContainerAccessorTestSuite</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>test-moxy-oxm-docpres</id>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skipTests>${test-skip-moxy-oxm-docpres}</skipTests>
                            <reportNameSuffix>test-moxy-oxm-docpres</reportNameSuffix>
                            <systemPropertyVariables>
                                <platformType>DOC_PRES</platformType>
                                <metadataType>JAVA</metadataType>
                            </systemPropertyVariables>
                            <forkCount>1</forkCount>
                            <reuseForks>false</reuseForks>
                            <includes>
                                <include>**.*TestSuite</include>
                                <include>**.ClassLoaderTestCases</include>
                                <include>**.MappingClassLoaderTestCases</include>
                            </includes>
                            <excludes>
                                <exclude>**.ReadOnlyTestSuite</exclude>
                                <exclude>**.OXTestSuite</exclude>
                                <exclude>**.OXMSRGTestSuite</exclude>
                                <exclude>**.OneTo*TestSuite</exclude>
                                <exclude>**.DeploymentXMLOXTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.jaxb.**.*</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.MappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.DeploymentXMLMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.DocPresMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.SAXMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.anyobjectandanycollection.XMLAnyObjectAndAnyCollectionMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.keybased.KeyBasedMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.keybased.compositekeyclass.CompositeKeyClassMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.sequenced.SequencedMappingTestSuite</exclude>
                                <!--TODO move to the assembly module. Needs eclipselink.zip file-->
                                <exclude>org.eclipse.persistence.testing.jaxb.installer.InstallerTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.jaxb.installer.JaxbCompilerTestCase</exclude>
                            </excludes>
                        </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>
                <test-skip-moxy-oxm-srg>false</test-skip-moxy-oxm-srg>
            </properties>
        </profile>
        <profile>
            <id>test-lrg</id>
            <properties>
                <test-skip-moxy-jaxb-srg>true</test-skip-moxy-jaxb-srg>
                <test-skip-moxy-oxm-srg>true</test-skip-moxy-oxm-srg>
                <test-skip-moxy-jaxb>false</test-skip-moxy-jaxb>
                <test-skip-moxy-oxm>false</test-skip-moxy-oxm>
                <test-skip-moxy-oxm-dom>false</test-skip-moxy-oxm-dom>
                <test-skip-moxy-oxm-deploymentxml>false</test-skip-moxy-oxm-deploymentxml>
                <test-skip-moxy-oxm-docpres>false</test-skip-moxy-oxm-docpres>
            </properties>
        </profile>
        <profile>
            <id>test-moxy-srg</id>
            <properties>
                <test-skip-moxy-jaxb-srg>false</test-skip-moxy-jaxb-srg>
                <test-skip-moxy-oxm-srg>false</test-skip-moxy-oxm-srg>
            </properties>
        </profile>
        <profile>
            <id>test-moxy-lrg</id>
            <properties>
                <test-skip-moxy-jaxb-srg>true</test-skip-moxy-jaxb-srg>
                <test-skip-moxy-oxm-srg>true</test-skip-moxy-oxm-srg>
                <test-skip-moxy-jaxb>false</test-skip-moxy-jaxb>
                <test-skip-moxy-oxm>false</test-skip-moxy-oxm>
                <test-skip-moxy-oxm-dom>false</test-skip-moxy-oxm-dom>
                <test-skip-moxy-oxm-deploymentxml>false</test-skip-moxy-oxm-deploymentxml>
                <test-skip-moxy-oxm-docpres>false</test-skip-moxy-oxm-docpres>
            </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>
        <profile>
            <id>test-moxy-oxm-srg</id>
            <properties>
                <test-skip-moxy-oxm-srg>false</test-skip-moxy-oxm-srg>
            </properties>
        </profile>
        <profile>
            <id>test-moxy-oxm</id>
            <properties>
                <test-skip-moxy-oxm>false</test-skip-moxy-oxm>
            </properties>
        </profile>
        <profile>
            <id>test-moxy-oxm-dom</id>
            <properties>
                <test-skip-moxy-oxm-dom>false</test-skip-moxy-oxm-dom>
            </properties>
        </profile>
        <profile>
            <id>test-moxy-oxm-deploymentxml</id>
            <properties>
                <test-skip-moxy-oxm-deploymentxml>false</test-skip-moxy-oxm-deploymentxml>
            </properties>
        </profile>
        <profile>
            <id>test-moxy-oxm-deploymentxml-tl</id>
            <properties>
                <test-skip-moxy-oxm-deploymentxml-tl>false</test-skip-moxy-oxm-deploymentxml-tl>
            </properties>
        </profile>
        <profile>
            <id>test-moxy-oxm-docpres</id>
            <properties>
                <test-skip-moxy-oxm-docpres>false</test-skip-moxy-oxm-docpres>
            </properties>
        </profile>
    </profiles>
</project>
