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

    Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.

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

    SPDX-License-Identifier: BSD-3-Clause

-->

<!--
    This project builds the Activation API jar file, which contains only
    the jakarta.activation.* API definitions and is *only* intended to be used
    for programs to compile against.  Note that it includes none of the
    implementation-specific classes that the jakarta.activation.* classes rely on.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                http://maven.apache.org/maven-v4_0_0.xsd">
    <parent>
        <groupId>com.sun.activation</groupId>
        <artifactId>all</artifactId>
        <version>2.0.1</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>jakarta.activation</groupId>
    <artifactId>jakarta.activation-api</artifactId>
    <name>Jakarta Activation API jar</name>
    <properties>
        <activation.packages.export>
            jakarta.activation.*; version=${activation.spec.version},
            !com.sun.*
        </activation.packages.export>
        <activation.packages.import>!com.sun.*</activation.packages.import>
        <activation.bundle.symbolicName>jakarta.activation-api</activation.bundle.symbolicName>
        <activation.recompile.skip>true</activation.recompile.skip>
    </properties>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <!-- download the binaries -->
                        <id>get-binaries</id>
                        <phase>process-sources</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>com.sun.activation</groupId>
                                    <artifactId>jakarta.activation</artifactId>
                                    <version>${project.version}</version>
                                </artifactItem>
                            </artifactItems>
                            <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <!-- download the sources -->
                        <id>get-sources</id>
                        <phase>process-sources</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>com.sun.activation</groupId>
                                    <artifactId>jakarta.activation</artifactId>
                                    <version>${project.version}</version>
                                    <classifier>sources</classifier>
                                    <outputDirectory>
                                        ${project.build.directory}/generated-sources/sources
                                    </outputDirectory>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <!--
                    Include all the implementation source files so that
                    javadoc run as part of "deploy" will find all the
                    required classes.

                    Don't include the metadata files from the original
                    jar file.
                    -->
                    <excludes>META-INF/**</excludes>
                </configuration>
            </plugin>
            <!--
            This plugin is reponsible for packaging artifacts
            as OSGi bundles.  Please refer to
            http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html
            for more information about how to use this plugin.
            -->
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <configuration>
                    <niceManifest>true</niceManifest>
                    <instructions>
                        <Bundle-SymbolicName>${activation.bundle.symbolicName}</Bundle-SymbolicName>
                        <Export-Package>${activation.packages.export}</Export-Package>
                        <Import-Package>${activation.packages.import}</Import-Package>
                    </instructions>
                </configuration>
                <!--
                    Since we don't change the packaging type to bundle, we
                    need to configure the plugin to execute the manifest goal
                    during the process-classes phase of the build life cycle.
                -->
                <executions>
                    <execution>
                        <id>osgi-manifest</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>manifest</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!--
            Don't include the implementation classes in the jar files.
            -->
            <plugin>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <finalName>${project.artifactId}</finalName>
                    <excludes>
                        <exclude>com/**</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <!--
            Don't include the implementation sources in the sources jar file.
            -->
            <plugin>
                <artifactId>maven-source-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>com/**</exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
