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

    Copyright (c) 2019 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

-->

<component xmlns="http://maven.apache.org/ASSEMBLY-COMPONENT/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://maven.apache.org/ASSEMBLY-COMPONENT/2.0.0 http://maven.apache.org/xsd/assembly-component-2.0.0.xsd">
    <dependencySets>
        <dependencySet>
            <outputDirectory>.</outputDirectory>
            <includes>
                <include>org.eclipse.persistence:org.eclipse.persistence.jpa.test.framework</include>
            </includes>
            <scope>test</scope>
            <unpack>true</unpack>
            <unpackOptions>
                <includes>
                    <include>org/eclipse/persistence/testing/framework/server/TestRunner1Bean.class</include>
                    <include>org/eclipse/persistence/testing/framework/server/TestRunner2Bean.class</include>
                </includes>
            </unpackOptions>
        </dependencySet>
    </dependencySets>
    <fileSets>
        <fileSet>
            <directory>${project.build.testOutputDirectory}/eclipselink-xml-merge-model</directory>
            <outputDirectory>META-INF</outputDirectory>
            <includes>
                <include>*.xml</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>${project.build.testOutputDirectory}/eclipselink-xml-only-model</directory>
            <outputDirectory>META-INF</outputDirectory>
            <includes>
                <include>*.xml</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>${project.build.testOutputDirectory}</directory>
            <outputDirectory>.</outputDirectory>
            <includes>
                <include>org/eclipse/persistence/testing/models/jpa/advanced/*.class</include>
                <include>org/eclipse/persistence/testing/models/jpa/xml/**</include>
                <include>org/eclipse/persistence/testing/tests/jpa/TestingProperties.class</include>
            </includes>
            <excludes>
                <exclude>**/member_*/**/*</exclude>
            </excludes>
        </fileSet>
    </fileSets>
</component>