diff options
Diffstat (limited to 'cje-production/scripts')
-rw-r--r-- | cje-production/scripts/addToComposite.xml | 22 | ||||
-rwxr-xr-x | cje-production/scripts/checkComposites/checkComposites.sh | 56 | ||||
-rw-r--r-- | cje-production/scripts/collectTestResults.xml | 217 | ||||
-rwxr-xr-x | cje-production/scripts/common-functions.shsource | 108 | ||||
-rw-r--r-- | cje-production/scripts/genTestIndexes.xml | 142 | ||||
-rw-r--r-- | cje-production/scripts/notarizeMacApp.sh | 74 | ||||
-rw-r--r-- | cje-production/scripts/removeFromComposite.xml | 22 | ||||
-rw-r--r-- | cje-production/scripts/updateGenericComposites.xml | 107 |
8 files changed, 0 insertions, 748 deletions
diff --git a/cje-production/scripts/addToComposite.xml b/cje-production/scripts/addToComposite.xml deleted file mode 100644 index 0394c553d..000000000 --- a/cje-production/scripts/addToComposite.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<project - default="addToComposite" - basedir="."> - <target name="addToComposite"> - <fail unless="repodir" message="repodir must be passed in to this script" /> - <fail unless="complocation" message="complocation must be passed in to this script" /> - <echo message="Adding child (complocation) to composite (repodir)" /> - <echo message=" repodir: ${repodir}" /> - <echo message=" complocation: ${complocation}" /> - <p2.composite.repository> - <repository - location="file://${repodir}" - name="The Eclipse Project repository" /> - <add> - <repository location="${complocation}" /> - </add> - </p2.composite.repository> - </target> -</project> - diff --git a/cje-production/scripts/checkComposites/checkComposites.sh b/cje-production/scripts/checkComposites/checkComposites.sh deleted file mode 100755 index cbab97bd4..000000000 --- a/cje-production/scripts/checkComposites/checkComposites.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env bash -#******************************************************************************* -# Copyright (c) 2020 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: -# Sravan Lakkimsetti - initial API and implementation -#******************************************************************************* - -# Utility to run on Hudson, to periodically confirm that our -# atomic composite repositories are valid. - -# can be retrieved, on Hudson, with -# wget --no-verbose --no-cache -O checkComposites.sh https://${GIT_HOST}/c/platform/eclipse.platform.releng.aggregator.git/plain/production/miscToolsAndNotes/checkComposites/checkComposites.sh; -# and typically set chmod +x checkComposites.sh -# and then executed in "bash script" build step. - -dropsPath=/home/data/httpd/download.eclipse.org/eclipse/downloads/drops4 -repoHttpAccess=https://download.eclipse.org -repoAccess=${repoHttpAccess} -# TODO: reduce this list soon -repoList="\ -/eclipse/updates/4.22/ \ -/eclipse/updates/4.23/ \ -/eclipse/updates/4.23-I-builds/ \ -/eclipse/updates/4.23-Y-builds/ \ -/eclipse/updates/4.23-P-builds/ \ -" - - -# Confirm that Eclipse Platform has already been installed, if not, install it -if [[ ! -d ${WORKSPACE}/eclipse ]] -then - epRelDir=$(ssh genie.releng@projects-storage.eclipse.org ls -d --format=single-column ${dropsPath}/R-*|sort|tail -1) - scp genie.releng@projects-storage.eclipse.org:${epRelDir}/eclipse-platform-*-linux-gtk-x86_64.tar.gz . - tar -xzf eclipse-platform-*-linux-gtk-x86_64.tar.gz -C ${WORKSPACE} -fi - -for repo in ${repoList} -do - echo -e "\n\n\tChecking repo:\n\t\t ${repoAccess}${repo}\n\n" - nice -n 10 ${WORKSPACE}/eclipse/eclipse -nosplash -consolelog --launcher.suppressErrors -application org.eclipse.equinox.p2.director -repository ${repoAccess}${repo} -list -vm ${JAVA_HOME}/bin/java - RC=$? - if [[ $RC != 0 ]] - then - echo -e "\n\t[ERROR]: p2.director list returned a non-zero return code: $RC" - exit $RC - fi -done - diff --git a/cje-production/scripts/collectTestResults.xml b/cje-production/scripts/collectTestResults.xml deleted file mode 100644 index 6eb549278..000000000 --- a/cje-production/scripts/collectTestResults.xml +++ /dev/null @@ -1,217 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project - name="collectTestResults" - default="collectTestResults" - basedir="."> - - <!-- example properties. Caller normally provides. --> - <property - name="job" - value="ep4-unit-mac64" /> - <property - name="buildNumber" - value="49" /> - <property - name="buildId" - value="N20121014-2000" /> - <property - name="eclipseStream" - value="4.3.0" /> - <property - name="EBUILDER_HASH" - value="master" /> - - - <target - name="collectTestResults" - depends="init" - description="Collect Test Results from Hudson to build machine location."> - - - <fail unless="buildNumber" /> - - <retry - retrycount="3" - retrydelay="1000"> - <get - ignoreerrors="true" - verbose="true" - src="${hudsonResultURL}" - dest="${tmpzipdir}/archive.zip" /> - </retry> - - <!-- not sure if mkdir needed? --> - <mkdir dir="${resultsDir}/directorLogs" /> - - <unzip - overwrite="true" - src="${tmpzipdir}/archive.zip" - dest="${resultsDir}/"> - <globmapper - from="archive/workarea/${buildId}/eclipse-testing/results/*" - to="*" /> - </unzip> - - <echo message="hudsonTestResultsURL ${hudsonTestResultsURL} " /> - <retry - retrycount="3" - retrydelay="1000"> - <get - src="${hudsonTestResultsURL}" - dest="${resultsDir}/${job}-${buildNumber}.xml" /> - </retry> - - <delete failonerror="false"> - <fileset dir="${resultsDir}"> - <include name="${tmpzipdir}" /> - <include name="archive/**" /> - </fileset> - </delete> - - </target> - - <target - name="init" - unless="collectTestResultsInitialized"> - - <property - name="env.HUDSON_ROOT_URI" - value="releng" /> - - <!-- we set these "env" variables here not to effect the - environment, but that because we need some value for them, - so if not actually set in the environment, we create these - with some reasonable default. (Though, if not set in the environment, - could be a sign that somethign is not as expected?) - --> - <condition - property="hudsonHost" - value="${env.HUDSON_PERF_HOST}"> - <and> - <isset property="HUDSON_PERF_HOST" /> - <contains - string="${job}" - substring="-perf-lin" - casesensitive="yes" /> - </and> - </condition> - <!-- if that didn't set hudsonHost, check env variable before using fallback default --> - <condition - property="hudsonHost" - value="${env.HUDSON_HOST}" - else="ci.eclipse.org"> - <isset property="env.HUDSON_HOST" /> - </condition> - - - <property - name="env.HUDSON_PROTOCOL" - value="https" /> - <property - name="env.HUDSON_PORT" - value="443" /> - - <!-- if not set externally, set to eclipse default (for -perf-lin jobs) --> - <property - name="env.LINUX_PERF_SEGMENT" - value="releng" /> - - <condition - property="hudsonPathSegment" - value="${env.LINUX_PERF_SEGMENT}" - else="${env.HUDSON_ROOT_URI}"> - <and> - <isset property="env.LINUX_PERF_SEGMENT" /> - <contains - string="${job}" - substring="-perf-lin" - casesensitive="yes" /> - </and> - </condition> - - <script language="javascript"><![CDATA[ - var buildId = project.getProperty("buildId"); - var patternbuildType = new RegExp(/^([IMXYNSRU])(\d{8})-(\d{4})$/); - - var sArraybuildType = patternbuildType.exec(buildId); - // sArray 0 is "whole match" - var buildType = sArraybuildType[1]; - project.setProperty("buildType", buildType); - - var eclipseStream = project.getProperty("eclipseStream"); - var patternStream = new RegExp(/(\d+)\.(\d+)\.(\d+)/); - - var sArrayStream = patternStream.exec(eclipseStream); - // sArray[0] is "whole match" - var eclipseStreamMajor = sArrayStream[1]; - var eclipseStreamMinor = sArrayStream[2]; - var eclipseStreamService = sArrayStream[3]; - project.setProperty("eclipseStreamMajor", eclipseStreamMajor); - project.setProperty("eclipseStreamMinor", eclipseStreamMinor); - project.setProperty("eclipseStreamService", eclipseStreamService); - - var buildhome = "/home/data/httpd/download.eclipse.org"; - - var postingDirectory = buildhome + "/eclipse/downloads/drops4" - project.setProperty("postingDirectory", postingDirectory); - ]]> - </script> - - - <echo message="postingDirectory: ${postingDirectory}" /> - - <!-- - Two possible results directories. - All of these asssume following naming conventions in Hudson jobs. TODO: in future could/should have properties - that describe the tests anyway, so might want to use that, to deside results directories.Currently: - contains -perf- : performance - else: testresults - We need to avoid "-baseline" distinction. If anything, - make one base on "LR" (long running). - --> - <condition - property="resultsDir" - value="${postingDirectory}/${buildId}/performance" - else="${postingDirectory}/${buildId}/testresults"> - <contains - string="${job}" - substring="-perf-" - casesensitive="yes" /> - </condition> - - <!-- attempt to create incase hasn't been created yet --> - <mkdir dir="${resultsDir}" /> - - <property - name="hudsonResultRootJobURL" - value="${env.HUDSON_PROTOCOL}://${hudsonHost}:${env.HUDSON_PORT}/${hudsonPathSegment}/job/${job}/${buildNumber}" /> - - - <property - name="hudsonResultRootURL" - value="${hudsonResultRootJobURL}/artifact/*zip*" /> - <property - name="hudsonResultURL" - value="${hudsonResultRootURL}/archive.zip" /> - <echo message="hudsonResultURL ${hudsonResultURL} " /> - - <property - name="hudsonTestResultsURL" - value="${hudsonResultRootJobURL}/testReport/api/xml?tree=failCount,passCount,skipCount,duration" /> - <echo message="hudsonTestResultsURL ${hudsonTestResultsURL} " /> - - <property - name="tmpzipdir" - value="${resultsDir}/tmp${job}" /> - - - - <mkdir dir="${tmpzipdir}" /> - - <property - name="collectTestResultsInitialized" - value="true" /> - - </target> - -</project>
\ No newline at end of file diff --git a/cje-production/scripts/common-functions.shsource b/cje-production/scripts/common-functions.shsource deleted file mode 100755 index bb6d6a5ce..000000000 --- a/cje-production/scripts/common-functions.shsource +++ /dev/null @@ -1,108 +0,0 @@ -#!/bin/bash -#******************************************************************************* -# Copyright (c) 2019 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: -# Sravan Kumar Lakkimsetti - initial API and implementation -#******************************************************************************* - -# USAGE: fn-write-property VAR_NAME -# VAR_NAME: Variable name to write as "variable=value" form -# This script assumes the following variables have been defined and are pointing -# to an appropriate file (see master-build.sh): -# BUILD_ENV_FILE=${buildDirectory}/buildproperties.shsource -# BUILD_ENV_FILE_PHP=${buildDirectory}/buildproperties.php -# BUILD_ENV_FILE_PROP=${buildDirectory}/buildproperties.properties - -# Note we always append to file, assuming if doesn't exist yet and will be -# created, and for each build, it won't exist, so will be written fresh for -# each build. - -fn-write-property () -{ - echo "export $1=$2" >> $BUILD_ENV_FILE - echo "\$$1 = $2;" >> $BUILD_ENV_FILE_PHP - echo "$1 = $2" >> $BUILD_ENV_FILE_PROP -} - -# this function executes command passed as command line parameter and -# if that command fails it exit with the same error code as the failed command -fn-run-command () -{ - $* - returnCode=$? - if [ $returnCode != 0 ]; then - echo "Execution of \"$*\" failed with return code : $returnCode" - exit $returnCode - fi -} - -fn-notarize-macbuild () -{ - set -x - BUILD_DIR="$1"; shift - DMG="$1"; shift - - pushd "$BUILD_DIR" || exit 5 - - PRIMARY_BUNDLE_ID="${DMG//-macosx-cocoa-x86_64.dmg/}" - - retryCount=3 - while [ ${retryCount} -gt 0 ]; do - - RAW_RESPONSE=$(curl -sS --write-out "\n%{http_code}" -X POST -F file=@"${DMG}" -F 'options={"primaryBundleId": "'"${PRIMARY_BUNDLE_ID}"'", "staple": true};type=application/json' https://cbi.eclipse.org/macos/xcrun/notarize || : ) - - RESPONSE=$(head -n-1 <<<"${RAW_RESPONSE}") - STATUS_CODE=$(tail -n1 <<<"${RAW_RESPONSE}") - - if [[ "${STATUS_CODE}" != "200" ]]; then - echo "Bad response from the server (status=${STATUS_CODE})" - echo "${RESPONSE}" - retryCount=$((retryCount - 1)) - if [ $retryCount -eq 0 ]; then - echo "Notarization failed 3 times. Exiting" - exit 1 - else - echo "Retrying..." - sleep 2 - fi - fi - - UUID=$(echo "$RESPONSE" | grep -Po '"uuid"\s*:\s*"\K[^"]+' || : ) - STATUS=$(echo "$RESPONSE" | grep -Po '"status"\s*:\s*"\K[^"]+' || : ) - - while [[ ${STATUS} == 'IN_PROGRESS' ]]; do - sleep 1m - RESPONSE=$(curl -sS "https://cbi.eclipse.org/macos/xcrun/${UUID}/status") - STATUS=$(echo "$RESPONSE" | grep -Po '"status"\s*:\s*"\K[^"]+' || : ) - done - - if [[ ${STATUS} != 'COMPLETE' ]]; then - echo "Notarization failed: ${RESPONSE}" - retryCount=$((retryCount - 1)) - if [ $retryCount -eq 0 ]; then - echo "Notarization failed 3 times. Exiting" - exit 1 - else - echo "Retrying..." - sleep 2 - fi - else - break - fi - - done - - rm "${DMG}" - - curl -sSJO "https://cbi.eclipse.org/macos/xcrun/${UUID}/download" - popd || exit 5 - set +x -} diff --git a/cje-production/scripts/genTestIndexes.xml b/cje-production/scripts/genTestIndexes.xml deleted file mode 100644 index a3308367f..000000000 --- a/cje-production/scripts/genTestIndexes.xml +++ /dev/null @@ -1,142 +0,0 @@ -<project - name="Helper targets" - default="generateEclipseIndex" - basedir="."> - - <target - name="init" - depends="initStreamVariables" - unless="genTestIndexesInitialized"> - <fail unless="buildId" /> - <fail unless="eclipseStream" /> - <fail unless="job" /> - - <property - name="isBuildTested" - value="true" /> - - <script language="javascript"> - <![CDATA[ - var buildId = project.getProperty("buildId"); - var pattern = new RegExp(/^([IMXYPNSRU])(\d{8})-(\d{4})$/); - - var sArray = pattern.exec(buildId); - // sArray 0 is "whole match" - project.setProperty("buildType", sArray[1]); - ]]> - </script> - <property - name="dropsDirSegment" - value="drops4"/> - <!-- publish.xml expects buildLabel in places, instead of buildId, - though we use them interchangebly --> - <property - name="buildLabel" - value="${buildId}" /> - - <property - name="buildRoot" - value="/home/data/httpd/download.eclipse.org/eclipse/downloads" /> - - <property - name="postingDirectory" - value="${buildRoot}/${dropsDirSegment}" /> - - <property - name="publishingContent" - value="${workspace}/publishingFiles" /> - - <echo message="= = Properties in genTestIndexes.xml, init = = " /> - <echo message=" job: ${job}" /> - <echo message=" postingDirectory: ${postingDirectory}" /> - <echo message=" isBuildTested: ${isBuildTested}" /> - - <!-- This is our new, "safe for every test" location --> - <property - name="base.builder" - value="${basebuilder}" /> - - <property - name="buildDirectory" - value="${postingDirectory}/${buildId}" /> - - <property - name="genTestIndexesInitialized" - value="true" /> - - </target> - - <target - name="generateEclipseIndex" - depends="init"> - - <property - name="generatorClass" - value="org.eclipse.releng.generators.TestResultsGenerator" /> - - <echo message=" DEBUG: generatorClass: ${generatorClass}" /> - <available - classname="${generatorClass}" - property="class" - value="${generatorClass}" /> - - <!-- These variables used to be defined here, but now are defined in - publish.xml generateIndex target based on $job - indexFileName - dropTemplateFileName - testManifestFileName - --> - - <antcall target="publishEclipseIndex" /> - - </target> - - <target - name="publishEclipseIndex" - depends="init"> - - - <fail - unless="buildType" - message="buildType should have been defined by now" /> - - <!--regenerate the index page with links to test results --> - <ant - antfile="${workspace}/publish.xml" - dir="${publishingContent}" - target="generateIndex"> - - </ant> - - </target> - - <target name="initStreamVariables"> - - <fail - unless="eclipseStream" - message="eclipseStream must be provided by caller" /> - <condition property="streamOK"> - <matches - pattern="\d+\.\d+\.\d+" - string="${eclipseStream}" /> - </condition> - <fail - message="eclipseStream variable had unexpected format. Should be digit.digit.digit, but was ${eclipseStream}" - unless="streamOK" /> - <script language="javascript"> - <![CDATA[ - var eclipseStream = project.getProperty("eclipseStream"); - var pattern = new - RegExp(/(\d+)\.(\d+)\.(\d+)/); - - var sArray = pattern.exec(eclipseStream); - // sArray[0] is "whole match" - project.setProperty("eclipseStreamMajor", sArray[1]); - project.setProperty("eclipseStreamMinor", sArray[2]); - project.setProperty("eclipseStreamService", sArray[3]); - ]]> - </script> - - </target> - -</project> diff --git a/cje-production/scripts/notarizeMacApp.sh b/cje-production/scripts/notarizeMacApp.sh deleted file mode 100644 index 7e09137ef..000000000 --- a/cje-production/scripts/notarizeMacApp.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash -#******************************************************************************* -# Copyright (c) 2021 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: -# Sravan Kumar Lakkimsetti - initial API and implementation -#******************************************************************************* - -set -x -BUILD_DIR="$1"; shift -DMG="$1"; shift - -pushd "$BUILD_DIR" || exit 5 - -PRIMARY_BUNDLE_ID="${DMG//-macosx-cocoa-x86_64.dmg/}" - -retryCount=3 -while [ ${retryCount} -gt 0 ]; do - - RAW_RESPONSE=$(curl -sS --write-out "\n%{http_code}" -X POST -F file=@"${DMG}" -F 'options={"primaryBundleId": "'"${PRIMARY_BUNDLE_ID}"'", "staple": true};type=application/json' https://cbi.eclipse.org/macos/xcrun/notarize || : ) - - RESPONSE=$(head -n-1 <<<"${RAW_RESPONSE}") - STATUS_CODE=$(tail -n1 <<<"${RAW_RESPONSE}") - - if [[ "${STATUS_CODE}" != "200" ]]; then - echo "Bad response from the server (status=${STATUS_CODE})" - echo "${RESPONSE}" - retryCount=$((retryCount - 1)) - if [ $retryCount -eq 0 ]; then - echo "Notarization failed 3 times. Exiting" - exit 1 - else - echo "Retrying..." - sleep 2 - fi - fi - - UUID=$(echo "$RESPONSE" | grep -Po '"uuid"\s*:\s*"\K[^"]+' || : ) - STATUS=$(echo "$RESPONSE" | grep -Po '"status"\s*:\s*"\K[^"]+' || : ) - - while [[ ${STATUS} == 'IN_PROGRESS' ]]; do - sleep 1m - RESPONSE=$(curl -sS "https://cbi.eclipse.org/macos/xcrun/${UUID}/status") - STATUS=$(echo "$RESPONSE" | grep -Po '"status"\s*:\s*"\K[^"]+' || : ) - done - - if [[ ${STATUS} != 'COMPLETE' ]]; then - echo "Notarization failed: ${RESPONSE}" - retryCount=$((retryCount - 1)) - if [ $retryCount -eq 0 ]; then - echo "Notarization failed 3 times. Exiting" - exit 1 - else - echo "Retrying..." - sleep 2 - fi - else - break - fi - -done - -rm "${DMG}" - -curl -sSJO "https://cbi.eclipse.org/macos/xcrun/${UUID}/download" -popd || exit 5 -set +x diff --git a/cje-production/scripts/removeFromComposite.xml b/cje-production/scripts/removeFromComposite.xml deleted file mode 100644 index 3a15a27f9..000000000 --- a/cje-production/scripts/removeFromComposite.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<project - default="removeFromComposite" - basedir="."> - <target name="removeFromComposite"> - <fail unless="repodir" message="repodir must be passed in to this script" /> - <fail unless="complocation" message="complocation must be passed in to this script" /> - <echo message="Removing child (complocation) to composite (repodir)" /> - <echo message=" repodir: ${repodir}" /> - <echo message=" complocation: ${complocation}" /> - <p2.composite.repository> - <repository - location="file://${repodir}" - name="The Eclipse Project repository" /> - <remove> - <repository location="${complocation}" /> - </remove> - </p2.composite.repository> - </target> -</project> - diff --git a/cje-production/scripts/updateGenericComposites.xml b/cje-production/scripts/updateGenericComposites.xml deleted file mode 100644 index 2e681e84b..000000000 --- a/cje-production/scripts/updateGenericComposites.xml +++ /dev/null @@ -1,107 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Copyright (c) 2020 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: - David Williams - initial API and implementation ---> - -<project - default="updateGenericComposites" - basedir="."> - - <!-- - updateGenericComposites is a utilty to use once a year or so, - when ever a new release is started. - It must be ran from "antRunner appliction" - - --> - <target name="updateGenericComposites"> - - <fail - unless="currentStream" - message="currentStream (such as '4.19') must be defined for this script" /> - <fail - unless="previousStream" - message="maintenanceStream (such as '4.18') must be defined for this script" /> - - <!-- Note: we do not put stream number in 'name', since once a 'name' is defined - in Eclipse's UI, it does not change. --> - <updatecomposite - repotocreate="${workspace}/I-builds" - repotopointto="https://download.eclipse.org/eclipse/updates/${currentStream}-I-builds/" - reponame="Eclipse Project current integration builds repository" /> - <updatecomposite - repotocreate="${workspace}/Y-builds" - repotopointto="https://download.eclipse.org/eclipse/updates/${currentStream}-Y-builds/" - reponame="Eclipse Project current Beta Java builds repository" /> - <updatecomposite - repotocreate="${workspace}/P-builds" - repotopointto="https://download.eclipse.org/eclipse/updates/${currentStream}-P-builds/" - reponame="Eclipse Project current Beta Java patch builds repository" /> - <updatecomposite - repotocreate="${workspace}/latest" - repotopointto="https://download.eclipse.org/eclipse/updates/${previousStream}/" - reponame="Eclipse Project latest release repository" /> - - </target> - - <!-- - macro to create a "generic" composite site, that simply points to - annohter repository. - - repoToCreate must be an absolute file path directory, - that is writeable. - - repoToPointTo can be any repo, but must be in "full form", such as - https://download.eclipse.org/eclipse/updates/${currentStream}milestones/ - - --> - <macrodef name="updatecomposite"> - <attribute name="repoToCreate" /> - <attribute name="repoToPointTo" /> - <attribute name="reponame" /> - <sequential> - <!-- delete it, if already exists --> - <delete - dir="@{repoToCreate}" - failonerror="false" /> - <!-- create it --> - <mkdir dir="@{repoToCreate}" /> - <!-- now add the one child --> - <echo message="(re)creating repostory: @{repoToCreate}" /> - <echo message="adding child repository: @{repoToPointTo}" /> - <p2.composite.repository> - <repository location="file://@{repoToCreate}" name="@{reponame}"/> - <add location="@{repoToPointTo}" /> - </p2.composite.repository> - - <local name="p2IndexFilename" /> - <property - name="p2IndexFilename" - value="@{repoToCreate}/p2.index" /> - <echo message="creating p2.index file" /> - <echo - file="${p2IndexFilename}" - message="version=1${line.separator}" /> - <echo - file="${p2IndexFilename}" - append="true" - message="metadata.repository.factory.order=compositeContent.xml,!${line.separator}" /> - <echo - file="${p2IndexFilename}" - append="true" - message="artifact.repository.factory.order=compositeArtifacts.xml,!${line.separator}" /> - - </sequential> - </macrodef> - -</project> - |