pom.xml revision 121
2ronwalf<?xml version="1.0" encoding="iso-8859-1"?>
2ronwalf<!--
2ronwalf DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
2ronwalf
2ronwalf Copyright 1997-2009 Sun Microsystems, Inc. All rights reserved.
2ronwalf
2ronwalf The contents of this file are subject to the terms of either the GNU
2ronwalf General Public License Version 2 only ("GPL") or the Common Development
2ronwalf and Distribution License("CDDL") (collectively, the "License"). You
2ronwalf may not use this file except in compliance with the License. You can obtain
2ronwalf a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
2ronwalf or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific
2ronwalf language governing permissions and limitations under the License.
2ronwalf
2ronwalf When distributing the software, include this License Header Notice in each
2ronwalf file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
2ronwalf Sun designates this particular file as subject to the "Classpath" exception
2ronwalf as provided by Sun in the GPL Version 2 section of the License file that
2ronwalf accompanied this code. If applicable, add the following below the License
2ronwalf Header, with the fields enclosed by brackets [] replaced by your own
2ronwalf identifying information: "Portions Copyrighted [year]
2ronwalf [name of copyright owner]"
2ronwalf
2ronwalf Contributor(s):
2ronwalf
2ronwalf If you wish your version of this file to be governed by only the CDDL or
2ronwalf only the GPL Version 2, indicate your decision by adding "[Contributor]
2ronwalf elects to include this software in this distribution under the [CDDL or GPL
2ronwalf Version 2] license." If you don't indicate a single choice of license, a
2ronwalf recipient has the option to distribute your version of this file under
2ronwalf either the CDDL, the GPL Version 2 or to extend the choice of license to
2ronwalf its licensees as provided above. However, if you add GPL Version 2 code
2ronwalf and therefore, elected the GPL Version 2 license, then the option applies
2ronwalf only if the new code is made subject to such option by the copyright
2ronwalf holder.
2ronwalf-->
2ronwalf
2ronwalf<project xmlns="http://maven.apache.org/POM/4.0.0"
2ronwalf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2ronwalf xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
2ronwalf http://maven.apache.org/maven-v4_0_0.xsd">
2ronwalf <modelVersion>4.0.0</modelVersion>
2ronwalf <groupId>com.sun.mail</groupId>
2ronwalf <artifactId>all</artifactId>
2ronwalf <packaging>pom</packaging>
2ronwalf <version>1.4.2</version>
2ronwalf <name>JavaMail API distribution</name>
2ronwalf <description>${project.name}</description>
2ronwalf <url>http://java.sun.com/projects/javamail</url>
2ronwalf
2ronwalf <licenses>
2ronwalf <license>
2ronwalf <name>CDDL</name>
2ronwalf <url>http://www.sun.com/cddl</url>
2ronwalf <distribution>repo</distribution>
2ronwalf <comments>A business-friendly OSS license</comments>
2ronwalf </license>
2ronwalf <license>
2ronwalf <name>GPLv2+CE</name>
2ronwalf <url>https://glassfish.dev.java.net/public/CDDL+GPL.html</url>
2ronwalf <distribution>repo</distribution>
2ronwalf <comments>GPL version 2 plus the Classpath Exception</comments>
2ronwalf </license>
2ronwalf </licenses>
2ronwalf
2ronwalf <organization>
2ronwalf <name>Sun Microsystems, Inc.</name>
2ronwalf <url>http://www.sun.com</url>
2ronwalf </organization>
2ronwalf
2ronwalf <properties>
2ronwalf <mail.version>1.4.2</mail.version>
2ronwalf <!-- like mail.version, but with underscores instead of dots -->
2ronwalf <mail.zipversion>1_4_2</mail.zipversion>
2ronwalf <mail.spec.version>1.4</mail.spec.version>
2ronwalf <activation-api.version>1.1</activation-api.version>
2ronwalf <!-- defaults that are overridden in mail module -->
2ronwalf <mail.extensionName>
2ronwalf ${project.groupId}.${project.artifactId}
2ronwalf </mail.extensionName>
2ronwalf <mail.specificationTitle>
2ronwalf ${project.groupId}.${project.artifactId}
2ronwalf </mail.specificationTitle>
2ronwalf <mail.implementationTitle>
2ronwalf ${project.groupId}.${project.artifactId}
2ronwalf </mail.implementationTitle>
2ronwalf <mail.packages.export>
2ronwalf javax.mail.*; version=${mail.spec.version}
2ronwalf </mail.packages.export>
2ronwalf <mail.packages.private>
2ronwalf com.sun.mail.*
2ronwalf </mail.packages.private>
2ronwalf </properties>
2ronwalf
2ronwalf <developers>
2ronwalf <developer>
2ronwalf <id>shannon</id>
2ronwalf <name>Bill Shannon</name>
2ronwalf <organization>Sun Microsystems, Inc.</organization>
2ronwalf <roles>
2ronwalf <role>lead</role>
2ronwalf </roles>
2ronwalf </developer>
2ronwalf </developers>
2ronwalf
2ronwalf <modules>
2ronwalf <module>mail</module>
2ronwalf <module>mailapi</module>
2ronwalf <module>smtp</module>
2ronwalf <module>imap</module>
2ronwalf <module>pop3</module>
2ronwalf <module>dsn</module>
2ronwalf </modules>
2ronwalf
2ronwalf <profiles>
2ronwalf <!--
2ronwalf This profile contains modules that should only be built
2ronwalf but not installed or deployed.
2ronwalf -->
2ronwalf <profile>
2ronwalf <id>build-only</id>
<modules>
<module>mbox</module>
<module>demo</module>
<module>client</module>
<module>servlet</module>
<module>webapp</module>
<module>taglib</module>
<module>javadoc</module>
</modules>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!--
Activating this profile manually for deployment causes
the above profile to be deactivated, which works around
an apparent bug in maven that prevents me from manually
deactivating a profile. This profile purposely has none
of the modules I don't want to be deployed.
-->
<profile>
<id>deploy</id>
</profile>
</profiles>
<distributionManagement>
<repository>
<id>java.net-m2-repository</id>
<url>java-net:/maven2-repository/trunk/www/repository/</url>
</repository>
</distributionManagement>
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<!--
This plugin is reponsible for packaging artifacts
as OSGi bundles. Please refer to
http://felix.apache.org/site/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>
<instructions>
<Export-Package>
${mail.packages.export}
</Export-Package>
<Private-Package>
${mail.packages.private}
</Private-Package>
<!--
The following entry makes this jar an HK2 jar as
well. This is needed because GlassFish currently
picks up only OSGi bundles that have this entry.
Remove this when GlassFish does not have this
limitation.
-->
<HK2-Bundle-Name>
${project.groupId}:${project.artifactId}
</HK2-Bundle-Name>
</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>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.4</source>
<target>1.4</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<!-- need at least this version to make excludes work -->
<configuration>
<finalName>${project.artifactId}</finalName>
<archive>
<!--
Configure the maven-jar-plugin to pick up
META-INF/MANIFEST.MF that's generated by
the maven-bundle-plugin.
-->
<manifestFile>
${project.build.outputDirectory}/META-INF/MANIFEST.MF
</manifestFile>
<manifestEntries>
<Extension-Name>
${mail.extensionName}
</Extension-Name>
<Specification-Title>
${mail.specificationTitle}
</Specification-Title>
<Specification-Version>
${mail.spec.version}</Specification-Version>
<Specification-Vendor>
${project.organization.name}
</Specification-Vendor>
<Implementation-Title>
${mail.implementationTitle}
</Implementation-Title>
<Implementation-Version>
${project.version}
</Implementation-Version>
<Implementation-Vendor>
${project.organization.name}
</Implementation-Vendor>
<Implementation-Vendor-Id>
com.sun
</Implementation-Vendor-Id>
</manifestEntries>
</archive>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</configuration>
</plugin>
<!--
This is the rule that creates the zip file for distribution.
-->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<inherited>false</inherited>
<!--
I'd like this to be run as part of the
package phase, but that doesn't work.
Have to run it explicitly as:
mvn package assembly:assembly
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
-->
<configuration>
<finalName>javamail${mail.zipversion}</finalName>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
</configuration>
<!--
</execution>
</executions>
-->
</plugin>
<!-- not used
<plugin>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<arguments>-P deploy</arguments>
</configuration>
</plugin>
-->
</plugins>
<extensions>
<extension>
<groupId>org.jvnet.wagon-svn</groupId>
<artifactId>wagon-svn</artifactId>
<!--
Following should be:
<version>RELEASE</version>
but Kohsuke says it doesn't work and to replace
it with the actual version number.
-->
<version>1.8</version>
</extension>
</extensions>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>${mail.version}</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>dsn</artifactId>
<version>${mail.version}</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>mbox</artifactId>
<version>${mail.version}</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>taglib</artifactId>
<version>${mail.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>${activation-api.version}</version>
</dependency>
<!-- following works around a bug that causes NullPointerException -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.3.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>maven2-repository.dev.java.net</id>
<name>Java.net Repository for Maven</name>
<url>http://download.java.net/maven/2/</url>
</repository>
</repositories>
</project>