blob: a18a3615a89b11ec01f717506ef4de7054548dda [file] [log] [blame]
<?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.9.0-SNAPSHOT</version>
</parent>
<artifactId>org.eclipse.emf.parsley.repository</artifactId>
<packaging>eclipse-repository</packaging>
<properties>
<p2.mirrorsPrefix>/emf-parsley/${parsley.updates.dir}</p2.mirrorsPrefix>
<p2.versionMajorMinor>1.9</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.sdk,org.eclipse.emf.parsley.feature,org.eclipse.emf.parsley.dsl.feature,org.eclipse.emf.parsley.cdo.feature,org.eclipse.emf.examples.feature,org.eclipse.emf.web.feature,org.eclipse.emf.junit4.feature</p2.statsTrackedArtifacts>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-repository-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<finalName>${project.artifactId}-${qualifiedVersion}</finalName>
</configuration>
</plugin>
<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>
<id>copy-to-zips-target</id>
<phase>package</phase>
<configuration>
<target>
<echo message="" />
<echo message="Source path: ${project.build.directory}" />
<echo message="Built version: ${unqualifiedVersion}.${buildQualifier}" />
<echo message="" />
<copy includeemptydirs="false" todir="${zipped.repository.dest}">
<fileset dir="${project.build.directory}">
<include name="*.zip" />
</fileset>
</copy>
</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.updates.dir}</arg>
<arg>-Dsite.label="EMF Parsley Site"</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>
<id>copy-to-zips-download</id>
<phase>package</phase>
<configuration>
<target>
<echo message="" />
<echo message="Source path: ${project.build.directory}" />
<echo message="Built version: ${unqualifiedVersion}.${buildQualifier}" />
<echo message="" />
<copy includeemptydirs="false" todir="${parsley.download.area}/${parsley.zips.dir}">
<fileset dir="${project.build.directory}">
<include name="*.zip" />
</fileset>
</copy>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<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>