blob: f09aaaf76ea91a525d39ec26ddfa5f0fd21bf983 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2013, 2022 EclipseSource and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v2.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v20.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.24.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<maven.version>3.6.3</maven.version>
<tycho.version>2.7.1</tycho.version>
<tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/epp/org.eclipse.epp.packages.git</tycho.scmUrl>
<cbi.version>1.3.2</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>
<!-- Name of the release (no milestone) -->
<RELEASE_NAME>2022-06</RELEASE_NAME>
<!-- Name of the milestone -->
<RELEASE_MILESTONE>M2</RELEASE_MILESTONE>
<!-- Version of the release -->
<RELEASE_VERSION>4.24.0</RELEASE_VERSION>
<!-- Name release directory on download.eclipse.org -->
<RELEASE_DIR>202205051200</RELEASE_DIR>
<!-- SimRel Repo to build from -->
<SIMREL_REPO>https://download.eclipse.org/releases/2022-06/202205061000/</SIMREL_REPO>
<!-- ID used to generate the filename of the packages -->
<eclipse.simultaneous.release.id>${RELEASE_NAME}-${RELEASE_MILESTONE}</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>${RELEASE_NAME} ${RELEASE_MILESTONE} (${RELEASE_VERSION} ${RELEASE_MILESTONE})</eclipse.simultaneous.release.name>
<!-- Upstream p2 repository, used as a source for pre-compiled build artifacts -->
<eclipse.simultaneous.release.repository>${SIMREL_REPO}</eclipse.simultaneous.release.repository>
</properties>
<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>https://download.eclipse.org/cbi/updates/license/</url>
<layout>p2</layout>
</repository>
<repository>
<id>justj</id>
<url>https://download.eclipse.org/justj/jres/17/updates/release/17.0.2/</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_64</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>aarch64</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>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>aarch64</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.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-sourceref-jgit</artifactId>
<version>${tycho.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>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0.0</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>
<extraArtifactRepositoryProperties>
<p2.statsURI>https://download.eclipse.org/stats/technology/epp/packages/${eclipse.simultaneous.release.id}/</p2.statsURI>
</extraArtifactRepositoryProperties>
<compress>true</compress>
<!-- Mirror goal used to aggregate unit seem to ignore the .xz files so let's not generate them to avoid inconsistency between *.jar and *.xz -->
<xzCompress>false</xzCompress>
</configuration>
</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</groupId>
<artifactId>tycho-p2-plugin</artifactId>
<version>${tycho.version}</version>
<configuration>
<generateDownloadStatsProperty>true</generateDownloadStatsProperty>
</configuration>
</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>3.2.0</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-source-feature-plugin</artifactId>
<version>${tycho.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>
<source>repository</source>
</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>3.0.0</version>
</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>