<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~    http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<!-- $Rev: 577554 $ $Date: 2007-09-20 06:35:12 +0100 (Thu, 20 Sep 2007) $ -->
<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">
	
	<modelVersion>4.0.0</modelVersion>
	
	<parent>
		<groupId>org.apache</groupId>
		<artifactId>apache</artifactId>
		<version>5</version>
	</parent>
	
	<groupId>org.apache.openejb</groupId>
	<artifactId>eclipse-plugins</artifactId>
	<packaging>pom</packaging>
	<name>${artifactId}</name>
	<version>1.0.0.beta-SNAPSHOT</version>
	
	<description>Eclipse Plugins for OpenEJB</description>
	
	<organization>
		<name>OpenEJB</name>
		<url>http://openejb.apache.org/</url>
	</organization>
	
	<properties>
		<eclipseInstall>${settings.localRepository}/eclipse</eclipseInstall>
		<openejb.version>3.1.1</openejb.version>
		<openejb.eclipse.plugin.version>1.0.0.beta</openejb.eclipse.plugin.version>
	</properties>
	
	<scm>
		<connection>scm:svn:http://svn.apache.org/repos/asf/openejb/trunk/openejb-eclipse-plugin/</connection>
		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/openejb/trunk/openejb-eclipse-plugin/</developerConnection>
		<url>http://svn.apache.org/viewvc/openejb/trunk/openejb-eclipse-plugin/</url>
	</scm>
	
	<build>
		<defaultGoal>install</defaultGoal>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-antrun-plugin</artifactId>
					<dependencies>
						<dependency>
							<groupId>oro</groupId>
							<artifactId>oro</artifactId>
							<version>2.0.8</version>
						</dependency>
						<dependency>
							<groupId>ant</groupId>
							<artifactId>ant-apache-oro</artifactId>
							<version>1.6.4</version>
						</dependency>
						<dependency>
							<groupId>ant</groupId>
							<artifactId>ant-optional</artifactId>
							<version>1.5.3-1</version>
						</dependency>
					</dependencies>
				</plugin>
				<plugin>
					<groupId>org.apache.geronimo.devtools</groupId>
					<artifactId>maven-eclipsepde-plugin</artifactId>
					<version>1.0</version>
					<configuration>
						<eclipseHome>${settings.localRepository}/eclipse/eclipse/</eclipseHome>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<configuration>
						<finalName>${artifactId}_${openejb.eclipse.plugin.version}</finalName>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.5</source>
					<target>1.5</target>
					<debug>true</debug>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<version>2.0-beta-9</version>
				<configuration>
					<useReleaseProfile>false</useReleaseProfile>
					<goals>deploy</goals>
					<arguments>-Prelease</arguments>
					<tagBase>https://svn.apache.org/repos/asf/openejb/tags/</tagBase>
				</configuration>
			</plugin>
			<!-- Add NOTICE and LICENSE to generated JAR -->
			<!--<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-remote-resources-plugin</artifactId>
				<version>1.0</version>
				<executions>
					<execution>
						<goals>
							<goal>process</goal>
						</goals>
						<configuration>
							<resourceBundles>
								<resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
							</resourceBundles>
							<appendedResourcesDirectory>${basedir}/../../src/main/appended-resources</appendedResourcesDirectory>
							<properties>
								<projectName>Apache OpenEJB Eclipse Plugin</projectName>
							</properties>
						</configuration>
					</execution>
				</executions>
			</plugin>-->
		</plugins>
	</build>
	
	<repositories>
		<repository>
			<id>apache-snapshots</id>
			<name>Apache Snapshots Repository</name>
			<url>http://people.apache.org/repo/m2-snapshot-repository</url>
			<layout>default</layout>
			<snapshots>
				<enabled>true</enabled>
				<updatePolicy>daily</updatePolicy>
				<checksumPolicy>ignore</checksumPolicy>
			</snapshots>
			<releases>
				<enabled>true</enabled>
			</releases>
		</repository>
		<repository>
			<id>apache.incubator</id>
			<name>Apache Incubator Repository</name>
			<url>http://people.apache.org/repo/m2-incubating-repository/</url>
			<layout>default</layout>
			<snapshots>
				<enabled>false</enabled>
				<updatePolicy>daily</updatePolicy>
				<checksumPolicy>ignore</checksumPolicy>
			</snapshots>
			<releases>
				<enabled>true</enabled>
			</releases>
		</repository>
		<repository>
			<id>ow.repo</id>
			<name>OW Repo</name>
			<url>http://jass.objectweb.org/repository/m2</url>
			<layout>default</layout>
			<snapshots>
				<enabled>false</enabled>
				<updatePolicy>daily</updatePolicy>
				<checksumPolicy>ignore</checksumPolicy>
			</snapshots>
			<releases>
				<enabled>true</enabled>
			</releases>
		</repository>
		
		<repository>
			<id>codehaus-snapshots</id>
			<name>Codehaus Snapshots Repository</name>
			<url>http://snapshots.repository.codehaus.org</url>
			<layout>default</layout>
			<snapshots>
				<enabled>true</enabled>
				<updatePolicy>daily</updatePolicy>
				<checksumPolicy>ignore</checksumPolicy>
			</snapshots>
			<releases>
				<enabled>false</enabled>
			</releases>
		</repository>
		<repository>
			<id>openejb-3rdparty-builds</id>
			<name>3rd Party Build Repository</name>
			<url>http://svn.apache.org/repos/asf/openejb/repo/</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	
	</repositories>
	
	<pluginRepositories>
		<pluginRepository>
			<id>apache.org</id>
			<name>Maven Plugin Snapshots</name>
			<url>http://people.apache.org/repo/m2-snapshot-repository</url>
			<releases>
				<enabled>false</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</pluginRepository>
	</pluginRepositories>
	
	<profiles>
		<profile>
			<id>windows</id>
			<activation>
				<os>
					<family>windows</family>
				</os>
			</activation>
			<properties>
				<eclipsePlatformFamily>win32</eclipsePlatformFamily>
			</properties>
		</profile>
		<profile>
			<id>linux-x86</id>
			<activation>
				<os>
					<name>Linux</name>
					<arch>i386</arch>
				</os>
			</activation>
			<properties>
				<eclipsePlatformFamily>linux</eclipsePlatformFamily>
			</properties>
		</profile>
		<profile>
			<id>linux-x86_64</id>
			<activation>
				<os>
					<name>Linux</name>
					<arch>amd64</arch>
				</os>
			</activation>
			<properties>
				<eclipsePlatformFamily>linux_x86_64</eclipsePlatformFamily>
			</properties>
		</profile>
		<profile>
			<id>mac</id>
			<activation>
				<os>
					<family>mac</family>
				</os>
			</activation>
			<properties>
				<eclipsePlatformFamily>macos</eclipsePlatformFamily>
			</properties>
		</profile>
		<profile>
			<id>release</id>
			<build>
				<plugins>
					<!-- We want to sign the artifact, the POM, and all attached artifacts -->
					<plugin>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.0-alpha-3</version>
						<configuration>
							<passphrase>${gpg.passphrase}</passphrase>
						</configuration>
						<executions>
							<execution>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<!-- We want to deploy the artifact to a staging location for perusal -->
					<plugin>
						<inherited>true</inherited>
						<artifactId>maven-deploy-plugin</artifactId>
						<version>2.4</version>
						<configuration>
							<altDeploymentRepository>${deploy.altRepository}</altDeploymentRepository>
							<updateReleaseInfo>true</updateReleaseInfo>
							<uniqueVersion>false</uniqueVersion>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<version>2.0.2</version>
						<executions>
							<execution>
								<id>attach-sources</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>2.2</version>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
	
	<modules>
		<module>common</module>
		<module>eclipse</module>
		<module>plugins</module>
		<module>features</module>
		<module>pde-test</module>
		<module>examples</module>
		<module>assembly</module>
	</modules>
	
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>taglist-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</reporting>


</project>
