blob: 8837ead393893550073594352b7a8861458dad8c [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2013, 2018 EclipseSource 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
Contributors:
EclipseSource - initial implementation
Mikael Barbero (Eclipse Foundation) - clean-up and parent factorization
-->
<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>
<name>Eclipse Packaging Project (EPP) parent</name>
<groupId>org.eclipse.epp</groupId>
<artifactId>org.eclipse.epp-parent</artifactId>
<version>4.9.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<java.version>1.8</java.version>
<maven.version>3.1.1</maven.version>
<tycho.version>1.2.0</tycho.version>
<tycho.extras.version>${tycho.version}</tycho.extras.version>
<tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/epp/org.eclipse.epp.packages.git</tycho.scmUrl>
<cbi.version>1.1.5</cbi.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
<build>${maven.build.timestamp}</build>
<!-- The location that is used to assemble the single EPP configuration p2 repository -->
<eclipse.epp.archiveDirectory>${basedir}/../../archive/</eclipse.epp.archiveDirectory>
<!-- The location that is used to assemble the single EPP configuration p2 repository -->
<eclipse.epp.targetRepository>${eclipse.epp.archiveDirectory}/repository/</eclipse.epp.targetRepository>
<!-- ID used to generate the filename of the packages -->
<eclipse.simultaneous.release.id>2018-09-M2</eclipse.simultaneous.release.id>
<!-- Timestamp used in various places, e.g. the about dialog (see about.mappings) -->
<eclipse.simultaneous.release.build>${maven.build.timestamp}</eclipse.simultaneous.release.build>
<!-- Human readable name of the release, e.g. used in the about dialog (see about.mappings) -->
<eclipse.simultaneous.release.name>2018-09 M2 (4.9.0M2)</eclipse.simultaneous.release.name>
<!-- Upstream p2 repository, used as a source for pre-compiled build artifacts -->
<eclipse.simultaneous.release.repository>http://download.eclipse.org/staging/2018-09/</eclipse.simultaneous.release.repository>
</properties>
<!--
See maven-enforcer-plugin configuration to actually break the build if run with older maven.
prerequisites section is kept for now as even if it doesn't break the build, it is used by
other plugins like versions-maven-plugin which check and warn for using plugins with older
than they require Maven version.
-->
<prerequisites>
<maven>${maven.version}</maven>
</prerequisites>
<pluginRepositories>
<pluginRepository>
<id>eclipse-tycho</id>
<url>https://oss.sonatype.org/content/repositories/public/</url>
</pluginRepository>
<pluginRepository>
<id>eclipse-cbi</id>
<url>https://repo.eclipse.org/content/groups/cbi/</url>
</pluginRepository>
</pluginRepositories>
<repositories>
<repository>
<id>eclipse-simultaneous-release</id>
<layout>p2</layout>
<url>${eclipse.simultaneous.release.repository}</url>
</repository>
<repository>
<id>license-feature</id>
<url>http://download.eclipse.org/cbi/updates/license/</url>
<layout>p2</layout>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<configuration>
<includePackedArtifacts>true</includePackedArtifacts>
<!-- The Parallel Package feature.xml includes a number of other
features that are marked as optional, and unfortunately they
seem to be missing in Mars. Ignoring these options features
for now.
<dependency-resolution>
<optionalDependencies>ignore</optionalDependencies>
</dependency-resolution>
-->
<environments>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>x86_64</arch>
</environment>
</environments>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-packaging-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-buildtimestamp-jgit</artifactId>
<version>${tycho.extras.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-sourceref-jgit</artifactId>
<version>${tycho.extras.version}</version>
</dependency>
</dependencies>
<configuration>
<timestampProvider>jgit</timestampProvider>
<jgit.dirtyWorkingTree>ignore</jgit.dirtyWorkingTree>
<format>yyyyMMdd-HHmm</format>
<sourceReferences>
<generate>true</generate>
</sourceReferences>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>regex-property</id>
<goals>
<goal>regex-property</goal>
</goals>
<configuration>
<name>eclipse.epp.id</name>
<value>${project.artifactId}</value>
<regex>epp\.package\.(\d*)</regex>
<replacement>$1</replacement>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>${maven.version}</version>
</requireMavenVersion>
<requireJavaVersion>
<version>${java.version}</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.8</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho.version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-plugin</artifactId>
<version>${tycho.version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-packaging-plugin</artifactId>
<version>${tycho.version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-repository-plugin</artifactId>
<version>${tycho.version}</version>
<configuration>
<includeAllDependencies>true</includeAllDependencies>
<compress>true</compress>
</configuration>
<executions>
<execution>
<id>default-assemble-repository</id>
<phase></phase>
<configuration>
<skip>true</skip>
</configuration>
</execution>
<execution>
<id>default-archive-repository</id>
<phase></phase>
<configuration>
<skip>true</skip>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho.version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-source-plugin</artifactId>
<version>${tycho.version}</version>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
</configuration>
<executions>
<execution>
<id>plugin-source</id>
<goals>
<goal>plugin-source</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-pack200a-plugin</artifactId>
<version>${tycho.extras.version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-pack200b-plugin</artifactId>
<version>${tycho.extras.version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-plugin</artifactId>
<version>${tycho.version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.cbi.maven.plugins</groupId>
<artifactId>eclipse-jarsigner-plugin</artifactId>
<version>${cbi.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-source-feature-plugin</artifactId>
<version>${tycho.extras.version}</version>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
</configuration>
<executions>
<execution>
<id>source-feature</id>
<phase>package</phase>
<goals>
<goal>source-feature</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-p2-extras-plugin</artifactId>
<version>${tycho.version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho.version}</version>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
<execution>
<id>archive-products</id>
<phase>pre-integration-test</phase>
<goals>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
<configuration>
<formats>
<linux>tar.gz</linux>
<macosx>tar.gz</macosx>
<win32>zip</win32>
</formats>
<products>
<product>
<id>${project.artifactId}</id>
<rootFolder>eclipse</rootFolder>
<rootFolders>
<macosx>Eclipse.app</macosx>
</rootFolders>
<archiveFileName>${build}_eclipse-${eclipse.epp.id}-${eclipse.simultaneous.release.id}</archiveFileName>
</product>
</products>
<profile>${project.artifactId}</profile>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.cbi.maven.plugins</groupId>
<artifactId>eclipse-dmg-packager</artifactId>
<version>${cbi.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>copy-zips-to-archive-folder</id>
<phase>pre-integration-test</phase>
<configuration>
<target>
<copy todir="${basedir}/../../archive">
<fileset dir="${project.build.directory}/products">
<include name="*.zip" />
<include name="*linux*.tar.gz" />
<include name="*.dmg" />
</fileset>
</copy>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<!--
This profile needs to stay disabled for release builds, but may serve as a testing
facility when carrying out tests with various p2 repositories. One possible use case
is to add a p2 repository to the build that provides newer or different artifacts.
In order to do this one needs to activate this profile explicitly and provide the
p2 repository URL with a Java property.
Example: -Depp.wormhole.repository=file:///tmp/myown.p2.repo/
-->
<profile>
<id>p2.wormhole</id>
<activation>
<property>
<name>epp.wormhole.repository</name>
</property>
</activation>
<repositories>
<repository>
<id>epp.wormhole.repository</id>
<layout>p2</layout>
<url>${epp.wormhole.repository}</url>
</repository>
</repositories>
</profile>
</profiles>
</project>