<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	
	<groupId>org.eclipse</groupId>
	<artifactId>objectteams-parent-pom</artifactId>
	<version>2.2.0</version>
	<packaging>pom</packaging>
	
	<name>Object Teams parent pom</name>

	<url>http://download.eclipse.org/objectteams/maven/3/sites/${project.artifactId}</url>

	<description>
	This is the parent pom for Object Teams projects using Maven3.
	It specifies the core dependencies and configurations for building and
	executing Object Teams code using Maven.
	</description>

	<licenses>
		<license>
			<name>Eclipse Public License Version 1.0</name>
			<comments>
				This file is part of "Object Teams Development Tooling"-Software.

				Copyright 2010, 2013 GK Software AG and others.
				All rights reserved. This program and the accompanying materials
				are made available under the terms of the Eclipse Public License v1.0
				which accompanies this distribution, and is available at
				http://www.eclipse.org/legal/epl-v10.html

				Please visit http://www.eclipse.org/objectteams for updates and contact.

				Contributors:
					Olaf Otto - Initial concept,
					Stephan Herrmann - Initial API and implementation.
			</comments>
		</license>
	</licenses>

	<organization>
		<name>Eclipse Object Teams Project</name>
		<url>http://www.eclipse.org/objectteams</url>
	</organization>
	
	<developers>
		<developer><name>Olaf Otto</name></developer>
		<developer><name>Stephan Herrmann</name><organization>GK Software AG</organization></developer>
	</developers>
    
	<mailingLists>
		<mailingList><name>Object Teams Forum</name><archive>http://www.eclipse.org/forums/eclipse.objectteams</archive></mailingList>
	</mailingLists>
	
	<issueManagement>
		<system>Bugzilla</system>
		<url>http://bugs.eclipse.org/bugs</url>
	</issueManagement>
    
    <repositories>
		<repository>
			<id>ObjectTeamsRepository</id>
			<name>Object Teams Repository</name>
			<url>http://download.eclipse.org/objectteams/maven/3/repository</url>
		</repository>
    </repositories>

    
    <pluginRepositories>
		<pluginRepository>
			<id>ObjectTeamsPluginRepository</id>
			<name>Object Teams Plugin Repository</name>
			<url>http://download.eclipse.org/objectteams/maven/3/repository</url>
		</pluginRepository>
    </pluginRepositories>
    
    
    <!-- Required property from settings.xml: 								-->
    <!-- 	settings.localRepository	path to the local Maven repository.	-->
    <properties>
    	<!-- Repository path of this module within the Object Teams svn: -->
    	<project-repository-path>maven/infrastructure/parent-pom</project-repository-path>

		<!-- Our Version: -->
		<otj.version>2.2.0</otj.version>

		<!-- Versions of dependencies: -->
		<bcel.version>5.2</bcel.version>
		<tycho.version>0.18.0</tycho.version>
		
		<!-- Absolut paths for providing startup arguments to the JVM -->
		<otj.otre.location>${settings.localRepository}/org/eclipse/objectteams-runtime/${otj.version}/objectteams-runtime-${otj.version}.jar</otj.otre.location>
		<otj.agent.location>${settings.localRepository}/org/eclipse/objectteams-otre-agent/${otj.version}/objectteams-otre-agent-${otj.version}-nodep.jar</otj.agent.location>
		<otj.bcel.location>${settings.localRepository}/org/apache/bcel/bcel/${bcel.version}/bcel-${bcel.version}.jar</otj.bcel.location>

		<!-- Bootclasspath -->
		<otj.bootcp.arg>-Xbootclasspath/a:${otj.otre.location}:${otj.bcel.location}:${otj.agent.location}</otj.bootcp.arg>
		<!-- Object teams JPLIS agent -->
		<otj.agent.arg>-javaagent:${otj.agent.location}</otj.agent.arg>
		<!--
			Default arguments for running OT/J programs.
				-Dot.debug facilitates (remote) debugging.
				Xmx / Xms are required for reproducable build results, as ltw uses a
				significant amount of memory during startup.
		-->
		<surefire.argline>${otj.bootcp.arg} ${otj.agent.arg} -Dot.debug -Xms128m -Xmx512m</surefire.argline>
    </properties>

	<scm>
		<!--  WTF: release will "improve" the connection to using svn+ssh and advertize this for anonymous access !@#!%$ -->
	    <connection>scm:git:git://git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git/${project-repository-path}</connection>
	    <developerConnection>scm:git:ssh://${username}@git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git/${project-repository-path}</developerConnection>
		<!--  WTF: release will "improve" the connection to using svn+ssh and advertize this for web access !@#!%$ -->
	    <url>http://git.eclipse.org/c/objectteams/org.eclipse.objectteams.git</url>
	</scm>
	
	<reporting>
		<plugins>
			<!-- See http://maven.apache.org/plugins/maven-project-info-reports-plugin/ -->
			<plugin>
        		<groupId>org.apache.maven.plugins</groupId>
        		<artifactId>maven-project-info-reports-plugin</artifactId>
        		<version>2.2</version>
      		</plugin>
		</plugins>
	</reporting>

	<build>
		<pluginManagement>
			<plugins>

				<plugin>
					<!--
						Use compiler plugin with tycho as the adapter to the OT/J compiler.
						Using java 1.6 language level is recommended, default is 1.3, OT/J needs 1.5 minimum
					-->
					<artifactId>maven-compiler-plugin</artifactId>
					<configuration>
						<source>1.6</source>
						<target>1.6</target>
						<compilerId>jdt</compilerId>
						<flavor>otj</flavor>
					</configuration>
					<dependencies>
						<!-- compile time only dependencies: -->
						<dependency>
							<groupId>org.eclipse.tycho</groupId>
							<artifactId>tycho-compiler-jdt</artifactId>
							<version>${tycho.version}</version>
							<exclusions>
								<!-- Exclude the original JDT/Core to be replaced by the OT/J variant: -->
								<exclusion>
									<groupId>org.eclipse.tycho</groupId>
									<artifactId>org.eclipse.jdt.core</artifactId>
								</exclusion>
							</exclusions>
						</dependency>
						<dependency>
							<!-- plug the OT/J compiler into the tycho-compiler-jdt plug-in: -->
							<groupId>org.eclipse</groupId>
							<artifactId>objectteams-otj-compiler</artifactId>
							<version>${otj.version}</version>
						</dependency>
					</dependencies>
				</plugin>

				<plugin>
					<!-- The same for tycho builds: -->
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-compiler-plugin</artifactId>
					<version>${tycho.version}</version>
					<extensions>true</extensions>
					<dependencies>
						<dependency>
							<groupId>org.eclipse.tycho</groupId>
							<artifactId>tycho-compiler-jdt</artifactId>
							<version>${tycho.version}</version>
							<exclusions>
								<!-- Exclude the original JDT/Core to be replaced by the OT/J variant: -->
								<exclusion>
									<groupId>org.eclipse.tycho</groupId>
									<artifactId>org.eclipse.jdt.core</artifactId>
								</exclusion>
							</exclusions>
						</dependency>
						<dependency>
							<!-- plug the OT/J compiler into the tycho-compiler-jdt plug-in: -->
							<groupId>org.eclipse</groupId>
							<artifactId>objectteams-otj-compiler</artifactId>
							<version>${otj.version}</version>
						</dependency>
					</dependencies>
				</plugin>

				<!-- See http://maven.apache.org/plugins/maven-surefire-plugin/ -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<configuration>
						<!--
							The following must be within one line of code, linebreaks will
							cause surefire execution to fail.
						-->
						<argLine>${surefire.argline}</argLine>
					</configuration>
					<dependencies>
						<dependency>
							<!-- runtime-only dependency: -->
							<groupId>org.eclipse</groupId>
							<artifactId>objectteams-otre-agent</artifactId>
							<classifier>nodep</classifier>
							<version>${otj.version}</version>
						</dependency>
					</dependencies>
				</plugin>
				<!-- ensure new version of this plug-in (maven3-compatible): -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>3.1</version>
				</plugin>
				<plugin>
	        		<groupId>org.apache.maven.plugins</groupId>
	        		<artifactId>maven-release-plugin</artifactId>
	        		<configuration>
	          			<tagBase>svn+ssh://dev.eclipse.org/svnroot/tools/org.eclipse.objectteams/tags/mvn-releases</tagBase>
	        		</configuration>
	      		</plugin>
			</plugins>
		</pluginManagement>
		<extensions>
			<extension>
				<groupId>org.apache.maven.wagon</groupId>
				<artifactId>wagon-ssh-external</artifactId>
				<version>2.2</version>
			</extension>
		</extensions>
	</build>

	<!-- Required for compiling and running: -->
	<dependencies>
		<dependency>
			<groupId>org.eclipse</groupId>
			<artifactId>objectteams-runtime</artifactId>
			<version>${otj.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.bcel</groupId>
			<artifactId>bcel</artifactId>
			<version>${bcel.version}</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>
	

	<!-- for deployment of this pom: -->
	<distributionManagement>
		<site>
			<id>otSiteRepo</id>
			<name>Object Teams sites repository for Maven 3</name>
			<!--
				for unclear reason when deploying dependent sites we need to first install this
			    parent with the following URL:
			    	scpexe://objectteams/maven/3/sites/${project.artifactId}
			    otherwise the variables from the below URL will be pasted verbatim for references
			    to the parent pom =:-0
			-->
			<url>scpexe://${ot.host}:${ot.maven.repository.basepath}/sites/${project.artifactId}</url>
		</site>
		<repository>
			<id>ObjectTeamsRepository</id>
			<uniqueVersion>false</uniqueVersion>
			<name>Public Object Teams distribution repository</name>
			<!--
				most values are fed from settings.xml
			-->
			<url>scpexe://${ot.host}:${ot.maven.repository.basepath}/repository</url>
			<layout>default</layout>
		</repository>
	</distributionManagement>

</project>
