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

    Copyright (c) 2019, 2024 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0 which is available at
    http://www.eclipse.org/legal/epl-2.0,
    or the Eclipse Distribution License v. 1.0 which is available at
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause

-->

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://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 Core</name>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>org.eclipse.persistence.core</artifactId>
    <packaging>jar</packaging>

    <parent>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.parent</artifactId>
        <version>4.0.6</version>
        <relativePath>../../pom.xml</relativePath>
    </parent>

    <properties>
        <!-- Too many to fix -->
        <comp.xlint>-Xlint:all,-serial,-exports</comp.xlint>

        <test-skip-oxm-srg>${skipTests}</test-skip-oxm-srg>
        <test-skip-oxm>true</test-skip-oxm>
        <test-skip-oxm-dom>true</test-skip-oxm-dom>
        <test-skip-oxm-deploymentxml>true</test-skip-oxm-deploymentxml>
        <test-skip-oxm-deploymentxml-tl>true</test-skip-oxm-deploymentxml-tl>
        <test-skip-oxm-docpres>true</test-skip-oxm-docpres>
    </properties>

    <dependencies>
        <!--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.jpa.jpql</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <!--API and 3rd party dependecies-->
        <dependency>
            <groupId>org.ow2.asm</groupId>
            <artifactId>asm</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.ow2.asm</groupId>
            <artifactId>asm-commons</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.ow2.asm</groupId>
            <artifactId>asm-tree</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.enterprise</groupId>
            <artifactId>jakarta.enterprise.cdi-api</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.jms</groupId>
            <artifactId>jakarta.jms-api</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.json</groupId>
            <artifactId>jakarta.json-api</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.persistence</groupId>
            <artifactId>jakarta.persistence-api</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.mail</groupId>
            <artifactId>jakarta.mail-api</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.resource</groupId>
            <artifactId>jakarta.resource-api</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.transaction</groupId>
            <artifactId>jakarta.transaction-api</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.activation</groupId>
            <artifactId>jakarta.activation-api</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>jakarta.xml.bind</groupId>
            <artifactId>jakarta.xml.bind-api</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <!--Test dependencies-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.eclipse.parsson</groupId>
            <artifactId>parsson</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.eclipse.angus</groupId>
            <artifactId>angus-activation</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <!--Filtering enables generate/substitute version/qualifier... properties from Maven into version.properties file-->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>

        <testResources>
            <testResource>
                <directory>src/test/resources</directory>
                <filtering>false</filtering>
            </testResource>
        </testResources>

        <plugins>
            <!--Initialize build.date and build.time buildNumber properties. Used to generate version.properties in org.eclipse.persistence.core module-->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>build.date</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>create-timestamp</goal>
                        </goals>
                        <configuration>
                            <timestampFormat>yyyyMMdd</timestampFormat>
                            <timestampPropertyName>build.date</timestampPropertyName>
                        </configuration>
                    </execution>
                    <execution>
                        <id>build.time</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>create-timestamp</goal>
                        </goals>
                        <configuration>
                            <timestampFormat>HHmm</timestampFormat>
                            <timestampPropertyName>build.time</timestampPropertyName>
                        </configuration>
                    </execution>
                    <execution>
                        <phase>initialize</phase>
                        <goals>
                            <goal>create</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.documentpreservation=org.eclipse.persistence.core.test</arg>
                                <arg>--add-exports</arg>
                                <arg>org.eclipse.persistence.core/org.eclipse.persistence.internal.oxm.record.deferred=org.eclipse.persistence.core.test</arg>
                                <arg>--add-exports</arg>
                                <arg>org.eclipse.persistence.core/org.eclipse.persistence.internal.oxm.schema=org.eclipse.persistence.core.test</arg>
                                <arg>--add-exports</arg>
                                <arg>org.eclipse.persistence.core/org.eclipse.persistence.internal.oxm.conversion=org.eclipse.persistence.core.test</arg>
                                <arg>--add-exports</arg>
                                <arg>org.eclipse.persistence.core/org.eclipse.persistence.internal.oxm.schema.model=org.eclipse.persistence.core.test</arg>
                            </compilerArgs>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!--Generate OSGi bundle/manifest-->
            <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.cache,
                                    org.eclipse.persistence.internal.codegen,
                                    org.eclipse.persistence.internal.core.databaseaccess,
                                    org.eclipse.persistence.internal.core.descriptors,
                                    org.eclipse.persistence.internal.core.helper,
                                    org.eclipse.persistence.internal.core.queries,
                                    org.eclipse.persistence.internal.core.sessions,
                                    org.eclipse.persistence.internal.databaseaccess,
                                    org.eclipse.persistence.internal.descriptors,
                                    org.eclipse.persistence.internal.descriptors.changetracking,
                                    org.eclipse.persistence.internal.dynamic,
                                    org.eclipse.persistence.internal.expressions,
                                    org.eclipse.persistence.internal.helper,
                                    org.eclipse.persistence.internal.helper.linkedlist,
                                    org.eclipse.persistence.internal.history,
                                    org.eclipse.persistence.internal.identitymaps,
                                    org.eclipse.persistence.internal.indirection,
                                    org.eclipse.persistence.internal.jpa.jpql,
                                    org.eclipse.persistence.internal.jpa.parsing,
                                    org.eclipse.persistence.internal.localization,
                                    org.eclipse.persistence.internal.localization.i18n,
                                    org.eclipse.persistence.internal.mappings.converters,
                                    org.eclipse.persistence.internal.oxm,
                                    org.eclipse.persistence.internal.oxm.accessor,
                                    org.eclipse.persistence.internal.oxm.conversion,
                                    org.eclipse.persistence.internal.oxm.documentpreservation,
                                    org.eclipse.persistence.internal.oxm.mappings,
                                    org.eclipse.persistence.internal.oxm.record,
                                    org.eclipse.persistence.internal.oxm.record.deferred,
                                    org.eclipse.persistence.internal.oxm.record.json,
                                    org.eclipse.persistence.internal.oxm.record.namespaces,
                                    org.eclipse.persistence.internal.oxm.schema,
                                    org.eclipse.persistence.internal.oxm.schema.model,
                                    org.eclipse.persistence.internal.oxm.unmapped,
                                    org.eclipse.persistence.internal.platform.database,
                                    org.eclipse.persistence.internal.queries,
                                    org.eclipse.persistence.internal.security,
                                    org.eclipse.persistence.internal.sequencing,
                                    org.eclipse.persistence.internal.sessions,
                                    org.eclipse.persistence.internal.sessions.cdi,
                                    org.eclipse.persistence.internal.sessions.coordination,
                                    org.eclipse.persistence.internal.sessions.coordination.broadcast,
                                    org.eclipse.persistence.internal.sessions.coordination.jms,
                                    org.eclipse.persistence.internal.sessions.coordination.rmi,
                                    org.eclipse.persistence.internal.sessions.factories,
                                    org.eclipse.persistence.internal.sessions.factories.model,
                                    org.eclipse.persistence.internal.sessions.factories.model.event,
                                    org.eclipse.persistence.internal.sessions.factories.model.log,
                                    org.eclipse.persistence.internal.sessions.factories.model.login,
                                    org.eclipse.persistence.internal.sessions.factories.model.platform,
                                    org.eclipse.persistence.internal.sessions.factories.model.pool,
                                    org.eclipse.persistence.internal.sessions.factories.model.project,
                                    org.eclipse.persistence.internal.sessions.factories.model.property,
                                    org.eclipse.persistence.internal.sessions.factories.model.rcm,
                                    org.eclipse.persistence.internal.sessions.factories.model.rcm.command,
                                    org.eclipse.persistence.internal.sessions.factories.model.sequencing,
                                    org.eclipse.persistence.internal.sessions.factories.model.session,
                                    org.eclipse.persistence.internal.sessions.factories.model.transport,
                                    org.eclipse.persistence.internal.sessions.factories.model.transport.discovery,
                                    org.eclipse.persistence.internal.sessions.factories.model.transport.naming,
                                    org.eclipse.persistence.internal.sessions.remote,
                                    org.eclipse.persistence.internal.weaving,
                                    *
                                </Export-Package>
                                <Import-Package>
                                    org.eclipse.persistence.internal.libraries.asm*;version=!;resolution:=optional,
                                    org.objectweb.asm*;version=!;resolution:=optional,
                                    javax.rmi;version=!;resolution:=optional,
                                    javax.rmi.CORBA;version=!;resolution:=optional,
                                    org.omg.CORBA;version=!;resolution:=optional,
                                    org.omg.CORBA.portable;version=!;resolution:=optional,
                                    org.omg.CORBA_2_3.portable;version=!;resolution:=optional,
                                    org.eclipse.persistence.internal.libraries.asm*;version="${version;==;${@}}",
                                    org.eclipse.persistence.eis.adapters.xmlfile;resolution:=optional,
                                    org.eclipse.persistence.sessions.coordination.rmi.iiop;resolution:=optional,
                                    org.eclipse.persistence.sessions.coordination.corba.sun;resolution:=optional,
                                    com.sun.xml.bind;version=!;resolution:=optional,
                                    org.glassfish.jaxb.runtime;version=!;resolution:=optional,
                                    weblogic.*;resolution:=optional,
                                    *
                                </Import-Package>
                            </instructions>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!--Pack test classes due dependency to other modules (Corba...)-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <executions>
                    <execution>
                        <id>jar-tests</id>
                        <phase>package</phase>
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <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>
                            <includes>
                                <include>org/eclipse/persistence/testing/tests/junit/**/*Test</include>
                            </includes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>test-oxm-srg</id>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skipTests>${test-skip-oxm-srg}</skipTests>
                            <reportNameSuffix>test-oxm-srg</reportNameSuffix>
                            <forkCount>1</forkCount>
                            <reuseForks>false</reuseForks>
                            <includes>
                                <include>org.eclipse.persistence.testing.oxm.OXMSRGTestSuite</include>
                            </includes>
                            <excludes>
                                <exclude>org.eclipse.persistence.testing.oxm.systemproperties.OXMSystemPropertiesNonDefaultTestCases</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.systemproperties.DateAndTimeNonDefaultTestCases</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>test-oxm</id>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skipTests>${test-skip-oxm}</skipTests>
                            <reportNameSuffix>test-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>
                                <include>org.eclipse.persistence.testing.oxm.systemproperties.OXMSystemPropertiesTestCases</include>
                            </includes>
                            <excludes>
                                <exclude>*.MappingTestSuite</exclude>
                                <exclude>*.OneTo*TestSuite</exclude>
                                <exclude>*.DeploymentXMLMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.DocPresMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.mappings.anyobjectandanycollection.XMLAnyObjectAndAnyCollectionMappingTestSuite</exclude>
                                <exclude>*.SAXMappingTestSuite</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.systemproperties.OXMSystemPropertiesNonDefaultTestCases</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.systemproperties.DateAndTimeNonDefaultTestCases</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>test-oxm-dom</id>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skipTests>${test-skip-oxm-dom}</skipTests>
                            <reportNameSuffix>test-oxm-dom</reportNameSuffix>
                            <systemPropertyVariables>
                                <platformType>DOM</platformType>
                                <metadataType>JAVA</metadataType>
                            </systemPropertyVariables>
                            <forkCount>1</forkCount>
                            <reuseForks>false</reuseForks>
                            <includes>
                                <include>org.eclipse.persistence.testing.oxm.**.*TestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.ClassLoaderTestCases</include>
                                <include>org.eclipse.persistence.testing.oxm.**.MappingClassLoaderTestCases</include>
                                <include>org.eclipse.persistence.testing.oxm.**.advancedxpath.**.*TestCases</include>
                            </includes>
                            <excludes>
                                <exclude>**.OXTestSuite</exclude>
                                <exclude>**.OXMSRGTestSuite</exclude>
                                <exclude>**.DeploymentXMLOXTestSuite</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>
                                <exclude>org.eclipse.persistence.testing.oxm.systemproperties.OXMSystemPropertiesNonDefaultTestCases</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.systemproperties.DateAndTimeNonDefaultTestCases</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>test-oxm-deploymentxml</id>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skipTests>${test-skip-oxm-deploymentxml}</skipTests>
                            <reportNameSuffix>test-oxm-deploymentxml</reportNameSuffix>
                            <systemPropertyVariables>
                                <platformType>DOM</platformType>
                                <metadataType>XML_ECLIPSELINK</metadataType>
                            </systemPropertyVariables>
                            <forkCount>1</forkCount>
                            <reuseForks>false</reuseForks>
                            <includes>
                                <include>org.eclipse.persistence.testing.oxm.**.DocumentPreservationTestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.RootElementTestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.XMLRootTestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.XMLMarshalTestCases</include>
                                <include>org.eclipse.persistence.testing.oxm.**.XMLMarshalFragmentTestCases</include>
                                <include>org.eclipse.persistence.testing.oxm.**.XMLUnmarshalTestCases</include>
                                <include>org.eclipse.persistence.testing.oxm.**.ReadOnlyTestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.InheritanceTestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.ConverterTestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.*MappingTestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.ClassLoaderTestCases</include>
                                <include>org.eclipse.persistence.testing.oxm.**.MappingClassLoaderTestCases</include>
                                <include>org.eclipse.persistence.testing.oxm.**.*amespaceTestSuite</include>
                            </includes>
                            <excludes>
                                <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>
                                <exclude>org.eclipse.persistence.testing.oxm.systemproperties.OXMSystemPropertiesNonDefaultTestCases</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.systemproperties.DateAndTimeNonDefaultTestCases</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                    <!--Oracle ToLink specific test-->
                    <execution>
                        <id>test-oxm-deploymentxml-tl</id>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skipTests>${test-skip-oxm-deploymentxml-tl}</skipTests>
                            <reportNameSuffix>test-oxm-deploymentxml-tl</reportNameSuffix>
                            <systemPropertyVariables>
                                <platformType>DOM</platformType>
                                <metadataType>XML_TOPLINK</metadataType>
                            </systemPropertyVariables>
                            <forkCount>1</forkCount>
                            <reuseForks>false</reuseForks>
                            <includes>
                                <include>org.eclipse.persistence.testing.oxm.**.DocumentPreservationTestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.RootElementTestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.XMLRootTestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.XMLMarshalTestCases</include>
                                <include>org.eclipse.persistence.testing.oxm.**.XMLMarshalFragmentTestCases</include>
                                <include>org.eclipse.persistence.testing.oxm.**.XMLUnmarshalTestCases</include>
                                <include>org.eclipse.persistence.testing.oxm.**.ReadOnlyTestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.InheritanceTestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.ConverterTestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.*MappingTestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.ClassLoaderTestCases</include>
                                <include>org.eclipse.persistence.testing.oxm.**.MappingClassLoaderTestCases</include>
                                <include>org.eclipse.persistence.testing.oxm.**.*amespaceTestSuite</include>
                            </includes>
                            <excludes>
                                <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>
                                <exclude>org.eclipse.persistence.testing.oxm.systemproperties.OXMSystemPropertiesNonDefaultTestCases</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.systemproperties.DateAndTimeNonDefaultTestCases</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>test-oxm-docpres</id>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skipTests>${test-skip-oxm-docpres}</skipTests>
                            <reportNameSuffix>test-oxm-docpres</reportNameSuffix>
                            <systemPropertyVariables>
                                <platformType>DOC_PRES</platformType>
                                <metadataType>JAVA</metadataType>
                            </systemPropertyVariables>
                            <forkCount>1</forkCount>
                            <reuseForks>false</reuseForks>
                            <includes>
                                <include>org.eclipse.persistence.testing.oxm.**.*TestSuite</include>
                                <include>org.eclipse.persistence.testing.oxm.**.ClassLoaderTestCases</include>
                                <include>org.eclipse.persistence.testing.oxm.**.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.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>
                                <exclude>org.eclipse.persistence.testing.oxm.systemproperties.OXMSystemPropertiesNonDefaultTestCases</exclude>
                                <exclude>org.eclipse.persistence.testing.oxm.systemproperties.DateAndTimeNonDefaultTestCases</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>test-oxm-non-default-system-properties</id>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                            <skipTests>${test-skip-oxm}</skipTests>
                            <reportNameSuffix>test-oxm-non-default-system-properties</reportNameSuffix>
                            <forkCount>1</forkCount>
                            <reuseForks>false</reuseForks>
                            <systemPropertyVariables>
                                <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>
                                <org.eclipse.persistence.json.type-attribute-name>jsonTestType</org.eclipse.persistence.json.type-attribute-name>
                                <org.eclipse.persistence.json.disable-nested-array-name>true</org.eclipse.persistence.json.disable-nested-array-name>
                                <org.eclipse.persistence.xml.time.suffix>.0</org.eclipse.persistence.xml.time.suffix>
                            </systemPropertyVariables>
                            <includes>
                                <include>org.eclipse.persistence.testing.oxm.systemproperties.OXMSystemPropertiesNonDefaultTestCases</include>
                                <include>org.eclipse.persistence.testing.oxm.systemproperties.DateAndTimeNonDefaultTestCases</include>
                            </includes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>test-srg</id>
            <properties>
                <test-skip-oxm-srg>false</test-skip-oxm-srg>
            </properties>
        </profile>
        <profile>
            <id>test-lrg</id>
            <properties>
                <test-skip-oxm-srg>true</test-skip-oxm-srg>
                <test-skip-oxm>false</test-skip-oxm>
                <test-skip-oxm-dom>false</test-skip-oxm-dom>
                <test-skip-oxm-deploymentxml>false</test-skip-oxm-deploymentxml>
                <test-skip-oxm-docpres>false</test-skip-oxm-docpres>
            </properties>
        </profile>
        <profile>
            <id>test-core-srg</id>
            <properties>
                <test-skip-oxm-srg>false</test-skip-oxm-srg>
            </properties>
        </profile>
        <profile>
            <id>test-core-lrg</id>
            <properties>
                <test-skip-oxm-srg>true</test-skip-oxm-srg>
                <test-skip-oxm>false</test-skip-oxm>
                <test-skip-oxm-dom>false</test-skip-oxm-dom>
                <test-skip-oxm-deploymentxml>false</test-skip-oxm-deploymentxml>
                <test-skip-oxm-docpres>false</test-skip-oxm-docpres>
            </properties>
        </profile>
        <profile>
            <id>test-oxm-srg</id>
            <properties>
                <test-skip-oxm-srg>false</test-skip-oxm-srg>
            </properties>
        </profile>
        <profile>
            <id>test-oxm</id>
            <properties>
                <test-skip-oxm>false</test-skip-oxm>
            </properties>
        </profile>
        <profile>
            <id>test-oxm-dom</id>
            <properties>
                <test-skip-oxm-dom>false</test-skip-oxm-dom>
            </properties>
        </profile>
        <profile>
            <id>test-oxm-deploymentxml</id>
            <properties>
                <test-skip-oxm-deploymentxml>false</test-skip-oxm-deploymentxml>
            </properties>
        </profile>
        <profile>
            <id>test-oxm-deploymentxml-tl</id>
            <properties>
                <test-skip-oxm-deploymentxml-tl>false</test-skip-oxm-deploymentxml-tl>
            </properties>
        </profile>
        <profile>
            <id>test-oxm-docpres</id>
            <properties>
                <test-skip-oxm-docpres>false</test-skip-oxm-docpres>
            </properties>
        </profile>
    </profiles>
</project>
