<?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>

	<parent>
		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
		<groupId>org.eclipse.emf.parsley</groupId>
		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
		<version>1.8.0-SNAPSHOT</version>
	</parent>

	<artifactId>org.eclipse.emf.parsley.rap.repository</artifactId>
	<packaging>eclipse-repository</packaging>

	<properties>
		<p2.mirrorsPrefix>/emf-parsley/${parsley.rap.updates.dir}</p2.mirrorsPrefix>
		<p2.versionMajorMinor>1.8</p2.versionMajorMinor>
		<p2.statsURL>http://download.eclipse.org/stats</p2.statsURL>
		<p2.mirrorsURL>http://www.eclipse.org/downloads/download.php?format=xml&amp;file=${p2.mirrorsPrefix}/${p2.versionMajorMinor}/${qualifiedVersion}/</p2.mirrorsURL>
		<p2.statsTrackedArtifacts>org.eclipse.emf.parsley.rap.sdk,org.eclipse.emf.parsley.rap.cdo.sdk</p2.statsTrackedArtifacts>
	</properties>

	<build>
		<plugins>
			<plugin>
				<!-- copy the p2 repository into the project root folder 
					to allow for easier archiving in CI server -->
				<artifactId>maven-antrun-plugin</artifactId>
				<version>${maven-antrun-plugin.version}</version>
				<executions>
					<execution>
						<id>copy-to-root-target</id>
						<phase>package</phase>
						<configuration>
							<target>
								<echo message="" />
								<echo message="Repository path: ${project.build.directory}/repository" />
								<echo message="Built version: ${unqualifiedVersion}.${buildQualifier}" />
								<echo message="" />

								<delete includeemptydirs="false" failonerror="false">
									<fileset dir="${p2.repository.dest}">
										<include name="**" />
									</fileset>
								</delete>
								<copy includeemptydirs="false" todir="${p2.repository.dest}">
									<fileset dir="target/repository">
										<include name="**" />
									</fileset>
								</copy>
							</target>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
					<execution>
						<!-- this will create a .target file pointing to the repository we've just built;
							we'll use that during another maven build to test that we can compile
							the our RAP examples (see org.eclipse.emf.parsley.rap.test.parent) -->
						<id>prepare-target-platform-for-rap-tests</id>
						<phase>package</phase>
						<configuration>
							<target>
								<ant antfile="${basedir}/../../devtools/org.eclipse.emf.parsley.targetplatform/create_test_target.ant" 
									target="create-target-file" />
							</target>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<id>release-composite</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>

			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho.extras</groupId>
						<artifactId>tycho-eclipserun-plugin</artifactId>
						<version>${tycho-version}</version>
						<executions>
							<execution>
								<!--
									(1)
									See <http://wiki.eclipse.org/Equinox/p2/p2.mirrorsURL>.
									This will add the mirror and statistics properties to your
									artifacts.jar, but NOT to artifacts.xml.xz,
									since p2 can only read artifacts.xml.zx but now write into it
									(https://bugs.eclipse.org/bugs/show_bug.cgi?id=467779).
									artifacts.xml.xz will be handled later (from (2) on). -->
								<id>add-repo-properties</id>
								<goals>
									<goal>eclipse-run</goal>
								</goals>
								<phase>package</phase>
								<configuration>
									<applicationsArgs>
										<arg>-application</arg>
										<arg>org.eclipse.wtp.releng.tools.addRepoProperties</arg>
									</applicationsArgs>
									<jvmArgs>
										<arg>-DartifactRepoDirectory=${project.build.directory}/repository</arg>
										<arg>-Dp2MirrorsURL=${p2.mirrorsURL}</arg>
										<arg>-Dp2StatsURI=${p2.statsURL}</arg>
										<arg>-DstatsTrackedArtifacts=${p2.statsTrackedArtifacts}</arg>
										<arg>-DstatsArtifactsSuffix=-${project.version}</arg>
									</jvmArgs>
									<work>${project.build.directory}/eclipserun-work-first</work>
									<dependencies>
										<dependency>
											<artifactId>org.eclipse.wtp.releng.tools.feature</artifactId>
											<type>eclipse-feature</type>
										</dependency>
									</dependencies>
									<repositories>
										<repository>
											<url>http://download.eclipse.org/webtools/releng/repository</url>
											<layout>p2</layout>
										</repository>
										<repository>
											<url>http://download.eclipse.org/releases/neon</url>
											<layout>p2</layout>
										</repository>
									</repositories>
								</configuration>
							</execution>
							<execution>
								<id>add-p2-composite-repository</id>
								<goals>
									<goal>eclipse-run</goal>
								</goals>
								<!-- this must be executed after package, since during package we also
									deal with XZ compressed artifacts -->
								<phase>verify</phase>
								<configuration>
									<applicationsArgs>
										<arg>-application</arg>
										<arg>org.eclipse.ant.core.antRunner</arg>
										<arg>-buildfile</arg>
										<arg>${project.basedir}/../org.eclipse.emf.parsley.parent/ant/packaging-p2composite.ant</arg>
										<arg>p2.composite.add</arg>
										<arg>-Dsoftware.download.area=${parsley.download.area}</arg>
										<arg>-Dupdates.dir=${parsley.rap.updates.dir}</arg>
										<arg>-Dsite.label="EMF Parsley Target Components"</arg>
										<arg>-Dproject.build.directory=${project.build.directory}</arg>
										<arg>-DunqualifiedVersion=${unqualifiedVersion}</arg>
										<arg>-DbuildQualifier=${buildQualifier}</arg>
									</applicationsArgs>
									<repositories>
										<repository>
											<url>http://download.eclipse.org/releases/neon</url>
											<layout>p2</layout>
										</repository>
									</repositories>
									<dependencies>
										<dependency>
											<artifactId>org.eclipse.ant.core</artifactId>
											<type>eclipse-plugin</type>
										</dependency>
										<dependency>
											<artifactId>org.apache.ant</artifactId>
											<type>eclipse-plugin</type>
										</dependency>
										<dependency>
											<artifactId>org.eclipse.equinox.p2.repository.tools</artifactId>
											<type>eclipse-plugin</type>
										</dependency>
										<dependency>
											<artifactId>org.eclipse.equinox.p2.core.feature</artifactId>
											<type>eclipse-feature</type>
										</dependency>
										<dependency>
											<artifactId>org.eclipse.equinox.p2.extras.feature</artifactId>
											<type>eclipse-feature</type>
										</dependency>
										<dependency>
											<artifactId>org.eclipse.equinox.ds</artifactId>
											<type>eclipse-plugin</type>
										</dependency>
									</dependencies>
								</configuration>
							</execution>
						</executions>
					</plugin>

					<plugin>
						<!-- copy the zipped p2 repository into download zips area  -->
						<artifactId>maven-antrun-plugin</artifactId>
						<version>${maven-antrun-plugin.version}</version>
						<dependencies>
							<!-- Needed for XZ compression -->
							<dependency>
								<groupId>org.apache.ant</groupId>
								<artifactId>ant-compress</artifactId>
								<version>1.4</version>
							</dependency>
						</dependencies>
						<executions>
							<execution>
								<!-- (2)
									Unpack artifacts.jar (which has already been processed) -->
								<id>unjar-artifacts</id>
								<phase>package</phase>
								<configuration>
									<target>
										<unzip src="${project.build.directory}/repository/artifacts.jar"
											dest="${project.build.directory}/repository/" />
									</target>
								</configuration>
								<goals>
									<goal>run</goal>
								</goals>
							</execution>
							<execution>
								<!-- (3)
									pack artifacts.xml into artifacts.xml.xz (rewrite) -->
								<id>xz-artifacts</id>
								<phase>package</phase>
								<goals>
									<goal>run</goal>
								</goals>
								<configuration>
									<target name="xz-artifacts-xml">
										<taskdef resource="org/apache/ant/compress/antlib.xml"
											classpathref="maven.plugin.classpath" />
										<xz
											srcfile="${project.build.directory}/repository/artifacts.xml"
											destfile="${project.build.directory}/repository/artifacts.xml.xz" />
									</target>
								</configuration>
							</execution>
							<execution>
								<!-- (4)
									Remove artifacts.xml (we don't need that anymore) -->
								<id>remove-artifacts-xml</id>
								<phase>package</phase>
								<goals>
									<goal>run</goal>
								</goals>
								<configuration>
									<target>
										<delete file="${project.build.directory}/repository/artifacts.xml"/>
									</target>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>

		</profile>
	</profiles>
</project>