<?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

-->

<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
    <id>eclipselink-plugins.zip</id>
    <formats>
        <format>zip</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <componentDescriptors>
        <componentDescriptor>src/main/assembly/common-license.xml</componentDescriptor>
    </componentDescriptors>
    <dependencySets>
        <dependencySet>
            <outputFileNameMapping>${artifact.artifactId}_${release.version}.${build.qualifier}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.eclipse.persistence:*:*:*:${project.version}</include>
            </includes>
            <excludes>
                <exclude>org.eclipse.persistence:*:*:tests</exclude>
                <exclude>org.eclipse.persistence:org.eclipse.persistence.asm:*</exclude>
                <exclude>org.eclipse.persistence:org.eclipse.persistence.oracleddlparser:*</exclude>
                <exclude>org.eclipse.persistence:commonj.sdo:*</exclude>
            </excludes>
            <scope>test</scope>
        </dependencySet>
        <dependencySet>
            <outputFileNameMapping>${artifact.artifactId}_${artifact.version}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.eclipse.persistence:org.eclipse.persistence.asm:*</include>
                <include>org.eclipse.persistence:org.eclipse.persistence.oracleddlparser:*</include>
                <include>org.eclipse.persistence:commonj.sdo:*</include>
            </includes>
        </dependencySet>
        <dependencySet>
            <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
            <excludes>
                <exclude>com.sun:tools</exclude>
                <exclude>junit:*</exclude>
                <exclude>org.apache.ant:*</exclude>
                <exclude>org.eclipse.persistence:*</exclude>
                <exclude>org.hamcrest:*</exclude>
                <exclude>org.ow2.asm:*</exclude>
                <!--Test scope-->
                <exclude>org.codehaus.mojo:*</exclude>
                <exclude>biz.aQute.bnd:*</exclude>
                <exclude>com.sun.xml.fastinfoset:*</exclude>
                <exclude>com.sun.istack:*</exclude>
                <exclude>com.fasterxml:*</exclude>
                <exclude>org.glassfish.grizzly:*</exclude>
                <exclude>org.glassfish.ha:*</exclude>
                <exclude>org.hibernate.validator:*</exclude>
                <exclude>org.ops4j.base:*</exclude>
                <exclude>org.ops4j.pax.exam:*</exclude>
                <exclude>org.ops4j.pax.swissbox:*</exclude>
                <exclude>org.ops4j.pax.url:*</exclude>
            </excludes>
            <scope>test</scope>
        </dependencySet>
        <dependencySet>
            <outputFileNameMapping>jakarta.inject.jar</outputFileNameMapping>
            <includes>
                <include>jakarta.inject:jakarta.inject</include>
            </includes>
            <scope>test</scope>
        </dependencySet>
    </dependencySets>
</assembly>
