| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Copyright (c) 2012, 2021 Eclipse Foundation and others. |
| All rights reserved. This program and the accompanying materials |
| are made available under the terms of the Eclipse Distribution License v1.0 |
| which accompanies this distribution, and is available at |
| https://www.eclipse.org/org/documents/edl-v10.php |
| |
| Contributors: |
| Igor Fedorenko - initial implementation |
| Thanh Ha - improvements and maintenance |
| David Williams - improvements and maintenance |
| Lars Vogel - Bug 442042 |
| --> |
| <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>eclipse-platform-parent</artifactId> |
| <version>4.20.0-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| <!-- |
| 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. |
| If version number changed in one place, be sure to change in the other. |
| --> |
| <prerequisites> |
| <maven>3.6.3</maven> |
| </prerequisites> |
| <properties> |
| <!-- As of Tycho 0.22, skipTests takes priority, if maven.test.skip also specified, |
| with different value. See https://bugs.eclipse.org/442976. |
| During production builds, we run with -DskipTests=true --> |
| <skipTests>false</skipTests> |
| <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format> |
| <macSigner.forceContinue>false</macSigner.forceContinue> |
| <buildTimestamp>${maven.build.timestamp}</buildTimestamp> |
| <buildType>I</buildType> |
| <buildId>${buildType}${buildTimestamp}</buildId> |
| <!-- |
| releaseName should match the yearly "release train" name. |
| For example, "Mars", "Mars.1", "Luna SR2", etc. |
| It will show up in "about box", |
| such as Version: Mars (4.5), for main features. |
| See bug 328139. |
| --> |
| <releaseName>2021-06</releaseName> |
| <!-- |
| The releaseNumbers below, for SDK and Platform, might be |
| thought of as the "marketing number" or "branding number", |
| and in fact are used in the branding bundle of the corresponding products. |
| In practice, the SDK number and Platform number are always the same, |
| though in theory they would not always have to be ... so we'll use |
| separate numbers. Also in practice, they are almost always the same as |
| or nearly the same as the "product feature" numbers, but for example, for |
| the initial release, some prefer we not use the trailing zero, but instead |
| merely "4.5, instead of 4.5.0". And, hypothetically, there might be a time |
| in the future when the platform for a new release was "merely service", |
| but we'd still want the "marketing number" to be increased to reflect |
| "a new yearly release". |
| --> |
| <releaseNumberSDK>4.20</releaseNumberSDK> |
| <releaseNumberPlatform>4.20</releaseNumberPlatform> |
| |
| |
| <!-- using released version (normal case) |
| when upgrading make sure you change pom-version-updater version in build-functions.shsource |
| --> |
| <tycho.version>2.3.0</tycho.version> |
| |
| <cbi-plugins.version>1.1.8-SNAPSHOT</cbi-plugins.version> |
| <surefire.version>3.0.0-M5</surefire.version> |
| |
| <!-- |
| The tycho-eclipserun-plugin will create its instance of Eclipse from this |
| 'eclipiserun-repo' repository, such as for computing .api-descriptions and |
| generating API Tools reports. |
| --> |
| <eclipserun-repo>https://download.eclipse.org/eclipse/updates/4.20-I-builds/</eclipserun-repo> |
| |
| <comparator.repo>https://download.eclipse.org/eclipse/updates/4.20-I-builds</comparator.repo> |
| |
| <!-- only used when Tycho snapshot repo is enabled in <pluginRepositories> further down --> |
| <tycho-snapshot-repo.url>https://repo.eclipse.org/content/repositories/tycho-snapshots/</tycho-snapshot-repo.url> |
| |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <cbi-jdt-repo.url>https://repo.eclipse.org/content/repositories/eclipse-staging/</cbi-jdt-repo.url> |
| <cbi-ecj-version>3.26.0.v20210317-0507</cbi-ecj-version> |
| |
| <!-- |
| Production bundles are produced by ignoring the compiler warnings specified |
| by ${code.ignoredWarnings} (see further down). |
| Good citizens don't override those default settings for their production bundles. |
| --> |
| <code.ignoredWarnings>-warn:-deprecation,unavoidableGenericProblems,warningToken</code.ignoredWarnings> |
| |
| <!-- |
| Test bundles may override the list of ignored warnings by setting this at the top of their pom.xml: |
| <properties> |
| <code.ignoredWarnings>${tests.ignoredWarnings}</code.ignoredWarnings> |
| </properties> |
| Good citizens use those default settings for their test bundles. |
| --> |
| <tests.ignoredWarnings>-warn:-deprecation,raw,unchecked,discouraged,warningToken</tests.ignoredWarnings> |
| |
| <!-- |
| repo for released versions of CBI. Note, we intentionally use as specific a repo as possible. |
| See bug 471835. |
| --> |
| <eclipse-repo.url>https://repo.eclipse.org/content/repositories/cbi/</eclipse-repo.url> |
| <cbi-snapshots-repo.url>https://repo.eclipse.org/content/repositories/cbi-snapshots/</cbi-snapshots-repo.url> |
| |
| <cbi-releases-repo.url>https://repo.eclipse.org/content/repositories/cbi-releases/</cbi-releases-repo.url> |
| |
| |
| <!-- |
| This eclipse-p2-repo.url is specifically for the build-individual-bundles profile. |
| See that profile for longer comment. |
| --> |
| <eclipse-p2-repo.url>This_URL_set_in_build-individual-bundles_profile</eclipse-p2-repo.url> |
| |
| <!-- |
| If configuration is not specified at all, in signing plugin, the default |
| is 'false' (do not exclude inner jars, that is inner jars are signed). |
| --> |
| <defaultSigning-excludeInnerJars>false</defaultSigning-excludeInnerJars> |
| |
| <!-- |
| Valid options: error, warning, and ignore |
| jgit.dirtyWorkingTree checking was added as of Tycho 0.19.0 |
| see: https://bugs.eclipse.org/419030 |
| --> |
| <jgit.dirtyWorkingTree-platformDefault>ignore</jgit.dirtyWorkingTree-platformDefault> |
| |
| <qualifier.format>'v'yyyyMMdd-HHmm</qualifier.format> |
| |
| <compare-version-with-baselines.skip>true</compare-version-with-baselines.skip> |
| <previous-release.baseline>https://download.eclipse.org/eclipse/updates/4.19/R-4.19-202103031800/</previous-release.baseline> |
| |
| <!-- |
| Declaration of properties that contribute to the arg line for the tycho-surefire-plugin. |
| The properties are declared empty by default and are overridden by automatic activation |
| of the profiles 'macos' and 'jdk9-or-newer' or specific configuration in modules. |
| --> |
| <!-- any additional surefire args; to be defined by a test-plugin --> |
| <surefire.testArgLine></surefire.testArgLine> |
| <!-- platform/OS specific JVM args --> |
| <surefire.platformSystemProperties></surefire.platformSystemProperties> |
| <!-- properties related to Java modules on Java 9+ --> |
| <surefire.moduleProperties></surefire.moduleProperties> |
| <!-- system specific JVM args; if needed provided by system properties to the build command --> |
| <surefire.systemProperties></surefire.systemProperties> |
| <java.version>11</java.version> |
| </properties> |
| |
| <organization> |
| <name>Eclipse Foundation</name> |
| <url>https://www.eclipse.org/</url> |
| </organization> |
| |
| <issueManagement> |
| <system>Bugzilla</system> |
| <url>https://bugs.eclipse.org/bugs/</url> |
| </issueManagement> |
| |
| <distributionManagement> |
| <repository> |
| <id>repo.eclipse.org</id> |
| <name>Eclipse Repository - Releases</name> |
| <url>https://repo.eclipse.org/content/repositories/eclipse-releases/</url> |
| </repository> |
| <snapshotRepository> |
| <id>repo.eclipse.org</id> |
| <name>Eclipse Repository - Snapshots</name> |
| <url>https://repo.eclipse.org/content/repositories/eclipse-snapshots/</url> |
| </snapshotRepository> |
| </distributionManagement> |
| <pluginRepositories> |
| |
| <!-- Released Tycho versions are available on maven central, which is now mirrored to Eclipse.org. |
| The tycho-snapshot-repo is only needed when using snapshots. --> |
| <pluginRepository> |
| <id>tycho-snapshots</id> |
| <url>${tycho-snapshot-repo.url}</url> |
| <releases> |
| <enabled>true</enabled> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </pluginRepository> |
| |
| <pluginRepository> |
| <id>cbi-jdt</id> |
| <url>${cbi-jdt-repo.url}</url> |
| <releases> |
| <enabled>true</enabled> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </pluginRepository> |
| <pluginRepository> |
| <id>cbi-snapshots</id> |
| <url>${cbi-snapshots-repo.url}</url> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </pluginRepository> |
| <pluginRepository> |
| <id>cbi-releases</id> |
| <url>${cbi-releases-repo.url}</url> |
| <releases> |
| <enabled>true</enabled> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </pluginRepository> |
| <pluginRepository> |
| <id>eclipse</id> |
| <url>${eclipse-repo.url}</url> |
| <releases> |
| <enabled>true</enabled> |
| </releases> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| </pluginRepository> |
| </pluginRepositories> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-maven-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <extensions>true</extensions> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>target-platform-configuration</artifactId> |
| <configuration> |
| <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=453757 |
| <resolveWithExecutionEnvironmentConstraints>false</resolveWithExecutionEnvironmentConstraints> |
| --> |
| <target> |
| <artifact> |
| <groupId>org.eclipse</groupId> |
| <artifactId>eclipse-sdk-prereqs</artifactId> |
| <version>4.20.0-SNAPSHOT</version> |
| </artifact> |
| </target> |
| <environments> |
| <environment> |
| <os>linux</os> |
| <ws>gtk</ws> |
| <arch>x86_64</arch> |
| </environment> |
| <environment> |
| <os>linux</os> |
| <ws>gtk</ws> |
| <arch>ppc64le</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>arm64</arch> |
| </environment> |
| </environments> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-source-plugin</artifactId> |
| <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.apache.maven.plugins</groupId> |
| <artifactId>maven-resources-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>filter-resources</id> |
| <goals> |
| <goal>resources</goal> |
| </goals> |
| <phase>process-resources</phase> |
| <configuration> |
| <outputDirectory>${project.build.directory}/resources</outputDirectory> |
| <escapeString>\</escapeString> |
| </configuration> |
| </execution> |
| <execution> |
| <id>saveproperties</id> |
| <configuration> |
| <outputDirectory>${project.build.directory}</outputDirectory> |
| <overwrite>true</overwrite> |
| <resources> |
| <resource> |
| <directory>saveproperties</directory> |
| <filtering>true</filtering> |
| </resource> |
| </resources> |
| </configuration> |
| <phase>validate</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <!-- |
| This 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. |
| If version number changed in one place, be sure to change in the other. |
| --> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>3.0.0-M3</version> |
| <executions> |
| <execution> |
| <id>enforce-maven</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireMavenVersion> |
| <version>3.5.4</version> |
| </requireMavenVersion> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho.extras</groupId> |
| <artifactId>tycho-p2-extras-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <executions> |
| <execution> <!-- Checks versions are properly bumped from one stream to the other --> |
| <id>compare-attached-artifacts-with-release</id> |
| <goals> |
| <goal>compare-version-with-baselines</goal> |
| </goals> |
| <configuration> |
| <skip>${compare-version-with-baselines.skip}</skip> |
| <baselines> |
| <baseline>${previous-release.baseline}</baseline> |
| </baselines> |
| <comparator>zip</comparator> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.eclipse.tycho.extras</groupId> |
| <artifactId>tycho-eclipserun-plugin</artifactId> |
| <!-- this is actually present in any 0.14+ version --> |
| <version>${tycho.version}</version> |
| <configuration> |
| <executionEnvironment>JavaSE-11</executionEnvironment> |
| <repositories> |
| <repository> |
| <id>eclipse</id> |
| <layout>p2</layout> |
| <url>${eclipserun-repo}</url> |
| </repository> |
| </repositories> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <version>3.0.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${surefire.version}</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> |
| <dependencies> |
| <dependency> |
| <groupId>org.eclipse.jdt</groupId> |
| <artifactId>ecj</artifactId> |
| <version>${cbi-ecj-version}</version> |
| </dependency> |
| </dependencies> |
| <configuration> |
| <compilerArgs> |
| <args>${code.ignoredWarnings}</args> |
| <args>-verbose</args> |
| <args>-inlineJSR</args> |
| <args>-enableJavadoc</args> |
| <args>-encoding</args> |
| <args>${project.build.sourceEncoding}</args> |
| <args>-proceedOnError</args> |
| <!-- Use this form, for Tycho 22 or less. |
| <args>-log</args> |
| <args>${project.build.directory}/@dot.xml</args> |
| --> |
| </compilerArgs> |
| <!-- Use this form for Tycho 23 or greater --> |
| <log>xml</log> |
| <logDirectory>${project.build.directory}/compilelogs</logDirectory> |
| <showWarnings>true</showWarnings> |
| <excludeResources> |
| <exclude>**/package.html</exclude> |
| </excludeResources> |
| <useProjectSettings>false</useProjectSettings> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-packaging-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <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> |
| <format>${qualifier.format}</format> |
| <timestampProvider>jgit</timestampProvider> |
| <jgit.ignore> |
| pom.xml |
| .polyglot.build.properties |
| </jgit.ignore> |
| <jgit.dirtyWorkingTree>${jgit.dirtyWorkingTree-platformDefault}</jgit.dirtyWorkingTree> |
| <sourceReferences> |
| <generate>true</generate> |
| </sourceReferences> |
| <archive> |
| <addMavenDescriptor>false</addMavenDescriptor> |
| </archive> |
| <additionalFileSets combine.children="append"> |
| <fileSet> |
| <directory>${project.build.directory}</directory> |
| <includes> |
| <include>.api_description</include> |
| </includes> |
| </fileSet> |
| </additionalFileSets> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-surefire-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <configuration> |
| <enableAssertions>true</enableAssertions> |
| <argLine>${surefire.testArgLine} ${surefire.platformSystemProperties} ${surefire.systemProperties} ${surefire.moduleProperties}</argLine> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-source-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <configuration> |
| <distinctSourceRoots>true</distinctSourceRoots> |
| <archive> |
| <addMavenDescriptor>false</addMavenDescriptor> |
| </archive> |
| <reuseBrandingPlugin>false</reuseBrandingPlugin> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-p2-director-plugin</artifactId> |
| <version>${tycho.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-p2-repository-plugin</artifactId> |
| <version>${tycho.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-p2-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <configuration> |
| <baselineMode>warn</baselineMode> |
| <baselineReplace>all</baselineReplace> |
| <baselineRepositories> |
| <repository> |
| <url>${comparator.repo}</url> |
| </repository> |
| </baselineRepositories> |
| <ignoredPatterns> |
| <pattern>META-INF/ECLIPSE_.RSA</pattern> |
| <pattern>META-INF/ECLIPSE_.SF</pattern> |
| </ignoredPatterns> |
| <generateDownloadStatsProperty>true</generateDownloadStatsProperty> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>3.3.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-clean-plugin</artifactId> |
| <version>3.1.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-resources-plugin</artifactId> |
| <version>3.2.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>xml-maven-plugin</artifactId> |
| <version>1.0.2</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| <profiles> |
| <profile> |
| <id>java16patch</id> |
| <properties> |
| <qualifier.format>'v'yyyyMMdd-HHmm'_BETA_JAVA16'</qualifier.format> |
| |
| <featureToPatch>org.eclipse.jdt</featureToPatch> |
| <featureToPatchPDE>org.eclipse.pde</featureToPatchPDE> |
| |
| <!-- |
| For future versions, in addition to changing this value of "featureToPatchVersion", |
| the same value needs to be edited in |
| .../java16patch/org.eclipse.jdt.java16patch/feature.xml |
| and |
| .../java16patch/org.eclipse.jdt-feature-dummy/feature.xml |
| and it of course, must "match" what ever version was produced by the build specified |
| a few lines below, as the eclipse-p2-repo-java16patch p2 repository, as well as the lower |
| bound, in 'versionRangeForPatch'. |
| |
| Also, when new patch created, should update the wiki at |
| https://wiki.eclipse.org/Java16 |
| --> |
| <!-- This needs the version of the feature to be patched. --> |
| <featureToPatchVersion>3.18.700.v20210224-1800</featureToPatchVersion> |
| <featureToPatchVersionPDE>3.14.700.v20210224-1800</featureToPatchVersionPDE> |
| <!-- Can specify an exact range here, or something of a loose range, depending on what's needed. --> |
| <versionRangeForPatch>[3.18.700.v20210224-1800,3.18.749.v20210429-1800)</versionRangeForPatch> |
| <versionRangeForPatchPDE>[3.14.700.v20210224-1800,3.14.749.v20210429-1800)</versionRangeForPatchPDE> |
| <!-- Comment this line when a patch is required on top of I-build --> |
| <comparator.repo>https://download.eclipse.org/eclipse/updates/4.19-I-builds/I20210224-1800/</comparator.repo> |
| </properties> |
| <repositories> |
| <repository> |
| <id>eclipse-p2-repo-java16patch</id> |
| <url>https://download.eclipse.org/eclipse/updates/4.19-I-builds/I20210224-1800/</url> |
| <layout>p2</layout> |
| </repository> |
| </repositories> |
| </profile> |
| <profile> |
| <id>build-individual-bundles</id> |
| <activation> |
| <property> |
| <!-- Enable if aggregatorBuild property is not set --> |
| <name>!aggregatorBuild</name> |
| </property> |
| </activation> |
| <properties> |
| <!-- |
| This eclipse-p2-repo.url is specifically for the build individual bundles profile and Gerrit jobs. |
| Default is set to I-builds for main development cycle. |
| For maintenance streams should always be "M-builds". |
| Ideally, this value would be provided by the environment, see bug 489789. |
| --> |
| <eclipse-p2-repo.url>https://download.eclipse.org/eclipse/updates/4.20-I-builds</eclipse-p2-repo.url> |
| </properties> |
| <repositories> |
| <repository> |
| <id>eclipse</id> |
| <url>${eclipse-p2-repo.url}</url> |
| <layout>p2</layout> |
| </repository> |
| </repositories> |
| </profile> |
| <profile> |
| <id>eclipse-sign</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>target-platform-configuration</artifactId> |
| <version>${tycho.version}</version> |
| <configuration> |
| <includePackedArtifacts>false</includePackedArtifacts> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho.extras</groupId> |
| <artifactId>tycho-pack200a-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <executions> |
| <execution> |
| <id>pack200-normalize</id> |
| <goals> |
| <goal>normalize</goal> |
| </goals> |
| <phase>verify</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.cbi.maven.plugins</groupId> |
| <artifactId>eclipse-jarsigner-plugin</artifactId> |
| <version>${cbi-plugins.version}</version> |
| <executions> |
| <execution> |
| <id>sign</id> |
| <goals> |
| <goal>sign</goal> |
| </goals> |
| <phase>verify</phase> |
| </execution> |
| </executions> |
| <configuration> |
| <excludeInnerJars>${defaultSigning-excludeInnerJars}</excludeInnerJars> |
| <!-- |
| The default timeout is 0 seconds which means "wait forever": https://www.eclipse.org/cbi/sitedocs/eclipse-jarsigner-plugin/sign-mojo.html#timeoutMillis |
| We don't want to wait until the build finally aborts, so, setting a timeout (see bug 507369). |
| Increasing timeout from 60000 to 120000 (see bug 544823). |
| --> |
| <timeoutMillis>120000</timeoutMillis> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho.extras</groupId> |
| <artifactId>tycho-pack200b-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <executions> |
| <execution> |
| <id>pack200-pack</id> |
| <goals> |
| <goal>pack</goal> |
| </goals> |
| <phase>verify</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-p2-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <executions> |
| <execution> |
| <id>p2-metadata</id> |
| <goals> |
| <goal>p2-metadata</goal> |
| </goals> |
| <phase>verify</phase> |
| </execution> |
| </executions> |
| <configuration> |
| <defaultP2Metadata>false</defaultP2Metadata> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>eclipse-pack</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>target-platform-configuration</artifactId> |
| <version>${tycho.version}</version> |
| <configuration> |
| <includePackedArtifacts>false</includePackedArtifacts> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho.extras</groupId> |
| <artifactId>tycho-pack200a-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <executions> |
| <execution> |
| <id>pack200-normalize</id> |
| <goals> |
| <goal>normalize</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho.extras</groupId> |
| <artifactId>tycho-pack200b-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <executions> |
| <execution> |
| <id>pack200-pack</id> |
| <goals> |
| <goal>pack</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-p2-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <executions> |
| <execution> |
| <id>p2-metadata</id> |
| <goals> |
| <goal>p2-metadata</goal> |
| </goals> |
| <phase>package</phase> |
| </execution> |
| </executions> |
| <configuration> |
| <defaultP2Metadata>false</defaultP2Metadata> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>bree-libs</id> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-compiler-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <configuration> |
| <!-- |
| this tells Tycho to use JRE libraries that match bundle runtime execution environment |
| https://wiki.eclipse.org/Tycho/Release_Notes/0.14 |
| TODO provide CBI-specific wiki that explains how to setup BREE libraries and toolchain.xml |
| --> |
| <useJDK>BREE</useJDK> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| </profile> |
| <profile> |
| <id>partial-build</id> |
| <activation> |
| <property> |
| <name>eclipse-sdk-repo.url</name> |
| </property> |
| </activation> |
| <repositories> |
| <repository> |
| <id>eclipse-sdk-repo</id> |
| <url>${eclipse-sdk-repo.url}</url> |
| <layout>p2</layout> |
| </repository> |
| </repositories> |
| </profile> |
| <profile> |
| <id>default-toolsjar</id> |
| <activation> |
| <activeByDefault>true</activeByDefault> |
| <file> |
| <exists>${java.home}/../lib/tools.jar</exists> |
| </file> |
| </activation> |
| <properties> |
| <toolsjar>${java.home}/../lib/tools.jar</toolsjar> |
| </properties> |
| </profile> |
| <profile> |
| <id>missing-toolsjar</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| <file> |
| <exists>${java.home}/../Classes/classes.jar</exists> |
| </file> |
| </activation> |
| <properties> |
| <toolsjar>${java.home}/../Classes/classes.jar</toolsjar> |
| </properties> |
| </profile> |
| <profile> |
| <id>api-generation</id> |
| <activation> |
| <!-- Does it have to be a profile if we can evaluate condition reliably in antrun? --> |
| <file><exists>META-INF/MANIFEST.MF</exists></file> |
| <property> |
| <name>!longnotexistingproperty</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>check-has-apiTools-nature</id> |
| <phase>validate</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <exportAntProperties>true</exportAntProperties> |
| <target> |
| <loadfile srcfile=".project" property="natureIn.project"> |
| <filterchain> |
| <linecontains> |
| <contains value="org.eclipse.pde.api.tools.apiAnalysisNature"/> |
| </linecontains> |
| </filterchain> |
| </loadfile> |
| <condition property="skipAPIDescription" value="false" else="true"> |
| <isset property="natureIn.project" /> |
| </condition> |
| </target> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho.extras</groupId> |
| <artifactId>tycho-eclipserun-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>eclipse-run</goal> |
| </goals> |
| <phase>process-classes</phase> |
| <id>build-.api_description</id> |
| <configuration> |
| <skip>${skipAPIDescription}</skip> |
| <work>${project.build.directory}/apigeneration-workspace</work> |
| <appArgLine>-application org.eclipse.pde.api.tools.apiGeneration |
| -projectName ${project.artifactId}_${qualifiedVersion} |
| -project ${project.basedir} |
| -binary ${tychoProject.build.outputDirectories} |
| -target ${project.build.directory} |
| </appArgLine> |
| <dependencies> |
| <!-- list of bundles that we need --> |
| <dependency> |
| <artifactId>org.eclipse.pde.api.tools</artifactId> |
| <type>eclipse-plugin</type> |
| </dependency> |
| <dependency> |
| <artifactId>org.eclipse.pde.build</artifactId> |
| <type>eclipse-plugin</type> |
| </dependency> |
| <dependency> |
| <artifactId>org.eclipse.pde.core</artifactId> |
| <type>eclipse-plugin</type> |
| </dependency> |
| <dependency> |
| <artifactId>org.eclipse.equinox.launcher</artifactId> |
| <type>eclipse-plugin</type> |
| </dependency> |
| <dependency> |
| <artifactId>org.eclipse.osgi.compatibility.state</artifactId> |
| <type>eclipse-plugin</type> |
| </dependency> |
| <dependency> |
| <artifactId>javax.annotation</artifactId> |
| <type>eclipse-plugin</type> |
| </dependency> |
| </dependencies> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>api-check</id> |
| <activation> |
| <activeByDefault>false</activeByDefault> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>check-skip-api-analysis</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <skip>${skipAPIAnalysis}</skip> |
| <exportAntProperties>true</exportAntProperties> |
| <target> |
| <condition property="skipAPIAnalysis" value="true"> |
| <not> |
| <available file="${basedir}/META-INF/MANIFEST.MF"/> |
| </not> |
| </condition> |
| <echo file="${project.build.directory}/${project.artifactId}-apiBaseline.target"> |
| <![CDATA[ |
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| <?pde version="3.8"?> |
| <target name="${project.artifactId}-apiBaseline" sequenceNumber="1"> |
| <locations> |
| <location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="false" type="InstallableUnit"> |
| <repository location="${previous-release.baseline}"/> |
| <unit id="${project.artifactId}" version="0.0.0"/> |
| </location> |
| </locations> |
| </target> |
| ]]> |
| </echo> |
| </target> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho.extras</groupId> |
| <artifactId>tycho-dependency-tools-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <executions> |
| <execution> |
| <id>list-dependencies</id> |
| <goals> |
| <goal>list-dependencies</goal> |
| </goals> |
| <phase>verify</phase> |
| <configuration> |
| <skip>${skipAPIAnalysis}</skip> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho.extras</groupId> |
| <artifactId>tycho-eclipserun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>api-analysis</id> |
| <goals> |
| <goal>eclipse-run</goal> |
| </goals> |
| <phase>verify</phase> |
| <configuration> |
| <skip>${skipAPIAnalysis}</skip> |
| <!-- keep workspace across execution to reuse downloaded artifacts --> |
| <clearWorkspaceBeforeLaunch>false</clearWorkspaceBeforeLaunch> |
| <!-- need to set workspace to a dir that's not a child of the project and that the same for all executions --> |
| <work>${user.dir}/apiAnalyzer-workspace</work> |
| <applicationsArgs> |
| <args>-application</args> |
| <args>org.eclipse.pde.api.tools.apiAnalyzer</args> |
| <args>-project</args> |
| <args>${project.basedir}</args> |
| <args>-baseline</args> |
| <args>${project.build.directory}/${project.artifactId}-apiBaseline.target</args> |
| <args>-dependencyList</args> |
| <args>${project.build.directory}/dependencies-list.txt</args> |
| <args>-failOnError</args> |
| </applicationsArgs> |
| <jvmArgs> |
| <jvmArg>-Xmx2048M</jvmArg> |
| </jvmArgs> |
| <dependencies> |
| <dependency> |
| <artifactId>org.eclipse.pde.api.tools</artifactId> |
| <type>p2-installable-unit</type> |
| </dependency> |
| <dependency> |
| <artifactId>javax.annotation</artifactId> |
| <type>p2-installable-unit</type> |
| </dependency> |
| <dependency> |
| <artifactId>org.eclipse.equinox.p2.transport.ecf</artifactId> |
| <type>p2-installable-unit</type> |
| </dependency> |
| <dependency> |
| <artifactId>org.eclipse.ecf.provider.filetransfer.ssl</artifactId> |
| <type>p2-installable-unit</type> |
| </dependency> |
| <dependency> |
| <artifactId>org.eclipse.equinox.p2.touchpoint.natives</artifactId> |
| <type>p2-installable-unit</type> |
| </dependency> |
| <dependency> |
| <artifactId>org.eclipse.osgi.compatibility.state</artifactId> |
| <type>p2-installable-unit</type> |
| </dependency> |
| </dependencies> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>update-branding-plugins-about.mappings</id> |
| <activation> |
| <file> |
| <exists>${basedir}/about.mappings</exists> |
| </file> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-resources-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>process-about.mappings</id> |
| <phase>prepare-package</phase> |
| <configuration> |
| <outputDirectory>${project.build.directory}</outputDirectory> |
| <overwrite>true</overwrite> |
| <resources> |
| <resource> |
| <directory>${basedir}</directory> |
| <includes> |
| <include>about.mappings</include> |
| </includes> |
| <filtering>true</filtering> |
| </resource> |
| </resources> |
| </configuration> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.tycho</groupId> |
| <artifactId>tycho-packaging-plugin</artifactId> |
| <version>${tycho.version}</version> |
| <configuration> |
| <additionalFileSets> |
| <fileSet> |
| <directory>${project.build.directory}</directory> |
| <includes> |
| <include>about.mappings</include> |
| </includes> |
| </fileSet> |
| </additionalFileSets> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>coverage</id> |
| <properties> |
| <!-- Since we append output of various tests, write to a common folder besides tests --> |
| <!-- it's recommended to override that to an absolute value in specific Hudson configurations |
| and Sonar integration --> |
| <jacoco.destFile>${project.basedir}/../target/jacoco.exec</jacoco.destFile> |
| <sonar.jacoco.reportPath>${jacoco.destFile}</sonar.jacoco.reportPath> |
| </properties> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>0.8.6</version> |
| <executions> |
| <execution> |
| <id>jacoco-agent</id> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <append>true</append> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>spotbugs</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>4.1.4</version> |
| <configuration> |
| <targetJDK>${java.version}</targetJDK> |
| <xmlOutput>true</xmlOutput> |
| <effort>Max</effort> |
| <maxHeap>2000</maxHeap> |
| <threshold>medium</threshold> |
| <failOnError>false</failOnError> |
| <excludeFilterFile>spotbugs/spotbugs-exclude.xml</excludeFilterFile> |
| </configuration> |
| <executions> |
| <execution> |
| <id>analyze-compile</id> |
| <phase>compile</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>pmd</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-pmd-plugin</artifactId> |
| <version>3.13.0</version> |
| <configuration> |
| <!-- PMD options --> |
| <targetJDK>${java.version}</targetJDK> |
| <aggregate>true</aggregate> |
| <failOnViolation>false</failOnViolation> |
| <format>xml</format> |
| <rulesets><ruleset>pmd/eclipse_ruleset.xml</ruleset></rulesets> |
| <!-- CPD options --> |
| <minimumTokens>100</minimumTokens> |
| <ignoreIdentifiers>true</ignoreIdentifiers> |
| </configuration> |
| <executions> |
| <execution> |
| <id>analyze-compile</id> |
| <phase>compile</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>checkstyle</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>3.1.1</version> |
| <configuration> |
| <consoleOutput>true</consoleOutput> |
| <failsOnError>false</failsOnError> |
| <configLocation>checkstyle/checkstyle.xml</configLocation> |
| </configuration> |
| <executions> |
| <execution> |
| <id>analyze-compile</id> |
| <phase>compile</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>macos</id> |
| <activation> |
| <os> |
| <family>mac</family> |
| </os> |
| </activation> |
| <properties> |
| <surefire.platformSystemProperties>-XstartOnFirstThread</surefire.platformSystemProperties> |
| </properties> |
| </profile> |
| |
| <profile> |
| <id>jdk9-or-newer</id> |
| <activation> |
| <jdk>[9,)</jdk> |
| </activation> |
| <properties> |
| <surefire.moduleProperties>--add-modules=ALL-SYSTEM</surefire.moduleProperties> |
| </properties> |
| </profile> |
| </profiles> |
| <scm> |
| <connection>scm:git:https://git.eclipse.org/r/platform/eclipse.platform.releng.aggregator</connection> |
| </scm> |
| </project> |