diff --git a/JenkinsJobs/Builds/build.jenkinsfile b/JenkinsJobs/Builds/build.jenkinsfile index ee90b849895..f1df68866c2 100644 --- a/JenkinsJobs/Builds/build.jenkinsfile +++ b/JenkinsJobs/Builds/build.jenkinsfile @@ -72,7 +72,6 @@ pipeline { sh '''#!/bin/bash -xe chmod +x mbscripts/* chmod +x $CJE_ROOT/scripts/notarizeMacApp.sh - mkdir -p $logDir ./mbscripts/mb010_createEnvfiles.sh ${CJE_ROOT}/buildproperties.shsource 2>&1 ''' @@ -183,6 +182,7 @@ pipeline { assignEnvVariable('BASE_BUILDER_ECLIPSE_EXE', "${exe} -nosplash --launcher.suppressErrors") sh ''' source $CJE_ROOT/buildproperties.shsource + mkdir -p $CJE_ROOT/$TMP_DIR $BASE_BUILDER_ECLIPSE_EXE \ -debug -consolelog -data $CJE_ROOT/$TMP_DIR/workspace-toolsinstall \ -application org.eclipse.equinox.p2.director \ @@ -193,17 +193,36 @@ pipeline { } } } - stage('Aggregator maven build'){ - environment { - KEYRING = credentials('secret-subkeys-releng.asc') - MAVEN_GPG_PASSPHRASE = credentials('secret-subkeys-releng.asc-passphrase') - } - steps { - dir("${CJE_ROOT}/mbscripts") { - sh ''' - set -eo pipefail - ./mb220_buildSdkPatch.sh $CJE_ROOT/buildproperties.shsource 2>&1 | tee $logDir/mb220_buildSdkPatch.sh.log - ''' + stage('Aggregator maven build') { + environment { + KEYRING = credentials('secret-subkeys-releng.asc') + MAVEN_GPG_PASSPHRASE = credentials('secret-subkeys-releng.asc-passphrase') + LOCAL_REPO = 'localMavenRepo' + } + steps { + dir("${AGG_DIR}") { + sh '''#!/bin/bash -xe + source $CJE_ROOT/buildproperties.shsource + + mvn clean install -pl :eclipse-sdk-prereqs,:org.eclipse.jdt.core.compiler.batch \ + -Dmaven.repo.local=${LOCAL_REPO} -DlocalEcjVersion=99.99 \ + -DcompilerBaselineMode=disable -DcompilerBaselineReplace=none + + set -o pipefail + mkdir -p ${logDir} + + mvn clean verify -DskipTests=true -Pbree-libs -Peclipse-sign \ + -Dtycho.debug.artifactcomparator -Dtycho.localArtifacts=ignore \ + -Dcbi.jarsigner.continueOnFail=true \ + -Dtycho.pgp.signer=bc -Dtycho.pgp.signer.bc.secretKeys="${KEYRING}" \ + -Djgit.dirtyWorkingTree=error \ + -Djava.io.tmpdir=$CJE_ROOT/$TMP_DIR \ + -Dmaven.repo.local=${LOCAL_REPO} -Dcbi-ecj-version=99.99 \ + -DbuildType=${BUILD_TYPE} -DbuildId=${BUILD_ID} -DbuildTimestamp=${TIMESTAMP} \ + -e -T 1C \ + 2>&1 | tee ${logDir}/mb220_buildSdkPatch.sh.log + # Capture the build log for the subsequent scan for comparator errors + ''' } } } @@ -463,7 +482,6 @@ pipeline { # Build Equinox Launcher archives pushd $CJE_ROOT mkdir -p $ECLIPSE_BUILDER_DIR/equinox/$TMP_DIR - mkdir -p $CJE_ROOT/$TMP_DIR $BASE_BUILDER_ECLIPSE_EXE \ -application org.eclipse.ant.core.antRunner \ -buildfile ${ECLIPSE_BUILDER_DIR}/equinox/buildConfigs/equinox-launchers/build.xml \ diff --git a/cje-production/buildproperties.txt b/cje-production/buildproperties.txt index 3e3b01e7b4e..a67952b353e 100644 --- a/cje-production/buildproperties.txt +++ b/cje-production/buildproperties.txt @@ -1,5 +1,5 @@ #******************************************************************************* -# Copyright (c) 2018, 2025 IBM Corporation and others. +# Copyright (c) 2018, 2026 IBM Corporation and others. # # This program and the accompanying materials # are made available under the terms of the Eclipse Public License 2.0 @@ -24,7 +24,6 @@ STREAMMinor="40" STREAMService="0" TMP_DIR="tmp" DOWNLOAD_HOST="download.eclipse.org" -LOCAL_REPO="localMavenRepo" NEXT_JAVA_RELEASE_DATE="" PREVIOUS_RELEASE_VER="4.39" diff --git a/cje-production/mbscripts/mb220_buildSdkPatch.sh b/cje-production/mbscripts/mb220_buildSdkPatch.sh deleted file mode 100755 index 75e27d89266..00000000000 --- a/cje-production/mbscripts/mb220_buildSdkPatch.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash -e - -#******************************************************************************* -# Copyright (c) 2019, 2025 IBM Corporation and others. -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License 2.0 -# which accompanies this distribution, and is available at -# https://www.eclipse.org/legal/epl-2.0/ -# -# SPDX-License-Identifier: EPL-2.0 -# -# Contributors: -# Kit Lo - initial API and implementation -#******************************************************************************* - -if [ $# -ne 1 ]; then - echo USAGE: $0 env_file - exit 1 -fi - -source $CJE_ROOT/scripts/common-functions.shsource -source $1 - -if [[ -z "${WORKSPACE}" ]]; then - MVN_ARGS="" -else - MVN_ARGS="-Pbree-libs -Peclipse-sign" -fi - -mkdir -p $CJE_ROOT/$TMP_DIR -cd $CJE_ROOT/gitCache/eclipse.platform.releng.aggregator -mvn clean install -pl :eclipse-sdk-prereqs,:org.eclipse.jdt.core.compiler.batch \ - -DlocalEcjVersion=99.99 \ - -Dmaven.repo.local=$LOCAL_REPO -DcompilerBaselineMode=disable -DcompilerBaselineReplace=none - -mvn clean verify -DskipTests=true ${MVN_ARGS} \ - -Dtycho.debug.artifactcomparator \ - -Dtycho.localArtifacts=ignore \ - -Dcbi.jarsigner.continueOnFail=true \ - -Dtycho.pgp.signer=bc -Dtycho.pgp.signer.bc.secretKeys="${KEYRING}" \ - -Djgit.dirtyWorkingTree=error \ - -Dmaven.repo.local=$LOCAL_REPO \ - -Djava.io.tmpdir=$CJE_ROOT/$TMP_DIR \ - -DbuildTimestamp=$TIMESTAMP \ - -DbuildType=$BUILD_TYPE \ - -DbuildId=$BUILD_ID \ - -Dcbi-ecj-version=99.99 \ - -e \ - -T 1C diff --git a/cje-production/readme.txt b/cje-production/readme.txt index eadefb890e1..6f831646bdf 100644 --- a/cje-production/readme.txt +++ b/cje-production/readme.txt @@ -3,10 +3,6 @@ This is the location where we will develop production scripts for use on Cloudbe Here are some ground rules 1. Each script starts with mb_.sh. xxx is a 3 digit number 000-099 - preparing build environment like setting environment variables etc. - 200-299 - Maven operations(Updating pom with versions from manifest, create tar ball, build SDK/patch etc) - 300-399 - gather parts (collecting different artifacts into a temporary build location) - 500-599 - Generate build reports (running p2.repo.analyzers and dirt report, jdeps reports etc) - 600-699 - promote the build to download.eclipse.org. 2. Every script should accept $ENV_FILE. this envrironment file is created at the preparing the build environment stage. 3. Every script should source "common-functions.shsource". This will contain common methods used across the scripts