<?xml version="1.0" encoding="iso-8859-1"?>
<!--

    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 Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<!--
    This project builds the Jakarta Mail "mailapi.jar" file.  This jar file
    contains a fully operational Jakarta Mail implementation but without any
    protocol providers.  It can be used with the separate protocol provider
    jar files (e.g., smtp.jar, imap.jar) to provide a full Jakarta Mail runtime
    implementation.
-->

<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.mail</groupId>
	<artifactId>all</artifactId>
	<version>1.6.7</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.sun.mail</groupId>
    <artifactId>mailapi</artifactId>
    <packaging>jar</packaging>
    <name>Jakarta Mail API (no providers)</name>

    <properties>
	<mail.packages.export>
	    javax.mail.*; version=${mail.spec.version},
	    com.sun.mail.util; version=${mail.osgiversion},
	    com.sun.mail.auth; version=${mail.osgiversion},
	    com.sun.mail.handlers; version=${mail.osgiversion}
	</mail.packages.export>
	<mail.bundle.symbolicName>
	    jakarta.mail.api
	</mail.bundle.symbolicName>
	<mail.extraClasses>javax/**</mail.extraClasses>
    </properties>

    <profiles>
	<!--
	    A special profile for compiling with the real JDK 1.7 compiler.
	    Exclude MailSessionDefinition and MailSessionDefinitions since
	    the former requires JDK 1.8 and the latter depends on the former.
	-->
	<profile>
	    <id>1.7</id>
	    <build>
		<plugins>
		    <plugin>
			<artifactId>maven-compiler-plugin</artifactId>
			<executions>
			    <execution>
				<id>default-compile</id>
				<configuration>
				    <excludes>
					<exclude>
					  javax/mail/MailSessionDefinition.java
					</exclude>
					<exclude>
					  javax/mail/MailSessionDefinitions.java
					</exclude>
					<exclude>
					  module-info.java
					</exclude>
				    </excludes>
				</configuration>
			    </execution>
			</executions>
		    </plugin>
		</plugins>
	    </build>
	</profile>
    </profiles>

    <build>
	<plugins>
	    <plugin>
		<artifactId>maven-dependency-plugin</artifactId>
		<executions>
		    <execution>
			<!-- download the sources -->
			<id>get-sources</id>
			<phase>generate-sources</phase>
			<goals>
			    <goal>unpack</goal>
			</goals>
			<configuration>
			    <artifactItems>
				<artifactItem>
				    <groupId>com.sun.mail</groupId>
				    <artifactId>jakarta.mail</artifactId>
				    <version>${mail.version}</version>
				    <classifier>sources</classifier>
				    <outputDirectory>
					${project.build.directory}/generated-sources/sources
				    </outputDirectory>
				</artifactItem>
			    </artifactItems>
		    <!--
                        Don't include the provider classes in the jar file.

			Don't include the metadata files from the original
			jar file.
		    -->
                            <excludes>
                                module-info.*,
                                **/iap/**,
                                **/imap/**,
                                **/smtp/**,
                                **/pop3/**,
                                META-INF/hk2-locator/**,
                                META-INF/services/**,
                                META-INF/maven/**,
                                META-INF/javamail.**,
                                META-INF/gfprobe-provider.xml
                            </excludes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!--
                Use 1.8 compiler to compile MailServiceDefinition & MailServiceDefinitions
                which depend on the Repeatable annotation available from Java SE 8
            -->
	    <plugin>
		<artifactId>maven-compiler-plugin</artifactId>
		<executions>
		    <execution>
			<id>base-compile-8</id>
                        <goals>
                            <goal>compile</goal>
                        </goals>
			<configuration>
                            <release>8</release>
                            <includes>
                                <include>javax/mail/MailSessionDefinition.java</include>
                                <include>javax/mail/MailSessionDefinitions.java</include>
                            </includes>
			</configuration>
		    </execution>
		</executions>
	    </plugin>

            <plugin>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <finalName>${project.artifactId}</finalName>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <bottom>${mail.javadoc.bottom}</bottom>
                    <javadocDirectory>${project.build.directory}/generated-sources/sources</javadocDirectory>
                </configuration>
            </plugin>
	</plugins>
    </build>

    <dependencies>
	<dependency>
	    <groupId>com.sun.activation</groupId>
	    <artifactId>jakarta.activation</artifactId>
	</dependency>
    </dependencies>
</project>
