diff options
Diffstat (limited to 'cje-production')
-rwxr-xr-x | cje-production/mbscripts/mb620_promoteUpdateSite.sh | 2 | ||||
-rw-r--r-- | cje-production/temporary_repo/computeRepoURLs.php | 99 | ||||
-rw-r--r-- | cje-production/temporary_repo/pom.xml | 1170 |
3 files changed, 1270 insertions, 1 deletions
diff --git a/cje-production/mbscripts/mb620_promoteUpdateSite.sh b/cje-production/mbscripts/mb620_promoteUpdateSite.sh index 2616d1ff1..6a68647db 100755 --- a/cje-production/mbscripts/mb620_promoteUpdateSite.sh +++ b/cje-production/mbscripts/mb620_promoteUpdateSite.sh @@ -24,7 +24,7 @@ source $CJE_ROOT/scripts/common-functions.shsource source $1 epUpdateDir=/home/data/httpd/download.eclipse.org/eclipse/updates -dropsPath=${epUpdateDir}/${STREAMMajor}.${STREAMMinor}-${BUILD_TYPE}-builds +dropsPath=${epUpdateDir}/${STREAMMajor}.${STREAMMinor}-${BUILD_TYPE}-newbuilds latestRelDir=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops4 pushd $CJE_ROOT/$UPDATES_DIR scp -r ${BUILD_ID} genie.releng@projects-storage.eclipse.org:${dropsPath}/. diff --git a/cje-production/temporary_repo/computeRepoURLs.php b/cje-production/temporary_repo/computeRepoURLs.php new file mode 100644 index 000000000..f797776ed --- /dev/null +++ b/cje-production/temporary_repo/computeRepoURLs.php @@ -0,0 +1,99 @@ +<?php + +// This snippet must some before the "repository URLs" as is it used to +// "compute" the proper URLs for the various streams and types of builds. + +// It requires, for following variables to have already been defined in outter script: +// $BUILD_ID, $STREAM_MAJOR, $STREAM_MINOR, $BUILD_TYPE, $TIMESTAMP + +// It "outputs" two values: +// $STREAM_REPO_URL +// $$BUILD_REPO_URL + +// "RCs" have complicated rules, but in short: +// RC's for an initial release (in June) go from 4.x-M-build repos to 4xmilestone repos +// RC's for SRs "stay" in the 4.x-M-build repo. And, no easy way to tell if service release, +// from the build id alone. The hard way is to part the first "digit groups" of build id, and, +// if service field is 0 (or does not exist) then it is not a service release. + + +// checking for existence is especially important for BUILD_REPOs, since they might have been removed. +// but we do it also for sanity check. +// relative patch can be either 3 or 4 "up", depending on if on downloads, or build machine. +// either can be used to "prove existence". +// We define them here, but used in "main", outter script. +$relativePath4="../../../.."; +$relativePath3="../../.."; + + +function isSRRC ( $buildid ) { + $SRPATTERN="/([0-9]+)\\.([0-9]+)\\.([1-9]+)RC[1-4]/"; + return (preg_match($SRPATTERN, $buildid)); +} + +function isRRC ( $buildid ) { + $RPATTERN="/([0-9]+)\\.([0-9]+)((\\.0)?)RC[1-4]/"; + return (preg_match($RPATTERN, $buildid)); +} + +function computeSTREAM_REPO_NAME () { + global $BUILD_ID, $BUILD_TYPE, $STREAM_MAJOR, $STREAM_MINOR; + // We expect $BUILD_ID to be defined in buildproperties.php + // But it can be defined several times in reference URI, such as once in directory name, + // and once in filename. We want the directory-like part. + // And to complicate things, in S and R builds, the segment is no longer BUILD_ID, + // but a more complicated concatenation. + if ($BUILD_TYPE === "M" && isSRRC($BUILD_ID)) { + $STREAM_REPO_NAME=$STREAM_MAJOR.".".$STREAM_MINOR."-"."$BUILD_TYPE"."-newbuilds"; + } else { + if ($BUILD_TYPE === "M" && isRRC($BUILD_ID)) { + $STREAM_REPO_NAME=$STREAM_MAJOR.".".$STREAM_MINOR."milestones"; + } else { + if ($BUILD_TYPE === "N" || $BUILD_TYPE === "I" || $BUILD_TYPE === "M" || $BUILD_TYPE === "P" || $BUILD_TYPE === "U" || $BUILD_TYPE === "X" || $BUILD_TYPE === "Y") { + $STREAM_REPO_NAME=$STREAM_MAJOR.".".$STREAM_MINOR."-".$BUILD_TYPE."-"."newbuilds"; + } else { + if ($BUILD_TYPE === "S") { + $STREAM_REPO_NAME=$STREAM_MAJOR.".".$STREAM_MINOR."milestones"; + } else { + if ($BUILD_TYPE === "R") { + $STREAM_REPO_NAME=$STREAM_MAJOR.".".$STREAM_MINOR; + } + else { + echo "Unexpected value of BUILD_TYPE: $BUILD_TYPE. <br />\n"; + // We will make an assumption that might work. + $STREAM_REPO_NAME=$STREAM_MAJOR.".".$STREAM_MINOR."-".$BUILD_TYPE."-"."newbuilds"; + } + } + } + } + } + return $STREAM_REPO_NAME; +} + +function computeSTREAM_REPO_URL () { + $STREAM_REPO_URL="https://download.eclipse.org/eclipse/updates/".computeSTREAM_REPO_NAME ()."/"; + return $STREAM_REPO_URL; +} + +function computeBUILD_REPO_NAME () { + global $BUILD_ID, $BUILD_TYPE, $TIMESTAMP ; + // There are two types of M builds, some RCs, some not. + if ($BUILD_TYPE === "N" || $BUILD_TYPE === "I" || $BUILD_TYPE === "P" || $BUILD_TYPE === "U" || $BUILD_TYPE === "X" || $BUILD_TYPE === "Y" || $BUILD_TYPE === "M" && ! ((isSRRC($BUILD_ID)) || isRRC($BUILD_ID))) { + $BUILD_REPO_NAME=computeSTREAM_REPO_NAME ()."/".$BUILD_ID; + } else { + $timestamp = str_replace('-', '', $TIMESTAMP); + if ($BUILD_TYPE === "S" || $BUILD_TYPE === "R" || ($BUILD_TYPE === "M" && (isSRRC($BUILD_ID) || isRRC($BUILD_ID)))) { + $BUILD_REPO_NAME=computeSTREAM_REPO_NAME ()."/".$BUILD_TYPE."-".$BUILD_ID."-"."$timestamp"; + } else { + echo "Unexpected value of BUILD_TYPE: $BUILD_TYPE. <br />\n"; + // We will make an assumption that might work. + $BUILD_REPO_NAME=computeSTREAM_REPO_NAME ()."/".$BUILD_ID; + } + } + return $BUILD_REPO_NAME; +} +function computeBUILD_REPO_URL () { + $BUILD_REPO_URL="https://download.eclipse.org/eclipse/updates/".computeBUILD_REPO_NAME()."/"; + return $BUILD_REPO_URL; +} + diff --git a/cje-production/temporary_repo/pom.xml b/cje-production/temporary_repo/pom.xml new file mode 100644 index 000000000..9d3960624 --- /dev/null +++ b/cje-production/temporary_repo/pom.xml @@ -0,0 +1,1170 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (c) 2012, 2020 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.15.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.5.4</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>2020-03</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.15</releaseNumberSDK> + <releaseNumberPlatform>4.15</releaseNumberPlatform> + + + <!-- Using snapshot, or locally built (forked) snapshot version for bug 484000. + Need to enable the tycho-snapshot-repo in <pluginRepositories> further down! + Do not use snapshot version for pom-version-updater defined in build-functions.shsource + Use released version for pom-updater + <tycho.version>1.1.0-SNAPSHOT</tycho.version> + <tycho-extras.version>1.1.0-SNAPSHOT</tycho-extras.version> + --> + + <!-- using released version (normal case) + when upgrading make sure you change pom-version-updater version in build-functions.shsource + --> + <tycho.version>1.6.0</tycho.version> + <tycho-extras.version>1.6.0</tycho-extras.version> + + <cbi-plugins.version>1.1.8-SNAPSHOT</cbi-plugins.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.15-I-builds/</eclipserun-repo> + + <comparator.repo>https://download.eclipse.org/eclipse/updates/4.15-I-newbuilds</comparator.repo> + + <!-- + NOTE: this EMF and ECF URL must match exactly what is in the eclipse-sdk-prereqs.target file. + We use it (the EMF repo and ECF repo) not only for resolving pre-reqs during the build, but also in 'repository' POM for mirroring + a copy of the EMF features and ECF features into our own repository. This is required since we merely "require" EMF (not "include" + it). + And, of course, in the PDE target file, the URL is expected to be the actual URL, not a variable. + --> + <emf-repo.url>https://download.eclipse.org/modeling/emf/emf/builds/milestone/S202001280358</emf-repo.url> + + <ecf-repo.url>https://download.eclipse.org/rt/ecf/3.14.6/site.p2/</ecf-repo.url> + + <!-- 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.21.0.v20200126-2056</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> + + + <!-- + 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.14/R-4.14-201912100610/</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> + </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>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.15.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>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-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-extras.version}</version> + <configuration> + <executionEnvironment>JavaSE-1.8</executionEnvironment> + <repositories> + <repository> + <id>eclipse</id> + <layout>p2</layout> + <url>${eclipserun-repo}</url> + </repository> + </repositories> + <!-- + This is to fix some lucene 3.x compatibility issues. + Required for 4.2 and earlier. Not for 4.3 and later. + <argLine>-Dhelp.lucene.tokenizer=standard</argLine> + --> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-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> + <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-extras.version}</version> + </dependency> + <dependency> + <groupId>org.eclipse.tycho.extras</groupId> + <artifactId>tycho-sourceref-jgit</artifactId> + <version>${tycho-extras.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> + </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.extras</groupId> + <artifactId>tycho-source-feature-plugin</artifactId> + <version>${tycho-extras.version}</version> + <configuration> + <archive> + <addMavenDescriptor>false</addMavenDescriptor> + </archive> + <reuseBrandingPlugin>false</reuseBrandingPlugin> + </configuration> + </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.2.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.1.0</version> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>xml-maven-plugin</artifactId> + <version>1.0.2</version> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>sonar-maven-plugin</artifactId> + <version>3.3.0.603</version> + </plugin> + </plugins> + </pluginManagement> + </build> + <profiles> + <profile> + <id>java14patch415</id> + <properties> + <qualifier.format>'v'yyyyMMdd-HHmm'_BETA_JAVA14'</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 + .../java14patch415/org.eclipse.jdt.java14patch/feature.xml + and + .../java14patch415/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-java14patch415 p2 repository, as well as the lower + bound, in 'versionRangeForPatch'. + + Also, when new patch created, should update the wiki at + https://wiki.eclipse.org/Java14 + --> + <!-- This needs the version of the feature to be patched. --> + <featureToPatchVersion>3.18.300.v20200110-0905</featureToPatchVersion> + <featureToPatchVersionPDE>3.14.300.v20200110-0905</featureToPatchVersionPDE> + <!-- Can specify an exact range here, or something of a loose range, depending on what's needed. --> + <versionRangeForPatch>[3.18.300.v20200110-0905,3.19.0.v20200610-0905)</versionRangeForPatch> + <versionRangeForPatchPDE>[3.14.300.v20200110-0905,3.14.400.v20200610-0905)</versionRangeForPatchPDE> + <!-- Comment this line when a patch is required on top of I-build --> + <comparator.repo>https://download.eclipse.org/eclipse/updates/4.15milestones/S-4.15M1-202001100905/</comparator.repo> + </properties> + <repositories> + <repository> + <id>eclipse-p2-repo-java14patch415</id> + <url>https://download.eclipse.org/eclipse/updates/4.15milestones/S-4.15M1-202001100905/</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.15-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-extras.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-extras.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-extras.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-extras.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> + <property> + <name>!longnotexistingproperty</name> + </property> + </activation> + <build> + <plugins> + <plugin> + <groupId>org.eclipse.cbi.maven.plugins</groupId> + <artifactId>eclipse-cbi-plugin</artifactId> + <version>${cbi-plugins.version}</version> + <executions> + <execution> + <!-- + Default lifecycle phase: 'GENERATE_SOURCES' + See https://maven.apache.org/ref/3.5.4/maven-core/lifecycles.html + --> + <goals> + <goal>generate-api-build-xml</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.eclipse.tycho.extras</groupId> + <artifactId>tycho-eclipserun-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>eclipse-run</goal> + </goals> + <phase>compile</phase> + <configuration> + <!-- actual indexer call --> + <appArgLine>-data target/apibuild-workspace -application org.eclipse.ant.core.antRunner -buildfile + target/.apibuild.xml</appArgLine> + <dependencies> + <!-- list of bundles that we need --> + <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.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-extras.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> + <applicationsArgs> + <!-- need to set workspace to a dir that's not a child of the project --> + <arg>-data</arg> + <args>${project.basedir}/../target/${project.artifactId}-apiAnalyzer-workspace</args> + <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> + <repositories> + <repository> + <layout>p2</layout> + <url>${comparator.repo}</url> + </repository> + </repositories> + <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.5</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>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> |