From 621a98627bf2dac3434242847ef2d1ecc3b020ec Mon Sep 17 00:00:00 2001 From: Laurent Wouters Date: Wed, 16 Apr 2014 13:05:09 +0200 Subject: [releng] Moved the build configuration to Tycho Change-Id: I6a47c3c1c3fe08b56815ab1149075984ede4e562 Signed-off-by: Laurent Wouters --- releng/TargetPlatform/.project | 11 - releng/TargetPlatform/Indigo_developers.target | 47 --- releng/TargetPlatform/Indigo_runtime.target | 42 -- releng/dev/category.xml | 12 + releng/dev/pom.xml | 29 ++ releng/extras/category.xml | 12 + releng/extras/pom.xml | 29 ++ releng/main/category.xml | 12 + releng/main/pom.xml | 29 ++ .../serverConfig/README.txt | 1 - .../serverConfig/addDownloadStats-extra.xsl | 55 --- .../serverConfig/addDownloadStats-main.xsl | 59 --- .../serverConfig/addDownloadStats.sh | 37 -- .../serverConfig/addToComposite.sh | 46 --- .../serverConfig/addToComposite.xsl | 41 -- .../serverConfig/backupHudsonJobs.sh | 23 -- .../serverConfig/cronPromote.sh | 449 --------------------- .../serverConfig/cronPromoteMonitor.sh | 36 -- ...papyrus-0.8-maintenance-extra-nightly-tests.xml | 33 -- .../papyrus-0.8-maintenance-extra-nightly.xml | 316 --------------- .../papyrus-0.8-maintenance-nightly-tests.xml | 33 -- .../hudsonJobs/papyrus-0.8-maintenance-nightly.xml | 382 ------------------ .../papyrus-trunk-extra-nightly-tests.xml | 40 -- .../hudsonJobs/papyrus-trunk-extra-nightly.xml | 291 ------------- .../hudsonJobs/papyrus-trunk-nightly-3.8-tests.xml | 180 --------- .../hudsonJobs/papyrus-trunk-nightly-tests.xml | 212 ---------- .../hudsonJobs/papyrus-trunk-nightly.xml | 237 ----------- .../serverConfig/manualPromote.sh | 183 --------- .../serverConfig/manualPromote_0.10.X.sh | 183 --------- .../serverConfig/manualPromote_0.9.X.sh | 183 --------- .../serverConfig/promoteFunctions.sh | 175 -------- .../serverConfig/updateServerSideScripts.sh | 36 -- .../rcp/org.eclipse.papyrus.rcp.feature/.project | 17 - .../.settings/org.eclipse.m2e.core.prefs | 4 - .../build.properties | 6 +- .../feature.properties | 0 .../org.eclipse.papyrus.rcp.feature/feature.xml | 16 +- .../org.eclipse.papyrus.rcp.feature/license.html | 0 releng/rcp/org.eclipse.papyrus.rcp.feature/pom.xml | 10 +- releng/rcp/org.eclipse.papyrus.rcp.master/.project | 11 - .../org.eclipse.ltk.core.refactoring.prefs | 2 - .../.settings/org.eclipse.m2e.core.prefs | 4 - .../.settings/org.eclipse.ocl.modelregistry | 2 - releng/rcp/org.eclipse.papyrus.rcp.master/pom.xml | 125 ------ .../rcp/org.eclipse.papyrus.rcp.product/.project | 11 - .../.settings/org.eclipse.m2e.core.prefs | 4 - releng/rcp/org.eclipse.papyrus.rcp.product/pom.xml | 16 +- releng/rcp/org.eclipse.papyrus.rcp/.project | 28 -- .../.settings/org.eclipse.jdt.core.prefs | 7 - .../.settings/org.eclipse.m2e.core.prefs | 4 - releng/rcp/org.eclipse.papyrus.rcp/pom.xml | 24 +- releng/toolkit/cleaner.py | 120 ++++++ releng/toolkit/console.py | 51 +++ releng/toolkit/eclipse.py | 134 ++++++ releng/toolkit/server/README.txt | 1 + releng/toolkit/server/addDownloadStats-extra.xsl | 55 +++ releng/toolkit/server/addDownloadStats-main.xsl | 59 +++ releng/toolkit/server/addDownloadStats.sh | 37 ++ releng/toolkit/server/addToComposite.sh | 46 +++ releng/toolkit/server/addToComposite.xsl | 41 ++ releng/toolkit/server/backupHudsonJobs.sh | 23 ++ releng/toolkit/server/cronPromote.sh | 449 +++++++++++++++++++++ releng/toolkit/server/cronPromoteMonitor.sh | 36 ++ ...papyrus-0.8-maintenance-extra-nightly-tests.xml | 33 ++ .../papyrus-0.8-maintenance-extra-nightly.xml | 316 +++++++++++++++ .../papyrus-0.8-maintenance-nightly-tests.xml | 33 ++ .../hudsonJobs/papyrus-0.8-maintenance-nightly.xml | 382 ++++++++++++++++++ .../papyrus-trunk-extra-nightly-tests.xml | 40 ++ .../hudsonJobs/papyrus-trunk-extra-nightly.xml | 291 +++++++++++++ .../hudsonJobs/papyrus-trunk-nightly-3.8-tests.xml | 180 +++++++++ .../hudsonJobs/papyrus-trunk-nightly-tests.xml | 212 ++++++++++ .../server/hudsonJobs/papyrus-trunk-nightly.xml | 237 +++++++++++ releng/toolkit/server/manualPromote.sh | 183 +++++++++ releng/toolkit/server/manualPromote_0.10.X.sh | 183 +++++++++ releng/toolkit/server/manualPromote_0.9.X.sh | 183 +++++++++ releng/toolkit/server/promoteFunctions.sh | 175 ++++++++ releng/toolkit/server/updateServerSideScripts.sh | 36 ++ releng/toolkit/tycho-generator.py | 234 +++++++++++ releng/toolkit/tycho-updater.py | 140 +++++++ releng/toolkit/xmlutils.py | 32 ++ releng/top-pom-dev.xml | 126 ++++++ releng/top-pom-extras.xml | 251 ++++++++++++ releng/top-pom-main.xml | 241 +++++++++++ releng/top-pom-rcp.xml | 146 +++++++ 84 files changed, 4867 insertions(+), 3584 deletions(-) delete mode 100644 releng/TargetPlatform/.project delete mode 100644 releng/TargetPlatform/Indigo_developers.target delete mode 100644 releng/TargetPlatform/Indigo_runtime.target create mode 100755 releng/dev/category.xml create mode 100755 releng/dev/pom.xml create mode 100755 releng/extras/category.xml create mode 100755 releng/extras/pom.xml create mode 100755 releng/main/category.xml create mode 100755 releng/main/pom.xml delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/README.txt delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addDownloadStats-extra.xsl delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addDownloadStats-main.xsl delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addDownloadStats.sh delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addToComposite.sh delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addToComposite.xsl delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/backupHudsonJobs.sh delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/cronPromote.sh delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/cronPromoteMonitor.sh delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-extra-nightly-tests.xml delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-extra-nightly.xml delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-nightly-tests.xml delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-nightly.xml delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-extra-nightly-tests.xml delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-extra-nightly.xml delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-nightly-3.8-tests.xml delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-nightly-tests.xml delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-nightly.xml delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/manualPromote.sh delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/manualPromote_0.10.X.sh delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/manualPromote_0.9.X.sh delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/promoteFunctions.sh delete mode 100644 releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/updateServerSideScripts.sh delete mode 100644 releng/rcp/org.eclipse.papyrus.rcp.feature/.project delete mode 100644 releng/rcp/org.eclipse.papyrus.rcp.feature/.settings/org.eclipse.m2e.core.prefs mode change 100644 => 100755 releng/rcp/org.eclipse.papyrus.rcp.feature/build.properties mode change 100644 => 100755 releng/rcp/org.eclipse.papyrus.rcp.feature/feature.properties mode change 100644 => 100755 releng/rcp/org.eclipse.papyrus.rcp.feature/feature.xml mode change 100644 => 100755 releng/rcp/org.eclipse.papyrus.rcp.feature/license.html mode change 100644 => 100755 releng/rcp/org.eclipse.papyrus.rcp.feature/pom.xml delete mode 100644 releng/rcp/org.eclipse.papyrus.rcp.master/.project delete mode 100644 releng/rcp/org.eclipse.papyrus.rcp.master/.settings/org.eclipse.ltk.core.refactoring.prefs delete mode 100644 releng/rcp/org.eclipse.papyrus.rcp.master/.settings/org.eclipse.m2e.core.prefs delete mode 100644 releng/rcp/org.eclipse.papyrus.rcp.master/.settings/org.eclipse.ocl.modelregistry delete mode 100644 releng/rcp/org.eclipse.papyrus.rcp.master/pom.xml delete mode 100644 releng/rcp/org.eclipse.papyrus.rcp.product/.project delete mode 100644 releng/rcp/org.eclipse.papyrus.rcp.product/.settings/org.eclipse.m2e.core.prefs delete mode 100644 releng/rcp/org.eclipse.papyrus.rcp/.project delete mode 100644 releng/rcp/org.eclipse.papyrus.rcp/.settings/org.eclipse.jdt.core.prefs delete mode 100644 releng/rcp/org.eclipse.papyrus.rcp/.settings/org.eclipse.m2e.core.prefs mode change 100644 => 100755 releng/rcp/org.eclipse.papyrus.rcp/pom.xml create mode 100755 releng/toolkit/cleaner.py create mode 100755 releng/toolkit/console.py create mode 100755 releng/toolkit/eclipse.py create mode 100644 releng/toolkit/server/README.txt create mode 100644 releng/toolkit/server/addDownloadStats-extra.xsl create mode 100644 releng/toolkit/server/addDownloadStats-main.xsl create mode 100644 releng/toolkit/server/addDownloadStats.sh create mode 100644 releng/toolkit/server/addToComposite.sh create mode 100644 releng/toolkit/server/addToComposite.xsl create mode 100644 releng/toolkit/server/backupHudsonJobs.sh create mode 100644 releng/toolkit/server/cronPromote.sh create mode 100644 releng/toolkit/server/cronPromoteMonitor.sh create mode 100644 releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-extra-nightly-tests.xml create mode 100644 releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-extra-nightly.xml create mode 100644 releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-nightly-tests.xml create mode 100644 releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-nightly.xml create mode 100644 releng/toolkit/server/hudsonJobs/papyrus-trunk-extra-nightly-tests.xml create mode 100644 releng/toolkit/server/hudsonJobs/papyrus-trunk-extra-nightly.xml create mode 100644 releng/toolkit/server/hudsonJobs/papyrus-trunk-nightly-3.8-tests.xml create mode 100644 releng/toolkit/server/hudsonJobs/papyrus-trunk-nightly-tests.xml create mode 100644 releng/toolkit/server/hudsonJobs/papyrus-trunk-nightly.xml create mode 100644 releng/toolkit/server/manualPromote.sh create mode 100644 releng/toolkit/server/manualPromote_0.10.X.sh create mode 100644 releng/toolkit/server/manualPromote_0.9.X.sh create mode 100644 releng/toolkit/server/promoteFunctions.sh create mode 100644 releng/toolkit/server/updateServerSideScripts.sh create mode 100755 releng/toolkit/tycho-generator.py create mode 100755 releng/toolkit/tycho-updater.py create mode 100755 releng/toolkit/xmlutils.py create mode 100755 releng/top-pom-dev.xml create mode 100755 releng/top-pom-extras.xml create mode 100755 releng/top-pom-main.xml create mode 100755 releng/top-pom-rcp.xml diff --git a/releng/TargetPlatform/.project b/releng/TargetPlatform/.project deleted file mode 100644 index 17ad58d066f..00000000000 --- a/releng/TargetPlatform/.project +++ /dev/null @@ -1,11 +0,0 @@ - - - TargetPlatform - - - - - - - - diff --git a/releng/TargetPlatform/Indigo_developers.target b/releng/TargetPlatform/Indigo_developers.target deleted file mode 100644 index c61f5bec3bd..00000000000 --- a/releng/TargetPlatform/Indigo_developers.target +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/releng/TargetPlatform/Indigo_runtime.target b/releng/TargetPlatform/Indigo_runtime.target deleted file mode 100644 index fac4a335310..00000000000 --- a/releng/TargetPlatform/Indigo_runtime.target +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/releng/dev/category.xml b/releng/dev/category.xml new file mode 100755 index 00000000000..1d43c452d33 --- /dev/null +++ b/releng/dev/category.xml @@ -0,0 +1,12 @@ + + + + + + + + + + Papyrus Category + + \ No newline at end of file diff --git a/releng/dev/pom.xml b/releng/dev/pom.xml new file mode 100755 index 00000000000..246dadfe828 --- /dev/null +++ b/releng/dev/pom.xml @@ -0,0 +1,29 @@ + + + 4.0.0 + + + org.eclipse.papyrus + org.eclipse.papyrus + 1.0.0-SNAPSHOT + ../top-pom-dev.xml + + + org.eclipse.papyrus.p2.dev + org.eclipse.papyrus + 1.0.0-SNAPSHOT + eclipse-repository + + + + + org.eclipse.tycho + target-platform-configuration + ${tycho-version} + + true + + + + + \ No newline at end of file diff --git a/releng/extras/category.xml b/releng/extras/category.xml new file mode 100755 index 00000000000..75fdbcbcbf5 --- /dev/null +++ b/releng/extras/category.xml @@ -0,0 +1,12 @@ + + + + + + + + + + Papyrus Category + + \ No newline at end of file diff --git a/releng/extras/pom.xml b/releng/extras/pom.xml new file mode 100755 index 00000000000..b0bf8304c88 --- /dev/null +++ b/releng/extras/pom.xml @@ -0,0 +1,29 @@ + + + 4.0.0 + + + org.eclipse.papyrus + org.eclipse.papyrus + 1.0.0-SNAPSHOT + ../top-pom-extras.xml + + + org.eclipse.papyrus.p2.extras + org.eclipse.papyrus + 1.0.0-SNAPSHOT + eclipse-repository + + + + + org.eclipse.tycho + target-platform-configuration + ${tycho-version} + + true + + + + + \ No newline at end of file diff --git a/releng/main/category.xml b/releng/main/category.xml new file mode 100755 index 00000000000..96a2939de83 --- /dev/null +++ b/releng/main/category.xml @@ -0,0 +1,12 @@ + + + + + + + + + + Papyrus Category + + \ No newline at end of file diff --git a/releng/main/pom.xml b/releng/main/pom.xml new file mode 100755 index 00000000000..6bbf0ab3404 --- /dev/null +++ b/releng/main/pom.xml @@ -0,0 +1,29 @@ + + + 4.0.0 + + + org.eclipse.papyrus + org.eclipse.papyrus + 1.0.0-SNAPSHOT + ../top-pom-main.xml + + + org.eclipse.papyrus.p2.main + org.eclipse.papyrus + 1.0.0-SNAPSHOT + eclipse-repository + + + + + org.eclipse.tycho + target-platform-configuration + ${tycho-version} + + true + + + + + \ No newline at end of file diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/README.txt b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/README.txt deleted file mode 100644 index 71b81544307..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/README.txt +++ /dev/null @@ -1 +0,0 @@ -All these files should be copied into /shared/modeling/mdt/papyrus \ No newline at end of file diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addDownloadStats-extra.xsl b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addDownloadStats-extra.xsl deleted file mode 100644 index 55ab3d4a3c1..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addDownloadStats-extra.xsl +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - version='1.1.0' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addDownloadStats-main.xsl b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addDownloadStats-main.xsl deleted file mode 100644 index eda7ed538d7..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addDownloadStats-main.xsl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - version='1.1.0' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addDownloadStats.sh b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addDownloadStats.sh deleted file mode 100644 index 33d635783be..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addDownloadStats.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -#-------------------------------------------------------------------------------- -# Copyright (c) 2012 CEA LIST. -# -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Nicolas Bros (Mia-Software) -#-------------------------------------------------------------------------------- - -if [ $# -ne 2 ]; then -echo "usage: $0 " -exit -fi - -XSLT_FILE=/opt/public/modeling/mdt/papyrus/addDownloadStats-${2}.xsl - -if [ ! -d $1 ] ; then echo "not a directory"; exit 1; fi -if [ ! -f $1/artifacts.jar ] ; then echo "artifacts.jar not found"; exit 1; fi - -echo "Adding download stats to repository" - -cd $1 -unzip artifacts.jar -mv artifacts.xml artifacts.xml.original -if grep p2.statsURI artifacts.xml.original ; then echo "p2.statsURI already defined: exiting"; exit 1; fi - -xsltproc -o artifacts.xml $XSLT_FILE artifacts.xml.original -zip artifacts.jar artifacts.xml -rm artifacts.xml - -echo "done." diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addToComposite.sh b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addToComposite.sh deleted file mode 100644 index 20d014023ee..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addToComposite.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash -x - -#-------------------------------------------------------------------------------- -# Copyright (c) 2012 CEA LIST. -# -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Nicolas Bros (Mia-Software) -#-------------------------------------------------------------------------------- - -set -o errexit -set -o nounset - -XSLT_FILE=/opt/public/modeling/mdt/papyrus/addToComposite.xsl - -[ $# -eq 2 ] || (echo "usage: $0 "; exit 1) -_compositeUpdateSite=$1 -_newChildName=$2 - -newTimeStamp=$(date +%s000) - -[[ "$_compositeUpdateSite" =~ ^/home/data/httpd/download\.eclipse\.org/.*$ ]] || (echo "incorrect parameter: compositeUpdateSite"; exit 1) -[[ "$_newChildName" =~ ^M[1-7]|RC[1-9]|SR[1-9]_RC[1-9]|[0-9]+\.[0-9]\.[0-9]$ ]] || (echo "incorrect parameter: newChildName"; exit 1) - -[ -d "$_compositeUpdateSite" ] || (echo "compositeUpdateSite is not a directory"; exit 1) -[ -f "$_compositeUpdateSite/compositeArtifacts.xml" ] || (echo "compositeArtifacts.xml not found"; exit 1) -[ -f "$_compositeUpdateSite/compositeContent.xml" ] || (echo "compositeContent.xml not found"; exit 1) - -echo "Adding the new child '${_newChildName}' to the composite update site ${_compositeUpdateSite}" - - -cd "${_compositeUpdateSite}" -mv compositeArtifacts.xml compositeArtifacts.xml.bak -mv compositeContent.xml compositeContent.xml.bak - -echo "Updating compositeContent.xml" -xsltproc --stringparam newChild "${_newChildName}" --stringparam newTimestamp ${newTimeStamp} -o compositeContent.xml ${XSLT_FILE} compositeContent.xml.bak -echo "Updating compositeArtifacts.xml" -xsltproc --stringparam newChild "${_newChildName}" --stringparam newTimestamp ${newTimeStamp} -o compositeArtifacts.xml ${XSLT_FILE} compositeArtifacts.xml.bak - -echo "done." diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addToComposite.xsl b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addToComposite.xsl deleted file mode 100644 index d96dbdf8b88..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/addToComposite.xsl +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/backupHudsonJobs.sh b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/backupHudsonJobs.sh deleted file mode 100644 index 68b61e6575a..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/backupHudsonJobs.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -#-------------------------------------------------------------------------------- -# Copyright (c) 2012 CEA LIST. -# -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Nicolas Bros (Mia-Software) -#-------------------------------------------------------------------------------- - -loc=$(dirname "$0") -cd "$loc" - -jobs=$(ssh vlorenzo@build.eclipse.org ls -1 /opt/public/jobs | grep papyrus) - -for job in $jobs; do - scp vlorenzo@build.eclipse.org:/opt/public/jobs/${job}/config.xml hudsonJobs/${job}.xml -done diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/cronPromote.sh b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/cronPromote.sh deleted file mode 100644 index 02f14572a37..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/cronPromote.sh +++ /dev/null @@ -1,449 +0,0 @@ -#!/bin/bash -x - -#-------------------------------------------------------------------------------- -# Copyright (c) 2012 CEA LIST. -# -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Nicolas Bros (Mia-Software) -#-------------------------------------------------------------------------------- - -# This script compares the date of a signal file touched by the hudson build -# with the date of a reference file touched at the end of each promote. -# It then promotes the result of the build. The promote is not done from -# Hudson because it does not have the necessary rights. - -# exit on error -set -o errexit -# error when using an unset variable -set -o nounset - -### TRUNK ### - -LAST_PROMOTE_FILE_TRUNK_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-trunk-nightly/lastPromoteRef -PROMOTE_SIGNAL_TRUNK_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-trunk-nightly/promoteSignal -PROMOTE_VERSION_TRUNK_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-trunk-nightly/promoteVersion - -LAST_PROMOTE_FILE_TRUNK_EXTRA_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-trunk-extra-nightly/lastPromoteRef -PROMOTE_SIGNAL_TRUNK_EXTRA_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-trunk-extra-nightly/promoteSignal -PROMOTE_VERSION_TRUNK_EXTRA_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-trunk-extra-nightly/promoteVersion - -LAST_PROMOTE_FILE_TRUNK_NIGHTLY_TESTS=/opt/public/modeling/mdt/papyrus/papyrus-trunk-nightly-tests/lastPromoteRef -PROMOTE_SIGNAL_TRUNK_NIGHTLY_TESTS=/opt/public/modeling/mdt/papyrus/papyrus-trunk-nightly-tests/promoteSignal -PROMOTE_VERSION_TRUNK_NIGHTLY_TESTS=/opt/public/modeling/mdt/papyrus/papyrus-trunk-nightly-tests/promoteVersion - -### MAINTENANCE 0.10 ### - -LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-nightly/lastPromoteRef -PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-nightly/promoteSignal -PROMOTE_VERSION_0_10_MAINTENANCE_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-nightly/promoteVersion - -LAST_PROMOTE_FILE_0_10_MAINTENANCE_EXTRA_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-extra-nightly/lastPromoteRef -PROMOTE_SIGNAL_0_10_MAINTENANCE_EXTRA_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-extra-nightly/promoteSignal -PROMOTE_VERSION_0_10_MAINTENANCE_EXTRA_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-extra-nightly/promoteVersion - -LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY_TESTS=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-nightly-tests/lastPromoteRef -PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY_TESTS=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-nightly-tests/promoteSignal -PROMOTE_VERSION_0_10_MAINTENANCE_NIGHTLY_TESTS=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-nightly-tests/promoteVersion - -### Update Sites ### - -UPDATES_TRUNK_NIGHTLY=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates/nightly/luna/main -UPDATES_TRUNK_EXTRA_NIGHTLY=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates/nightly/luna/extra -UPDATES_0_10_MAINTENANCE_NIGHTLY=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates/nightly/kepler/main -UPDATES_0_10_MAINTENANCE_EXTRA_NIGHTLY=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates/nightly/kepler/extra - -DROPS_DIR=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/downloads/drops - -ARCHIVE_DIR=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/drops -ARCHIVE_INDEX=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/index.html - -# constants required by promoteFunctions.sh -# export ADD_DOWNLOAD_STATS=/opt/public/modeling/mdt/papyrus/addDownloadStats.sh - -# wait for up to 15 minutes for Hudson to finish (archive the result) -JOB_FINISH_WAIT_TIMEOUT=900 - -# include promote functions -source $(dirname $0)/promoteFunctions.sh - -DATE=$(date +%Y%m%d-%H%M) - -echo "[$DATE] starting cronPromote.sh --------------------------------------------------" - -### TRUNK ### - -if [ ! -e $LAST_PROMOTE_FILE_TRUNK_NIGHTLY ]; then touch $LAST_PROMOTE_FILE_TRUNK_NIGHTLY; fi -if [ ! -e $LAST_PROMOTE_FILE_TRUNK_EXTRA_NIGHTLY ]; then touch $LAST_PROMOTE_FILE_TRUNK_EXTRA_NIGHTLY; fi -if [ ! -e $LAST_PROMOTE_FILE_TRUNK_NIGHTLY_TESTS ]; then touch $LAST_PROMOTE_FILE_TRUNK_NIGHTLY_TESTS; fi - -### MAINTENANCE 0.10 ### - -if [ ! -e $LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY ]; then touch $LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY; fi -if [ ! -e $LAST_PROMOTE_FILE_0_10_MAINTENANCE_EXTRA_NIGHTLY ]; then touch $LAST_PROMOTE_FILE_0_10_MAINTENANCE_EXTRA_NIGHTLY; fi -if [ ! -e $LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY_TESTS ]; then touch $LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY_TESTS; fi - -### - -if [ ! -e $PROMOTE_SIGNAL_TRUNK_NIGHTLY ]; then echo "$DATE: ERROR: $PROMOTE_SIGNAL_TRUNK_NIGHTLY not found"; exit 1; fi -if [ ! -e $PROMOTE_SIGNAL_TRUNK_EXTRA_NIGHTLY ]; then echo "$DATE: ERROR: $PROMOTE_SIGNAL_TRUNK_EXTRA_NIGHTLY not found"; exit 1; fi -if [ ! -e $PROMOTE_SIGNAL_TRUNK_NIGHTLY_TESTS ]; then echo "$DATE: ERROR: $PROMOTE_SIGNAL_TRUNK_NIGHTLY_TESTS not found"; exit 1; fi - -if [ ! -e $PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY ]; then echo "$DATE: ERROR: $PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY not found"; exit 1; fi -if [ ! -e $PROMOTE_SIGNAL_0_10_MAINTENANCE_EXTRA_NIGHTLY ]; then echo "$DATE: ERROR: $PROMOTE_SIGNAL_0_10_MAINTENANCE_EXTRA_NIGHTLY not found"; exit 1; fi -if [ ! -e $PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY_TESTS ]; then echo "$DATE: ERROR: $PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY_TESTS not found"; exit 1; fi - -### - -signalDateTrunkNightly=$(stat --format=%Y $PROMOTE_SIGNAL_TRUNK_NIGHTLY) -signalDateTrunkExtraNightly=$(stat --format=%Y $PROMOTE_SIGNAL_TRUNK_EXTRA_NIGHTLY) -signalDateTrunkNightlyTests=$(stat --format=%Y $PROMOTE_SIGNAL_TRUNK_NIGHTLY_TESTS) - -signalDate10MaintenanceNightly=$(stat --format=%Y $PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY) -signalDate10MaintenanceExtraNightly=$(stat --format=%Y $PROMOTE_SIGNAL_0_10_MAINTENANCE_EXTRA_NIGHTLY) -signalDate10MaintenanceNightlyTests=$(stat --format=%Y $PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY_TESTS) - -### - -lastPromoteDateTrunkNightly=$(stat --format=%Y $LAST_PROMOTE_FILE_TRUNK_NIGHTLY) -lastPromoteDateTrunkExtraNightly=$(stat --format=%Y $LAST_PROMOTE_FILE_TRUNK_EXTRA_NIGHTLY) -lastPromoteDateTrunkNightlyTests=$(stat --format=%Y $LAST_PROMOTE_FILE_TRUNK_NIGHTLY_TESTS) - -lastPromoteDate10MaintenanceNightly=$(stat --format=%Y $LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY) -lastPromoteDate10MaintenanceExtraNightly=$(stat --format=%Y $LAST_PROMOTE_FILE_0_10_MAINTENANCE_EXTRA_NIGHTLY) -lastPromoteDate10MaintenanceNightlyTests=$(stat --format=%Y $LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY_TESTS) - -########## trunk main nightly ########## -if [ $signalDateTrunkNightly -gt $lastPromoteDateTrunkNightly ]; then - # mark the promote as done - touch "$LAST_PROMOTE_FILE_TRUNK_NIGHTLY" - - waitUntilJobIsFinished "papyrus-trunk-nightly" "$JOB_FINISH_WAIT_TIMEOUT" - - # the Hudson job wrote these build name and version to publish - buildName=$(cat "$PROMOTE_SIGNAL_TRUNK_NIGHTLY") - version=$(cat "$PROMOTE_VERSION_TRUNK_NIGHTLY") - zipName="Papyrus-Main.zip" - - echo "[$DATE] deleting previous nightly update site" - rm -rf "$UPDATES_TRUNK_NIGHTLY" - - buildsDir="$DROPS_DIR/$version" - echo "[$DATE] pruning old builds" - prune N "$buildsDir" 2 - - nfsURL="/shared/jobs/papyrus-trunk-nightly/lastSuccessful/archive/" - hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-trunk-nightly/lastSuccessfulBuild/artifact/" - export SVN_DIRECTORIES_TO_TAG=( ) - promote "$zipName" "$version" "$nfsURL" "$hudsonURL" "$DROPS_DIR" "$ARCHIVE_DIR" "$ARCHIVE_INDEX" "$UPDATES_TRUNK_NIGHTLY" "Papyrus-Update-incubation-" "NA" - - echo "[$DATE] promote done" - - # trigger the tests and extras builds by using the Hudson Rest API - # see http://wiki.hudson-ci.org/display/HUDSON/Remote+access+API - - echo "[$DATE] triggering Hudson tests build" - json='{"parameter": [ - {"name": "BUCKMINSTER_LOGLEVEL", "value": "DEBUG"}, - {"name": "CLEAN_TP", "value": "true"}, - {"name": "CLEAN_WORKSPACE", "value": "true"}, - {"name": "CLEAN_OUTPUT", "value": "true"}, - {"name": "CLEAN_TOOLS", "value": "false"}, - {"name": "BUILD_TARGET", "value": "test"}, - {"name": "BUILD_TYPE", "value": "N"} - ], "": ""}' - curl -X POST https://hudson.eclipse.org/hudson/job/papyrus-trunk-nightly-tests/build -d token=token --data-urlencode json="$json" | grep --ignore-case error && exit -1 - - echo "[$DATE] triggering Hudson extras build" - json='{"parameter": [ - {"name": "BUCKMINSTER_LOGLEVEL", "value": "DEBUG"}, - {"name": "CLEAN_TP", "value": "true"}, - {"name": "CLEAN_WORKSPACE", "value": "true"}, - {"name": "CLEAN_OUTPUT", "value": "true"}, - {"name": "CLEAN_TOOLS", "value": "false"}, - {"name": "BUILD_TYPE", "value": "N"}, - {"name": "SITE_PACK200", "value": "true"}, - {"name": "BUILD_TARGET", "value": "site.p2"}, - {"name": "JAVA_HOME", "value": "/shared/common/sun-jdk1.6.0_21_x64"}, - {"name": "SIGN_UPDATE_SITE", "value": "false"} - ], "": ""}' - curl -X POST https://hudson.eclipse.org/hudson/job/papyrus-trunk-extra-nightly/build -d token=token --data-urlencode json="$json" | grep --ignore-case error && exit -1 -fi - -########## trunk main nightly tests ########## -if [ $signalDateTrunkNightlyTests -gt $lastPromoteDateTrunkNightlyTests ]; then - # mark the promote as done - touch "$LAST_PROMOTE_FILE_TRUNK_NIGHTLY_TESTS" - - waitUntilJobIsFinished "papyrus-trunk-nightly-tests" "$JOB_FINISH_WAIT_TIMEOUT" - - dirBefore=$(pwd) - echo "[$DATE] creating working dir" - workingDir=$(mktemp -d) - cd "$workingDir" - - # for the tests build, the build name and version are taken from the last main build since the artifacts - # must go to the same folder, and we want to be able to start several extra jobs after one single main job - - buildName=$(cat "$PROMOTE_SIGNAL_TRUNK_NIGHTLY") - version=$(cat "$PROMOTE_VERSION_TRUNK_NIGHTLY") - zipName="Papyrus-TestResults.zip" - nfsURL="/shared/jobs/papyrus-trunk-nightly-tests/lastSuccessful/archive/" - hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-trunk-nightly-tests/lastSuccessfulBuild/artifact/" - - cp "$nfsURL/${zipName}" . || wget --no-check-certificate "$hudsonURL/${zipName}" - if [ ! -f "$zipName" ]; then echo "ERROR: $zipName (from Hudson) not found"; exit -2; fi - echo "[$DATE] Testing zip integrity" - unzip -t "$zipName" - buildsDir="$DROPS_DIR/$version/$buildName" - echo "[$DATE] publishing build (version='$version') to the builds directory '$buildsDir'..." - unzip -o "$zipName" -d "$buildsDir" - echo "[$DATE] setting access rights" - setAccessRights "$buildsDir" - - echo "[$DATE] promote done" - - cd ${dirBefore} - echo "[$DATE] deleting working dir" - rm -rf "$workingDir" - - # TODO: re-enable when the job is implemented - # echo "[$DATE] triggering Hudson tests build" - # curl https://hudson.eclipse.org/hudson/job/papyrus-trunk-extra-nightly-tests/buildWithParameters?token=token -fi - -########## trunk extras nightly ########## -if [ $signalDateTrunkExtraNightly -gt $lastPromoteDateTrunkExtraNightly ]; then - # mark the promote as done - touch "$LAST_PROMOTE_FILE_TRUNK_EXTRA_NIGHTLY" - - waitUntilJobIsFinished "papyrus-trunk-extra-nightly" "$JOB_FINISH_WAIT_TIMEOUT" - - dirBefore=$(pwd) - echo "[$DATE] creating working dir" - workingDir=$(mktemp -d) - cd "$workingDir" - - # for the extra build, the build name and version are taken from the last main build since the artifacts - # must go to the same folder, and we want to be able to start several extra jobs after one single main job - - buildName=$(cat "$PROMOTE_SIGNAL_TRUNK_NIGHTLY") - version=$(cat "$PROMOTE_VERSION_TRUNK_NIGHTLY") - zipName="Papyrus-Extra.zip" - updateZipName="Papyrus-Extra-Update.zip" - nfsURL="/shared/jobs/papyrus-trunk-extra-nightly/lastSuccessful/archive/" - hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-trunk-extra-nightly/lastSuccessfulBuild/artifact/" - - # publish to existing drops folder - cp "$nfsURL/${zipName}" . || wget --no-check-certificate "$hudsonURL/${zipName}" - if [ ! -f "$zipName" ]; then echo "ERROR: $zipName (from Hudson) not found"; exit -2; fi - echo "[$DATE] Testing zip integrity" - unzip -t "$zipName" - buildsDir="$DROPS_DIR/$version/$buildName" - echo "[$DATE] publishing build (version='$version') to the builds directory '$buildsDir'..." - unzip -o "$zipName" -d "$buildsDir" - - # publish to composite update site - tmpDrop=$(mktemp -d) - unzip "$zipName" -d "$tmpDrop" - dirNameInZip=$(ls -1 "$tmpDrop") - [ $(echo "$dirNameInZip" | wc -l) == 1 ] || { echo "one directory expected in zip"; exit 1; } - rm -rf "$UPDATES_TRUNK_EXTRA_NIGHTLY" - unzip -o "$tmpDrop/$dirNameInZip/${updateZipName}" -d "$UPDATES_TRUNK_EXTRA_NIGHTLY" - - echo "[$DATE] setting access rights" - setAccessRights "$buildsDir" - setAccessRights "$UPDATES_TRUNK_EXTRA_NIGHTLY" - - echo "[$DATE] promote done" - - cd ${dirBefore} - echo "[$DATE] deleting working dir" - rm -rf "$workingDir" - rm -rf "$tmpDrop" - - # trigger the extras tests build by using the Hudson Rest API - # see http://wiki.hudson-ci.org/display/HUDSON/Remote+access+API - - echo "[$DATE] triggering Hudson extras tests build" - json='{"parameter": [ - {"name": "BUCKMINSTER_LOGLEVEL", "value": "DEBUG"}, - {"name": "CLEAN_TP", "value": "true"}, - {"name": "CLEAN_WORKSPACE", "value": "true"}, - {"name": "CLEAN_OUTPUT", "value": "true"}, - {"name": "CLEAN_TOOLS", "value": "false"}, - {"name": "BUILD_TYPE", "value": "N"}, - {"name": "BUILD_TARGET", "value": "test"} - ], "": ""}' - curl -X POST https://hudson.eclipse.org/hudson/job/papyrus-trunk-extra-nightly-tests/build -d token=token --data-urlencode json="$json" | grep --ignore-case error && exit -1 -fi - -########## maintenance main 0.10 nightly ########## -if [ $signalDate10MaintenanceNightly -gt $lastPromoteDate10MaintenanceNightly ]; then - # mark the promote as done - touch "$LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY" - - waitUntilJobIsFinished "papyrus-0.10-maintenance-nightly" "$JOB_FINISH_WAIT_TIMEOUT" - - # the Hudson job wrote these build name and version to publish - buildName=$(cat "$PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY") - version=$(cat "$PROMOTE_VERSION_0_10_MAINTENANCE_NIGHTLY") - zipName="Papyrus-Main.zip" - - echo "[$DATE] deleting previous nightly update site" - rm -rf "$UPDATES_0_10_MAINTENANCE_NIGHTLY" - - buildsDir="$DROPS_DIR/$version" - echo "[$DATE] pruning old builds" - prune N "$buildsDir" 2 - - nfsURL="/shared/jobs/papyrus-0.10-maintenance-nightly/lastSuccessful/archive/" - hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-nightly/lastSuccessfulBuild/artifact/" - export SVN_DIRECTORIES_TO_TAG=( ) - promote "$zipName" "$version" "$nfsURL" "$hudsonURL" "$DROPS_DIR" "$ARCHIVE_DIR" "$ARCHIVE_INDEX" "$UPDATES_0_10_MAINTENANCE_NIGHTLY" "Papyrus-Update-incubation-" "NA" - - echo "[$DATE] promote done" - - # trigger the tests and extras builds by using the Hudson Rest API - # see http://wiki.hudson-ci.org/display/HUDSON/Remote+access+API - - echo "[$DATE] triggering Hudson tests build" - json='{"parameter": [ - {"name": "BUCKMINSTER_LOGLEVEL", "value": "DEBUG"}, - {"name": "CLEAN_TP", "value": "true"}, - {"name": "CLEAN_WORKSPACE", "value": "true"}, - {"name": "CLEAN_OUTPUT", "value": "true"}, - {"name": "CLEAN_TOOLS", "value": "false"}, - {"name": "BUILD_TARGET", "value": "test"}, - {"name": "BUILD_TYPE", "value": "N"} - ], "": ""}' - curl -X POST https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-nightly-tests/build -d token=token --data-urlencode json="$json" | grep --ignore-case error && exit -1 - - echo "[$DATE] triggering Hudson extras build" - json='{"parameter": [ - {"name": "BUCKMINSTER_LOGLEVEL", "value": "DEBUG"}, - {"name": "CLEAN_TP", "value": "true"}, - {"name": "CLEAN_WORKSPACE", "value": "true"}, - {"name": "CLEAN_OUTPUT", "value": "true"}, - {"name": "CLEAN_TOOLS", "value": "false"}, - {"name": "BUILD_TYPE", "value": "N"}, - {"name": "SITE_PACK200", "value": "true"}, - {"name": "BUILD_TARGET", "value": "site.p2"}, - {"name": "JAVA_HOME", "value": "/shared/common/sun-jdk1.6.0_21_x64"}, - {"name": "SIGN_UPDATE_SITE", "value": "false"} - ], "": ""}' - curl -X POST https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-extra-nightly/build -d token=token --data-urlencode json="$json" | grep --ignore-case error && exit -1 -fi - -########## maintenance 0.10 main nightly tests ########## -if [ $signalDate10MaintenanceNightlyTests -gt $lastPromoteDate10MaintenanceNightlyTests ]; then - # mark the promote as done - touch "$LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY_TESTS" - - waitUntilJobIsFinished "papyrus-0.10-maintenance-nightly-tests" "$JOB_FINISH_WAIT_TIMEOUT" - - dirBefore=$(pwd) - echo "[$DATE] creating working dir" - workingDir=$(mktemp -d) - cd "$workingDir" - - # for the tests build, the build name and version are taken from the last main build since the artifacts - # must go to the same folder, and we want to be able to start several extra jobs after one single main job - - buildName=$(cat "$PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY") - version=$(cat "$PROMOTE_VERSION_0_10_MAINTENANCE_NIGHTLY") - zipName="Papyrus-TestResults.zip" - nfsURL="/shared/jobs/papyrus-0.10-maintenance-nightly-tests/lastSuccessful/archive/" - hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-nightly-tests/lastSuccessfulBuild/artifact/" - - cp "$nfsURL/${zipName}" . || wget --no-check-certificate "$hudsonURL/${zipName}" - if [ ! -f "$zipName" ]; then echo "ERROR: $zipName (from Hudson) not found"; exit -2; fi - echo "[$DATE] Testing zip integrity" - unzip -t "$zipName" - buildsDir="$DROPS_DIR/$version/$buildName" - echo "[$DATE] publishing build (version='$version') to the builds directory '$buildsDir'..." - unzip -o "$zipName" -d "$buildsDir" - echo "[$DATE] setting access rights" - setAccessRights "$buildsDir" - - echo "[$DATE] promote done" - - cd ${dirBefore} - echo "[$DATE] deleting working dir" - rm -rf "$workingDir" - - # TODO: re-enable when the job is implemented - # echo "[$DATE] triggering Hudson tests build" - # curl https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-extra-nightly-tests/buildWithParameters?token=token -fi - -########## maintenance 0.10 extras nightly ########## -if [ $signalDate10MaintenanceExtraNightly -gt $lastPromoteDate10MaintenanceExtraNightly ]; then - # mark the promote as done - touch "$LAST_PROMOTE_FILE_0_10_MAINTENANCE_EXTRA_NIGHTLY" - - waitUntilJobIsFinished "papyrus-0.10-maintenance-extra-nightly" "$JOB_FINISH_WAIT_TIMEOUT" - - dirBefore=$(pwd) - echo "[$DATE] creating working dir" - workingDir=$(mktemp -d) - cd "$workingDir" - - # for the extra build, the build name and version are taken from the last main build since the artifacts - # must go to the same folder, and we want to be able to start several extra jobs after one single main job - - buildName=$(cat "$PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY") - version=$(cat "$PROMOTE_VERSION_0_10_MAINTENANCE_NIGHTLY") - zipName="Papyrus-Extra.zip" - updateZipName="Papyrus-Extra-Update.zip" - nfsURL="/shared/jobs/papyrus-0.10-maintenance-extra-nightly/lastSuccessful/archive/" - hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-extra-nightly/lastSuccessfulBuild/artifact/" - - # publish to existing drops folder - cp "$nfsURL/${zipName}" . || wget --no-check-certificate "$hudsonURL/${zipName}" - if [ ! -f "$zipName" ]; then echo "ERROR: $zipName (from Hudson) not found"; exit -2; fi - echo "[$DATE] Testing zip integrity" - unzip -t "$zipName" - buildsDir="$DROPS_DIR/$version/$buildName" - echo "[$DATE] publishing build (version='$version') to the builds directory '$buildsDir'..." - unzip -o "$zipName" -d "$buildsDir" - - # publish to composite update site - tmpDrop=$(mktemp -d) - unzip "$zipName" -d "$tmpDrop" - dirNameInZip=$(ls -1 "$tmpDrop") - [ $(echo "$dirNameInZip" | wc -l) == 1 ] || { echo "one directory expected in zip"; exit 1; } - rm -rf "$UPDATES_0_10_MAINTENANCE_EXTRA_NIGHTLY" - unzip -o "$tmpDrop/$dirNameInZip/${updateZipName}" -d "$UPDATES_0_10_MAINTENANCE_EXTRA_NIGHTLY" - - echo "[$DATE] setting access rights" - setAccessRights "$buildsDir" - setAccessRights "$UPDATES_0_10_MAINTENANCE_EXTRA_NIGHTLY" - - echo "[$DATE] promote done" - - cd ${dirBefore} - echo "[$DATE] deleting working dir" - rm -rf "$workingDir" - rm -rf "$tmpDrop" - - # trigger the extras tests build by using the Hudson Rest API - # see http://wiki.hudson-ci.org/display/HUDSON/Remote+access+API - - echo "[$DATE] triggering Hudson extras tests build" - json='{"parameter": [ - {"name": "BUCKMINSTER_LOGLEVEL", "value": "DEBUG"}, - {"name": "CLEAN_TP", "value": "true"}, - {"name": "CLEAN_WORKSPACE", "value": "true"}, - {"name": "CLEAN_OUTPUT", "value": "true"}, - {"name": "CLEAN_TOOLS", "value": "false"}, - {"name": "BUILD_TYPE", "value": "N"}, - {"name": "BUILD_TARGET", "value": "test"} - ], "": ""}' - curl -X POST https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-extra-nightly-tests/build -d token=token --data-urlencode json="$json" | grep --ignore-case error && exit -1 -fi diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/cronPromoteMonitor.sh b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/cronPromoteMonitor.sh deleted file mode 100644 index 7ae3f94d7e6..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/cronPromoteMonitor.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -x - -#-------------------------------------------------------------------------------- -# Copyright (c) 2012 CEA LIST. -# -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Nicolas Bros (Mia-Software) -#-------------------------------------------------------------------------------- - -cronPromoteScript=/opt/public/modeling/mdt/papyrus/cronPromote.sh -logFile=/opt/public/modeling/mdt/papyrus/log-lastCronPromote -mailRecipients="nbros.mia@gmail.com camille.letavernier@cea.fr patrick.tessier@cea.fr vincent.lorenzo@cea.fr Remi.SCHNEKENBURGER@cea.fr" - -bash -x "$cronPromoteScript" 2>&1 | tee "$logFile" -if [ ${PIPESTATUS[0]} != 0 ]; then - echo "promote failed : sending mail" - (echo "This is an automatically generated message sent because the build promotion script 'cronPromote.sh' running on build.eclipse.org failed." && - echo && - echo "Run these commands on build.eclipse.org to retry publishing:" && - echo "--------------------------------------------------------------------------------" && - echo "cd /opt/public/modeling/mdt/papyrus/" && - echo "touch papyrus-trunk-nightly/promoteSignal && ./cronPromote.sh # (replace papyrus-trunk-nightly by the job you want to publish)" && - echo "--------------------------------------------------------------------------------" && - echo && - echo && - echo && - echo && - echo && - cat $logFile) | mail -s "[Papyrus build promotion] build promotion failed" $mailRecipients -fi diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-extra-nightly-tests.xml b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-extra-nightly-tests.xml deleted file mode 100644 index 8f77dda72e0..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-extra-nightly-tests.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - false - mward - 1326211533931 - - - hudson.model.Item.Workspace:vlorenzo - hudson.model.Run.Update:vlorenzo - hudson.model.Item.Delete:vlorenzo - hudson.model.Item.Read:vlorenzo - hudson.model.Item.Build:vlorenzo - hudson.model.Item.Configure:vlorenzo - hudson.model.Run.Delete:vlorenzo - - - - - false - true - false - false - false - (Default) - - false - false - - - - \ No newline at end of file diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-extra-nightly.xml b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-extra-nightly.xml deleted file mode 100644 index fd970cc2f79..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-extra-nightly.xml +++ /dev/null @@ -1,316 +0,0 @@ - - - - Nightly build using Buckminster - - 5 - 3 - -1 - -1 - - false - 0 - - - - - PROJECTID - - modeling.mdt.papyrus.extra - - - VERSION - - 0.8.2 - - - REFERENCE_REPOSITORY - - https://hudson.eclipse.org/hudson/job/cbi-papyrus-extra-nightly/lastSuccessfulBuild/artifact/Papyrus.p2.repository/ - - - BUCKMINSTER_LOGLEVEL - - - - INFO - WARNING - ERROR - DEBUG - - - - - CLEAN_OUTPUT - - true - - - CLEAN_TP - - true - - - CLEAN_TOOLS - - false - - - CLEAN_WORKSPACE - - true - - - SITE_PACK200 - - true - - - BUILD_TYPE - - - - N - M - R - S - - - - - BUILD_TARGET - - - - site.p2 - test - - - - - JAVA_HOME - jdk for Papyrus build: -/shared/common/sun-jdk1.6.0_21_x64 for buckminster installation -/shared/common/jdk-1.5.0-22.x86_64 for compilation - /shared/common/jdk-1.5.0-22.x86_64 - - - - - hudson.model.Item.Workspace:ytanguy - hudson.model.Item.Workspace:tfaure - hudson.model.Item.Workspace:ptessier - hudson.model.Item.Workspace:vlorenzo - hudson.model.Item.Workspace:vhemery - hudson.model.Item.Workspace:tlandre - hudson.model.Item.Workspace:eperico - hudson.model.Item.Workspace:mvelten - hudson.model.Item.Workspace:rschnekenbu - hudson.model.Item.Workspace:cdumoulin - hudson.model.Item.Workspace:cmraidha - hudson.model.Item.Workspace:rfaudou - hudson.model.Item.Workspace:tfesenko - hudson.model.Item.Workspace:nbros - hudson.model.Item.Workspace:sgerard - hudson.model.Run.Update:ytanguy - hudson.model.Run.Update:tfaure - hudson.model.Run.Update:ptessier - hudson.model.Run.Update:vlorenzo - hudson.model.Run.Update:vhemery - hudson.model.Run.Update:tlandre - hudson.model.Run.Update:eperico - hudson.model.Run.Update:mvelten - hudson.model.Run.Update:rschnekenbu - hudson.model.Run.Update:cdumoulin - hudson.model.Run.Update:cmraidha - hudson.model.Run.Update:rfaudou - hudson.model.Run.Update:tfesenko - hudson.model.Run.Update:nbros - hudson.model.Run.Update:sgerard - hudson.model.Item.Build:ytanguy - hudson.model.Item.Build:tfaure - hudson.model.Item.Build:ptessier - hudson.model.Item.Build:vlorenzo - hudson.model.Item.Build:vhemery - hudson.model.Item.Build:tlandre - hudson.model.Item.Build:eperico - hudson.model.Item.Build:mvelten - hudson.model.Item.Build:rschnekenbu - hudson.model.Item.Build:cdumoulin - hudson.model.Item.Build:cmraidha - hudson.model.Item.Build:rfaudou - hudson.model.Item.Build:tfesenko - hudson.model.Item.Build:nbros - hudson.model.Item.Build:sgerard - hudson.model.Item.Read:ytanguy - hudson.model.Item.Read:tfaure - hudson.model.Item.Read:ptessier - hudson.model.Item.Read:vlorenzo - hudson.model.Item.Read:vhemery - hudson.model.Item.Read:tlandre - hudson.model.Item.Read:anonymous - hudson.model.Item.Read:eperico - hudson.model.Item.Read:mvelten - hudson.model.Item.Read:rschnekenbu - hudson.model.Item.Read:cdumoulin - hudson.model.Item.Read:cmraidha - hudson.model.Item.Read:rfaudou - hudson.model.Item.Read:tfesenko - hudson.model.Item.Read:nbros - hudson.model.Item.Read:sgerard - hudson.model.Item.ExtendedRead:nbros - hudson.model.Item.Configure:ytanguy - hudson.model.Item.Configure:tfaure - hudson.model.Item.Configure:ptessier - hudson.model.Item.Configure:vlorenzo - hudson.model.Item.Configure:vhemery - hudson.model.Item.Configure:tlandre - hudson.model.Item.Configure:eperico - hudson.model.Item.Configure:mvelten - hudson.model.Item.Configure:rschnekenbu - hudson.model.Item.Configure:cdumoulin - hudson.model.Item.Configure:cmraidha - hudson.model.Item.Configure:rfaudou - hudson.model.Item.Configure:tfesenko - hudson.model.Item.Configure:nbros - hudson.model.Item.Configure:sgerard - hudson.model.Run.Delete:ytanguy - hudson.model.Run.Delete:tfaure - hudson.model.Run.Delete:ptessier - hudson.model.Run.Delete:vlorenzo - hudson.model.Run.Delete:vhemery - hudson.model.Run.Delete:tlandre - hudson.model.Run.Delete:eperico - hudson.model.Run.Delete:mvelten - hudson.model.Run.Delete:rschnekenbu - hudson.model.Run.Delete:cdumoulin - hudson.model.Run.Delete:cmraidha - hudson.model.Run.Delete:rfaudou - hudson.model.Run.Delete:tfesenko - hudson.model.Run.Delete:nbros - hudson.model.Run.Delete:sgerard - - - - - - - http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/branches/0.8.X/releng - infinity - false - - - - - - - - - - 300 - fastlane - false - false - false - false - false - Java 5 R 22 64bit (SUN) - - false - false - - - SVN=/usr/local/bin/svn -promoteDirName=/opt/public/modeling/mdt/papyrus/extra/papyrusExtraBuildPromoteDirNameN - -echo "building in " $WORKSPACE - -echo "cleaning previous results" -rm -f ?20*.zip - -echo "displaying java version" -java -version - -: -COMPACT_BUILD_ID="${BUILD_ID//[-_]}" -COMPACT_BUILD_ID="${COMPACT_BUILD_ID:0:12}" -FULL_BUILD_ID=${BUILD_TYPE}${COMPACT_BUILD_ID} -echo $FULL_BUILD_ID > $promoteDirName -: - - - ${BUILD_TARGET} - apache-ant-1.7.1 - ${WORKSPACE}/releng/org.eclipse.mdt.papyrus.extra.releng.buckminster/build.xml - server.build=true -build.id=$BUILD_TAG -ant.build.javac.target=1.5 -ant.build.javac.source=1.5 - - - rm -rf result/site.p2 -cp -a result/workspace/_temp/org.eclipse.papyrus.extra.build_*-eclipse.feature/site.p2 result - - - #publishing script# -promoteSignal=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-extra-nightly/promoteSignal -promoteVersion=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-extra-nightly/promoteVersion -promoteDirName=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-extra-nightly/promoteDirName - -FULL_BUILD_ID=$(cat /opt/public/modeling/mdt/papyrus/extra/papyrusExtraBuildPromoteDirNameN) - -if [ -n "$BUILD_ALIAS" ]; then - zipName=PapyrusExtra-Update-${BUILD_ALIAS}.zip -else - zipName=PapyrusExtra-Update-${FULL_BUILD_ID}.zip -fi - -rm -rf ${WORKSPACE}/tmp -mkdir -p "${WORKSPACE}/tmp/$FULL_BUILD_ID" - -cd result/site.p2 -zip -r $zipName * -mv $zipName "${WORKSPACE}/tmp/$FULL_BUILD_ID" - -# copy the psf generated file to the tmp dir -cp ${WORKSPACE}/result/*.psf "${WORKSPACE}/tmp/$FULL_BUILD_ID" - -# copy tests results -if [ -e ${WORKSPACE}/result/testresults ]; then - mkdir ${WORKSPACE}/tmp/$FULL_BUILD_ID/testresults - cp -r ${WORKSPACE}/result/testresults/ "${WORKSPACE}/tmp/$FULL_BUILD_ID" -fi - -# Test if build succeeded. If not, then exit with error 1. -# Copy the log, because the commands appear in the grepped log... -wget --quiet --no-check-certificate ${HUDSON_URL}/job/${JOB_NAME}/${BUILD_NUMBER}/consoleText -O "${WORKSPACE}/tmp/$FULL_BUILD_ID/buildlog.txt" - -cd ${WORKSPACE}/tmp -zip -r ${FULL_BUILD_ID}.zip * -cd .. -mv tmp/${FULL_BUILD_ID}.zip ${WORKSPACE} - -echo ${FULL_BUILD_ID} > $promoteSignal -echo $VERSION > $promoteVersion - - - - - *.zip - GZIP - false - false - - - remi.schnekenburger@cea.fr chokri.mraidha@cea.fr mathieu.velten@atos.net - false - false - - - - - 120 - true - - - \ No newline at end of file diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-nightly-tests.xml b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-nightly-tests.xml deleted file mode 100644 index e12cd463800..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-nightly-tests.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - false - mward - 1326211489794 - - - hudson.model.Item.Workspace:vlorenzo - hudson.model.Run.Update:vlorenzo - hudson.model.Item.Delete:vlorenzo - hudson.model.Item.Read:vlorenzo - hudson.model.Item.Build:vlorenzo - hudson.model.Item.Configure:vlorenzo - hudson.model.Run.Delete:vlorenzo - - - - - false - true - false - false - false - (Default) - - false - false - - - - \ No newline at end of file diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-nightly.xml b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-nightly.xml deleted file mode 100644 index 97e2a363746..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-0.8-maintenance-nightly.xml +++ /dev/null @@ -1,382 +0,0 @@ - - - - Nightly build using Buckminster - - - - - 3 - 3 - -1 - -1 - - false - 0 - - - - - PROJECTID - - modeling.mdt.papyrus - - - VERSION - - 0.8.2 - - - BUCKMINSTER_LOGLEVEL - Logging level of information for buckminster - - - DEBUG - INFO - WARNING - ERROR - - - - - CLEAN_OUTPUT - cleans the output of - true - - - CLEAN_TP - cleans the target platform - true - - - CLEAN_TOOLS - Indicates if the tools folder (buckminster mainly) should be deleted to be installed again - false - - - CLEAN_WORKSPACE - cleans the workspace - true - - - SITE_PACK200 - Pack the result jars in order to gain size and bandwidth for the eclipse download servers - true - - - BUILD_TYPE - Type of the build (Nightly, Maintenance, Release) - - - N - M - R - S - I - - - - - BUILD_TARGET - test : Launch the build of the tool and then the JUnit tests on the result -site.p2 : Launch the build of the tool only - no tests -provision : Gets only the material required to launch the build -promote.sites : Unused - - - site.p2 - test - provision - promote.sites - - - - - JAVA_HOME - /shared/common/sun-jdk1.6.0_21_x64 || /shared/common/jdk-1.5.0-22.x86_64 - /shared/common/jdk-1.5.0-22.x86_64 - - - - - hudson.model.Item.Workspace:ytanguy - hudson.model.Item.Workspace:tfaure - hudson.model.Item.Workspace:ptessier - hudson.model.Item.Workspace:vlorenzo - hudson.model.Item.Workspace:vhemery - hudson.model.Item.Workspace:tlandre - hudson.model.Item.Workspace:anonymous - hudson.model.Item.Workspace:eperico - hudson.model.Item.Workspace:mvelten - hudson.model.Item.Workspace:rschnekenbu - hudson.model.Item.Workspace:cdumoulin - hudson.model.Item.Workspace:cmraidha - hudson.model.Item.Workspace:rfaudou - hudson.model.Item.Workspace:tfesenko - hudson.model.Item.Workspace:nbros - hudson.model.Item.Workspace:cletavernie - hudson.model.Item.Workspace:sgerard - hudson.model.Run.Update:ytanguy - hudson.model.Run.Update:tfaure - hudson.model.Run.Update:ptessier - hudson.model.Run.Update:vlorenzo - hudson.model.Run.Update:vhemery - hudson.model.Run.Update:tlandre - hudson.model.Run.Update:eperico - hudson.model.Run.Update:mvelten - hudson.model.Run.Update:rschnekenbu - hudson.model.Run.Update:cdumoulin - hudson.model.Run.Update:cmraidha - hudson.model.Run.Update:rfaudou - hudson.model.Run.Update:tfesenko - hudson.model.Run.Update:nbros - hudson.model.Run.Update:cletavernie - hudson.model.Run.Update:sgerard - hudson.model.Item.Build:ytanguy - hudson.model.Item.Build:tfaure - hudson.model.Item.Build:ptessier - hudson.model.Item.Build:vlorenzo - hudson.model.Item.Build:vhemery - hudson.model.Item.Build:tlandre - hudson.model.Item.Build:eperico - hudson.model.Item.Build:mvelten - hudson.model.Item.Build:rschnekenbu - hudson.model.Item.Build:cdumoulin - hudson.model.Item.Build:cmraidha - hudson.model.Item.Build:rfaudou - hudson.model.Item.Build:tfesenko - hudson.model.Item.Build:nbros - hudson.model.Item.Build:cletavernie - hudson.model.Item.Build:sgerard - hudson.model.Item.Read:ytanguy - hudson.model.Item.Read:tfaure - hudson.model.Item.Read:ptessier - hudson.model.Item.Read:vlorenzo - hudson.model.Item.Read:vhemery - hudson.model.Item.Read:tlandre - hudson.model.Item.Read:anonymous - hudson.model.Item.Read:eperico - hudson.model.Item.Read:mvelten - hudson.model.Item.Read:rschnekenbu - hudson.model.Item.Read:cdumoulin - hudson.model.Item.Read:cmraidha - hudson.model.Item.Read:rfaudou - hudson.model.Item.Read:tfesenko - hudson.model.Item.Read:nbros - hudson.model.Item.Read:cletavernie - hudson.model.Item.Read:sgerard - hudson.model.Item.ExtendedRead:ytanguy - hudson.model.Item.ExtendedRead:tfaure - hudson.model.Item.ExtendedRead:ptessier - hudson.model.Item.ExtendedRead:vlorenzo - hudson.model.Item.ExtendedRead:vhemery - hudson.model.Item.ExtendedRead:tlandre - hudson.model.Item.ExtendedRead:anonymous - hudson.model.Item.ExtendedRead:eperico - hudson.model.Item.ExtendedRead:mvelten - hudson.model.Item.ExtendedRead:rschnekenbu - hudson.model.Item.ExtendedRead:cdumoulin - hudson.model.Item.ExtendedRead:cmraidha - hudson.model.Item.ExtendedRead:rfaudou - hudson.model.Item.ExtendedRead:tfesenko - hudson.model.Item.ExtendedRead:nbros - hudson.model.Item.ExtendedRead:cletavernie - hudson.model.Item.ExtendedRead:sgerard - hudson.model.Item.Configure:ytanguy - hudson.model.Item.Configure:tfaure - hudson.model.Item.Configure:ptessier - hudson.model.Item.Configure:vlorenzo - hudson.model.Item.Configure:vhemery - hudson.model.Item.Configure:tlandre - hudson.model.Item.Configure:eperico - hudson.model.Item.Configure:mvelten - hudson.model.Item.Configure:rschnekenbu - hudson.model.Item.Configure:cdumoulin - hudson.model.Item.Configure:cmraidha - hudson.model.Item.Configure:rfaudou - hudson.model.Item.Configure:tfesenko - hudson.model.Item.Configure:nbros - hudson.model.Item.Configure:cletavernie - hudson.model.Item.Configure:sgerard - hudson.model.Run.Delete:ytanguy - hudson.model.Run.Delete:tfaure - hudson.model.Run.Delete:ptessier - hudson.model.Run.Delete:vlorenzo - hudson.model.Run.Delete:vhemery - hudson.model.Run.Delete:tlandre - hudson.model.Run.Delete:eperico - hudson.model.Run.Delete:mvelten - hudson.model.Run.Delete:rschnekenbu - hudson.model.Run.Delete:cdumoulin - hudson.model.Run.Delete:cmraidha - hudson.model.Run.Delete:rfaudou - hudson.model.Run.Delete:tfesenko - hudson.model.Run.Delete:nbros - hudson.model.Run.Delete:cletavernie - hudson.model.Run.Delete:sgerard - - - - - - - http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/branches/0.8.X/plugins - sourceTree/plugins - infinity - false - - - http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/branches/0.8.X/features - sourceTree/features - infinity - false - - - http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/branches/0.8.X/releng - sourceTree/releng - infinity - false - - - http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/branches/0.8.X/extraplugins - sourceTree/extraplugins - infinity - false - - - - - - - - - - hudson-slave1||master - true - false - false - false - false - Java 5 R 22 64bit (SUN) - - - 13 12 * * 1-6 - - - false - false - - - SVN=/usr/local/bin/svn -promoteDirName=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-nightly/promoteDirName - -echo "building in " $WORKSPACE - -echo "cleaning previous results" -rm -f ?20*.zip - -echo "displaying java version" -java -version - -: -COMPACT_BUILD_ID="${BUILD_ID//[-_]}" -COMPACT_BUILD_ID="${COMPACT_BUILD_ID:0:12}" -FULL_BUILD_ID=${BUILD_TYPE}${COMPACT_BUILD_ID} -echo $FULL_BUILD_ID > $promoteDirName -: - - - - ${BUILD_TARGET} - apache-ant-1.7.1 - ${WORKSPACE}/sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/build.xml - server.build=true -build.id=$BUILD_TAG -ant.build.javac.target=1.5 -ant.build.javac.source=1.5 -local.repository=${WORKSPACE}/sourceTree - - - rm -rf result/site.p2 -cp -a result/workspace/temp/org.eclipse.papyrus.build_*-eclipse.feature/site.p2 result - - - #publishing script# -promoteSignal=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-nightly/promoteSignal -promoteVersion=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-nightly/promoteVersion -promoteDirName=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-nightly/promoteDirName -#lastBuildLogFile=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-nightly/lastBuildLog - -FULL_BUILD_ID=$(cat $promoteDirName) - -if [ -n "$BUILD_ALIAS" ]; then - zipName=Papyrus-Update-${BUILD_ALIAS}.zip -else - zipName=Papyrus-Update-${FULL_BUILD_ID}.zip -fi - -rm -rf ${WORKSPACE}/tmp -mkdir -p "${WORKSPACE}/tmp/$FULL_BUILD_ID" - -cd result/site.p2 -zip -r $zipName * -mv $zipName "${WORKSPACE}/tmp/$FULL_BUILD_ID" - -# copy the psf generated file to the tmp dir -cp ${WORKSPACE}/result/*.psf "${WORKSPACE}/tmp/$FULL_BUILD_ID" - -# copy tests results -if [ -e ${WORKSPACE}/result/testresults ]; then - mkdir ${WORKSPACE}/tmp/$FULL_BUILD_ID/testresults - cp -r ${WORKSPACE}/result/testresults/ "${WORKSPACE}/tmp/$FULL_BUILD_ID" -fi - -# Test if build succeeded. If not, then exit with error 1. -# Copy the log, because the commands appear in the grepped log... - -#wget --quiet --no-check-certificate https://hudson.eclipse.org/hudson/job/cbi-papyrus-0.7-nightly/${BUILD_NUMBER}/consoleText -O "$lastBuildLogFile" -#cp "$lastBuildLogFile" "${WORKSPACE}/tmp/$FULL_BUILD_ID/buildlog.txt" - -wget --quiet --no-check-certificate ${HUDSON_URL}/job/${JOB_NAME}/${BUILD_NUMBER}/consoleText -O "${WORKSPACE}/tmp/$FULL_BUILD_ID/buildlog.txt" - -cd ${WORKSPACE}/tmp -zip -r ${FULL_BUILD_ID}.zip * -cd .. -mv tmp/${FULL_BUILD_ID}.zip ${WORKSPACE} - -echo ${FULL_BUILD_ID} > $promoteSignal -echo $VERSION > $promoteVersion - - - - - - papyrus-0.8-maintenance-extra-nightly - - SUCCESS - 0 - BLUE - - - - *.zip - GZIP - false - false - - - chokri.mraidha@cea.fr mathieu.velten@atos.net vincent.lorenzo@cea.fr camille.letavernier@cea.fr remi.schnekenburger@cea.fr - false - false - - - - - false - - - 331 - true - - - \ No newline at end of file diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-extra-nightly-tests.xml b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-extra-nightly-tests.xml deleted file mode 100644 index 41a8bf62d51..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-extra-nightly-tests.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - false - mward - 1326211436241 - - - hudson.model.Item.Workspace:vlorenzo - hudson.model.Item.Workspace:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Run.Update:vlorenzo - hudson.model.Run.Update:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Delete:vlorenzo - hudson.model.Item.Read:vlorenzo - hudson.model.Item.Read:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Build:vlorenzo - hudson.model.Item.Build:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.ExtendedRead:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Configure:vlorenzo - hudson.model.Item.Configure:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Run.Delete:vlorenzo - hudson.model.Run.Delete:ROLE_MODELING.MDT.PAPYRUS - - - - - false - true - false - false - false - (Valeur par défaut) - - false - false - - - - \ No newline at end of file diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-extra-nightly.xml b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-extra-nightly.xml deleted file mode 100644 index 07e02f3b109..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-extra-nightly.xml +++ /dev/null @@ -1,291 +0,0 @@ - - - - Job for the modeling.mdt.papyrus project. Used to produce nightlies of the extra components automatically every day, and milestones and releases manually.<br/> -<p> -The nightlies done by this build are published to:<ul> -<li><b>downloads</b>:<a href="http://www.eclipse.org/modeling/mdt/papyrus/downloads/">http://www.eclipse.org/modeling/mdt/papyrus/downloads/</a> -<li><b>update site</b>:<a href="http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/juno/extras/">http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/juno/extras/</a> -</ul> -</p> - - 5 - 3 - -1 - -1 - - false - mward - 1326137668126 - - - - - BUCKMINSTER_LOGLEVEL - Verbosity of logging information for Buckminster<ul> -<li>DEBUG : most verbose : display errors, warnings, information messages and debug messages (useful when you want to see what Buckminster <li>INFO : display errors, warnings and information messages -<li>WARNING : less verbose : only display errors and warnings -<li>ERROR : least verbose : only display errors -is doing) -</ul> - - - - DEBUG - INFO - WARNING - ERROR - - - - - CLEAN_TP - Indicates if the target platform should be deleted before the build. - true - - - CLEAN_WORKSPACE - Indicates if the workspace should be deleted before the build. - true - - - CLEAN_OUTPUT - Indicates if the output folder should be deleted before the build. - true - - - CLEAN_TOOLS - Indicates if the tools (p2 director and Buckminster) should be deleted before the build - false - - - BUILD_TYPE - Type of build:<ul> -<li>N: Nightly -<li>I: Integration -<li>S: Stable (for milestones and release candidates) -<li>R: Release (usually not selected, since releases are done by renaming the last release candidate) -<li>M: Maintenance (seldom used) -</ul> -Nightly builds won't be signed, contrary to other kind of builds. - - - N - I - S - R - M - - - - - SITE_PACK200 - Pack the result jars in order to gain size and bandwidth for the eclipse download servers - true - - - BUILD_TARGET - - - - site.p2 - provision - do.nothing - - - - - JAVA_HOME - jdk for Papyrus build: -/shared/common/sun-jdk1.6.0_21_x64 for buckminster installation -/shared/common/jdk-1.5.0-22.x86_64 for compilation - /shared/common/jdk-1.5.0-22.x86_64 - - - SIGN_UPDATE_SITE - Sign the update site (must be selected for all builds except nightlies) - false - - - - - hudson.model.Item.Build:ytanguy - hudson.model.Item.Build:tfaure - hudson.model.Item.Build:ptessier - hudson.model.Item.Build:vlorenzo - hudson.model.Item.Build:tlandre - hudson.model.Item.Build:mvelten - hudson.model.Item.Build:rschnekenbu - hudson.model.Item.Build:cdumoulin - hudson.model.Item.Build:cmraidha - hudson.model.Item.Build:rfaudou - hudson.model.Item.Build:tfesenko - hudson.model.Item.Build:nbros - hudson.model.Item.Build:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Build:sgerard - hudson.model.Item.ExtendedRead:tfaure - hudson.model.Item.ExtendedRead:ytanguy - hudson.model.Item.ExtendedRead:ptessier - hudson.model.Item.ExtendedRead:vlorenzo - hudson.model.Item.ExtendedRead:tlandre - hudson.model.Item.ExtendedRead:mvelten - hudson.model.Item.ExtendedRead:rschnekenbu - hudson.model.Item.ExtendedRead:cdumoulin - hudson.model.Item.ExtendedRead:cmraidha - hudson.model.Item.ExtendedRead:rfaudou - hudson.model.Item.ExtendedRead:nbros - hudson.model.Item.ExtendedRead:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.ExtendedRead:sgerard - hudson.model.Item.Read:ytanguy - hudson.model.Item.Read:tfaure - hudson.model.Item.Read:ptessier - hudson.model.Item.Read:vlorenzo - hudson.model.Item.Read:tlandre - hudson.model.Item.Read:mvelten - hudson.model.Item.Read:rschnekenbu - hudson.model.Item.Read:cdumoulin - hudson.model.Item.Read:cmraidha - hudson.model.Item.Read:rfaudou - hudson.model.Item.Read:tfesenko - hudson.model.Item.Read:nbros - hudson.model.Item.Read:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Read:sgerard - hudson.model.Item.Workspace:ytanguy - hudson.model.Item.Workspace:tfaure - hudson.model.Item.Workspace:ptessier - hudson.model.Item.Workspace:vlorenzo - hudson.model.Item.Workspace:tlandre - hudson.model.Item.Workspace:mvelten - hudson.model.Item.Workspace:rschnekenbu - hudson.model.Item.Workspace:cdumoulin - hudson.model.Item.Workspace:cmraidha - hudson.model.Item.Workspace:rfaudou - hudson.model.Item.Workspace:tfesenko - hudson.model.Item.Workspace:nbros - hudson.model.Item.Workspace:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Workspace:sgerard - hudson.model.Run.Delete:ytanguy - hudson.model.Run.Delete:tfaure - hudson.model.Run.Delete:ptessier - hudson.model.Run.Delete:vlorenzo - hudson.model.Run.Delete:tlandre - hudson.model.Run.Delete:mvelten - hudson.model.Run.Delete:rschnekenbu - hudson.model.Run.Delete:cdumoulin - hudson.model.Run.Delete:cmraidha - hudson.model.Run.Delete:rfaudou - hudson.model.Run.Delete:tfesenko - hudson.model.Run.Delete:nbros - hudson.model.Run.Delete:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Run.Delete:sgerard - hudson.model.Run.Update:ytanguy - hudson.model.Run.Update:tfaure - hudson.model.Run.Update:ptessier - hudson.model.Run.Update:vlorenzo - hudson.model.Run.Update:tlandre - hudson.model.Run.Update:mvelten - hudson.model.Run.Update:rschnekenbu - hudson.model.Run.Update:cdumoulin - hudson.model.Run.Update:cmraidha - hudson.model.Run.Update:rfaudou - hudson.model.Run.Update:tfesenko - hudson.model.Run.Update:nbros - hudson.model.Run.Update:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Run.Update:sgerard - hudson.model.Item.Configure:ytanguy - hudson.model.Item.Configure:tfaure - hudson.model.Item.Configure:ptessier - hudson.model.Item.Configure:vlorenzo - hudson.model.Item.Configure:tlandre - hudson.model.Item.Configure:mvelten - hudson.model.Item.Configure:rschnekenbu - hudson.model.Item.Configure:cdumoulin - hudson.model.Item.Configure:cmraidha - hudson.model.Item.Configure:rfaudou - hudson.model.Item.Configure:tfesenko - hudson.model.Item.Configure:nbros - hudson.model.Item.Configure:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Configure:sgerard - - - - - - - file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/extraplugins - sourceTree/extraplugins - infinity - false - - - file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/features - sourceTree/features - infinity - false - - - file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/releng - sourceTree/releng - infinity - false - - - - - - - - - - 300 - hudson-slave1||master - true - false - false - false - false - Java 5 R 22 64bit (SUN) - token - - false - false - - - . sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly/build-before.sh - - - ${BUILD_TARGET} - apache-ant-1.7.1 - ${WORKSPACE}/sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly/build.xml - server.build=true -build.id=$BUILD_TAG -ant.build.javac.target=1.5 -ant.build.javac.source=1.5 -local.repository=${WORKSPACE}/sourceTree -releng.subproject.name=papyrus-trunk-extra-nightly -papyrus.update.site=file:///opt/public/jobs/papyrus-trunk-nightly/workspace/updateSite/ - - - . sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly/build-after.sh - - - - - *.zip - GZIP - false - false - - - remi.schnekenburger@cea.fr chokri.mraidha@cea.fr mathieu.velten@atos.net - false - false - - - - - 60 - true - - - \ No newline at end of file diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-nightly-3.8-tests.xml b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-nightly-3.8-tests.xml deleted file mode 100644 index a56dfb4aa1f..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-nightly-3.8-tests.xml +++ /dev/null @@ -1,180 +0,0 @@ - - - - Job for launching tests and testing the installation of the modeling.mdt.papyrus project on an Eclipse 3.8. - - -1 - 5 - -1 - -1 - - false - mward - 1326383216039 - - - - - BUCKMINSTER_LOGLEVEL - Verbosity of logging information for Buckminster<ul> -<li>DEBUG : most verbose : display errors, warnings, information messages and debug messages (useful when you want to see what Buckminster <li>INFO : display errors, warnings and information messages -<li>WARNING : less verbose : only display errors and warnings -<li>ERROR : least verbose : only display errors -is doing) -</ul> - - - - DEBUG - INFO - WARNING - ERROR - - - - - CLEAN_TP - Indicates if the target platform should be deleted before the build. - true - - - CLEAN_WORKSPACE - Indicates if the workspace should be deleted before the build. - true - - - CLEAN_OUTPUT - Indicates if the output folder should be deleted before the build. - true - - - CLEAN_TOOLS - Indicates if the tools (p2 director and Buckminster) should be deleted before the build - false - - - BUILD_TARGET - <ul> -<li>test : do what site.p2 does + run the unit tests -<li>build : Do what "provision" does + build the tests -<li>provision : Install Buckminster + retrieve the material required to launch the build (import the Papyrus tests and all the dependencies) -<li>do.nothing : re-use the previously built results -</ul> - - - test - build - provision - do.nothing - - - - - - - hudson.model.Item.Workspace:anonymous - hudson.model.Item.Workspace:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Workspace:vlorenzo - hudson.model.Item.Workspace:nbros - hudson.model.Run.Update:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Run.Update:vlorenzo - hudson.model.Run.Update:nbros - hudson.model.Item.Build:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Build:vlorenzo - hudson.model.Item.Build:nbros - hudson.model.Item.Read:anonymous - hudson.model.Item.Read:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Read:vlorenzo - hudson.model.Item.Read:nbros - hudson.model.Item.ExtendedRead:anonymous - hudson.model.Item.ExtendedRead:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.ExtendedRead:vlorenzo - hudson.model.Item.ExtendedRead:nbros - hudson.model.Item.Configure:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Configure:vlorenzo - hudson.model.Item.Configure:nbros - hudson.model.Run.Delete:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Run.Delete:vlorenzo - hudson.model.Run.Delete:nbros - - - - - - - file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/features/papyrus-tests-features - sourceTree/features/papyrus-tests-features - infinity - false - - - file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/tests - sourceTree/tests - infinity - false - - - file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/releng - sourceTree/releng - infinity - false - - - - - - - - - - hudson-slave1||master - true - false - false - false - false - (Valeur par défaut) - token - - false - false - - - echo "starting Metacity desktop manager" -metacity --replace --sm-disable & - - - - ${BUILD_TARGET} - apache-ant-1.7.1 - ${WORKSPACE}/sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-3.8-tests/build.xml - server.build=true -ant.build.javac.target=1.5 -ant.build.javac.source=1.5 -local.repository=${WORKSPACE}/sourceTree -releng.subproject.name=papyrus-trunk-nightly-3.8-tests -papyrus.update.site=file:///opt/public/jobs/papyrus-trunk-nightly/workspace/updateSite/ - - - - - buildroot/result/testresults/xml/*.xml - false - - - - chokri.mraidha@cea.fr patrick.tessier@cea.fr mathieu.velten@atos.net vincent.lorenzo@cea.fr remi.schnekenburger@cea.fr camille.letavernier@cea.fr yann.tanguy@cea.fr - false - false - - - - - false - - - 60 - true - - - \ No newline at end of file diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-nightly-tests.xml b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-nightly-tests.xml deleted file mode 100644 index 56975fbaef7..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-nightly-tests.xml +++ /dev/null @@ -1,212 +0,0 @@ - - - - Job for launching tests and testing the installation of the modeling.mdt.papyrus project. - - -1 - 5 - -1 - -1 - - false - mward - 1326211403516 - - - - - BUCKMINSTER_LOGLEVEL - Verbosity of logging information for Buckminster<ul> -<li>DEBUG : most verbose : display errors, warnings, information messages and debug messages (useful when you want to see what Buckminster <li>INFO : display errors, warnings and information messages -<li>WARNING : less verbose : only display errors and warnings -<li>ERROR : least verbose : only display errors -is doing) -</ul> - - - - DEBUG - INFO - WARNING - ERROR - - - - - CLEAN_TP - Indicates if the target platform should be deleted before the build. - true - - - CLEAN_WORKSPACE - Indicates if the workspace should be deleted before the build. - true - - - CLEAN_OUTPUT - Indicates if the output folder should be deleted before the build. - true - - - CLEAN_TOOLS - Indicates if the tools (p2 director and Buckminster) should be deleted before the build - false - - - BUILD_TARGET - <ul> -<li>test : do what site.p2 does + run the unit tests -<li>build : Do what "provision" does + build the tests -<li>provision : Install Buckminster + retrieve the material required to launch the build (import the Papyrus tests and all the dependencies) -<li>do.nothing : re-use the previously built results -</ul> - - - test - build - provision - do.nothing - - - - - BUILD_TYPE - Type of build:<ul> -<li>N: Nightly -<li>I: Integration -<li>S: Stable (for milestones and release candidates) -<li>R: Release (usually not selected, since releases are done by renaming the last release candidate) -<li>M: Maintenance (seldom used) -</ul> -The build type should be the same as the last papyrus-trunk-nightly job.<br/> -This nightly builds will be published automatically to the same folder as the last papyrus-trunk-nightly job. - - - - N - I - S - R - M - - - - - - - hudson.model.Item.Workspace:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Workspace:vlorenzo - hudson.model.Item.Workspace:nbros - hudson.model.Run.Update:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Run.Update:vlorenzo - hudson.model.Run.Update:nbros - hudson.model.Item.Build:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Build:vlorenzo - hudson.model.Item.Build:nbros - hudson.model.Item.Read:anonymous - hudson.model.Item.Read:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Read:vlorenzo - hudson.model.Item.Read:nbros - hudson.model.Item.ExtendedRead:anonymous - hudson.model.Item.ExtendedRead:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.ExtendedRead:vlorenzo - hudson.model.Item.ExtendedRead:nbros - hudson.model.Item.Configure:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Configure:vlorenzo - hudson.model.Item.Configure:nbros - hudson.model.Run.Delete:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Run.Delete:vlorenzo - hudson.model.Run.Delete:nbros - - - - - - - file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/features/papyrus-tests-features - sourceTree/features/papyrus-tests-features - infinity - false - - - file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/tests - sourceTree/tests - infinity - false - - - file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/releng - sourceTree/releng - infinity - false - - - - - - - - - - hudson-slave1||master - true - false - false - false - false - Java 5 R 22 64bit (SUN) - token - - false - false - - - echo "starting Metacity desktop manager" -metacity --replace --sm-disable & - -# remove the previous results -rm -f *.zip - - - ${BUILD_TARGET} - apache-ant-1.7.1 - ${WORKSPACE}/sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build.xml - server.build=true -ant.build.javac.target=1.5 -ant.build.javac.source=1.5 -local.repository=${WORKSPACE}/sourceTree -releng.subproject.name=papyrus-trunk-nightly-tests -papyrus.update.site=file:///opt/public/jobs/papyrus-trunk-nightly/workspace/updateSite/ - - - . sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build-after.sh - - - - - buildroot/result/testresults/xml/*.xml - false - - - - *.zip - GZIP - false - false - - - chokri.mraidha@cea.fr patrick.tessier@cea.fr mathieu.velten@atos.net vincent.lorenzo@cea.fr remi.schnekenburger@cea.fr camille.letavernier@cea.fr yann.tanguy@cea.fr - false - false - - - - - false - - - 60 - true - - - \ No newline at end of file diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-nightly.xml b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-nightly.xml deleted file mode 100644 index d1504bd0b2e..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/hudsonJobs/papyrus-trunk-nightly.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - - Job for the modeling.mdt.papyrus project. Used to produce nightlies automatically every day, and milestones and releases manually.<br/> -<p> -The nightlies done by this build are published to:<ul> -<li><b>downloads</b>:<a href="http://www.eclipse.org/modeling/mdt/papyrus/downloads/">http://www.eclipse.org/modeling/mdt/papyrus/downloads/</a> -<li><b>update site</b>:<a href="http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/juno/main/">http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/juno/main/</a> -</ul> -</p> - - -1 - 5 - -1 - -1 - - false - 0 - - - - - VERSION - The version of Papyrus that is built. This is used for publishing the build to the right download folder. - 0.9.0 - - - BUCKMINSTER_LOGLEVEL - Verbosity of logging information for Buckminster<ul> -<li>DEBUG : most verbose : display errors, warnings, information messages and debug messages (useful when you want to see what Buckminster <li>INFO : display errors, warnings and information messages -<li>WARNING : less verbose : only display errors and warnings -<li>ERROR : least verbose : only display errors -is doing) -</ul> - - - - DEBUG - INFO - WARNING - ERROR - - - - - CLEAN_TP - Indicates if the target platform should be deleted before the build. - true - - - CLEAN_WORKSPACE - Indicates if the workspace should be deleted before the build. - true - - - CLEAN_OUTPUT - Indicates if the output folder should be deleted before the build. - true - - - CLEAN_TOOLS - Indicates if the tools (p2 director and Buckminster) should be deleted before the build - false - - - BUILD_TYPE - Type of build:<ul> -<li>N: Nightly -<li>I: Integration -<li>S: Stable (for milestones and release candidates) -<li>R: Release (usually not selected, since releases are done by renaming the last release candidate) -<li>M: Maintenance (seldom used) -</ul> -Nightly builds won't be signed, contrary to other kind of builds. - - - N - I - S - R - M - - - - - BUILD_ALIAS - The name of the release (0.8.0, 0.9.0M1, etc.). This will be the result zip's name. Leave it blank for nightly and integration builds - - - - BUILD_TARGET - <ul> -<li>site.p2 : Do what "provision" does + build Papyrus + create the update site -<li>provision : Install Buckminster + retrieve the material required to launch the build (import the Papyrus plug-ins and all the dependencies) -<li>do.nothing : to re-use the results from the previous build -</ul> - - - site.p2 - provision - do.nothing - - - - - SITE_PACK200 - Pack the result jars in order to gain size and bandwidth for the eclipse download servers - true - - - JAVA_HOME - Which JDK to use for the build. - - - /shared/common/jdk-1.5.0-22.x86_64 - /shared/common/sun-jdk1.6.0_21_x64 - - - - - SIGN_UPDATE_SITE - Sign the update site (must be selected for all builds except nightlies) - false - - - - - hudson.model.Item.Workspace:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Workspace:nbros - hudson.model.Run.Update:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Run.Update:nbros - hudson.model.Item.Build:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Build:nbros - hudson.model.Item.Read:anonymous - hudson.model.Item.Read:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Read:nbros - hudson.model.Item.ExtendedRead:anonymous - hudson.model.Item.ExtendedRead:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.ExtendedRead:nbros - hudson.model.Item.Configure:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Item.Configure:nbros - hudson.model.Run.Delete:ROLE_MODELING.MDT.PAPYRUS - hudson.model.Run.Delete:nbros - - - - - - - file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/plugins - sourceTree/plugins - infinity - false - - - file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/features - sourceTree/features - infinity - false - - - file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/releng - sourceTree/releng - infinity - false - - - file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/incoming - sourceTree/incoming - infinity - false - - - - - - - - - - hudson-slave1||master - true - false - false - false - false - Java 5 R 22 64bit (SUN) - - - 15 * * * * - - - 43 00 * * 1-6 - - - false - false - - - . sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly/build-before.sh - - - ${BUILD_TARGET} - apache-ant-1.7.1 - ${WORKSPACE}/sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly/build.xml - server.build=true -build.id=$BUILD_TAG -ant.build.javac.target=1.5 -ant.build.javac.source=1.5 -site.signing=$SIGN_UPDATE_SITE -local.repository=${WORKSPACE}/sourceTree -releng.subproject.name=papyrus-trunk-nightly - - - . sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly/build-after.sh - - - - - *.zip - GZIP - false - false - - - chokri.mraidha@cea.fr patrick.tessier@cea.fr mathieu.velten@atos.net vincent.lorenzo@cea.fr remi.schnekenburger@cea.fr camille.letavernier@cea.fr yann.tanguy@cea.fr - false - false - - - - - 60 - true - - - \ No newline at end of file diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/manualPromote.sh b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/manualPromote.sh deleted file mode 100644 index 8f46e2bf2a5..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/manualPromote.sh +++ /dev/null @@ -1,183 +0,0 @@ -#!/bin/bash - -#-------------------------------------------------------------------------------- -# Copyright (c) 2012 CEA LIST. -# -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Nicolas Bros (Mia-Software) -#-------------------------------------------------------------------------------- - -set -o errexit -set -o nounset - -DROPS_DIR=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/downloads/drops -ARCHIVE_DIR=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/drops -ARCHIVE_INDEX=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/index.html -UPDATE_SITES_DIR=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates -ZIP_PREFIX="Papyrus-Update-incubation-" -PROMOTE_FUNCTIONS_SH=/opt/public/modeling/mdt/papyrus/promoteFunctions.sh -ADD_TO_COMPOSITE_SH=/opt/public/modeling/mdt/papyrus/addToComposite.sh - -SVN_DIRECTORIES_TO_TAG[0]="file:///svnroot/modeling/org.eclipse.mdt.papyrus" - -# constants required by promoteFunctions.sh -export ADD_DOWNLOAD_STATS=/opt/public/modeling/mdt/papyrus/addDownloadStats.sh - -# include promote functions -source "$PROMOTE_FUNCTIONS_SH" - -# ============================== USER PARAMETERS ============================== - -echo "-------------------- user parameters --------------------" -mainBuildNumber="" -extrasBuildNumber="" -testsBuildNumber="" -version="" -updateSite="" -sure="" - -echo "mainBuildNumber (the number of the \"papyrus-trunk-nightly\" Hudson build from which to publish the main Papyrus plug-ins): " -while [[ ! "$mainBuildNumber" =~ ^[0-9]+$ || "$mainBuildNumber" < 1 ]]; do - echo -n "? " - read mainBuildNumber -done - -echo "extrasBuildNumber (the number of the \"papyrus-trunk-extra-nightly\" Hudson build from which to publish the extra Papyrus plug-ins, or 0 to not publish): " -while [[ ! "$extrasBuildNumber" =~ ^[0-9]+$ || "$extrasBuildNumber" < 0 ]]; do - echo -n "? " - read extrasBuildNumber -done - -echo "testsBuildNumber (the number of the \"papyrus-trunk-nightly-tests\" Hudson build from which to publish the test results, or 0 to not publish): " -while [[ ! "$testsBuildNumber" =~ ^[0-9]+$ || "$testsBuildNumber" < 0 ]]; do - echo -n "? " - read testsBuildNumber -done - -echo "version (e.g. \"0.9.0\"): " -while [[ ! "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; do - echo -n "? " - read version -done - -echo "updateSite (e.g. \"nightly/juno\", \"milestones/0.9/M5\", \"releases/indigo/0.8.1\") : " -while [[ ! "$updateSite" =~ ^(tmpTest|releases/(indigo|juno|kepler|luna)/[0-9]+\.[0-9]\.[0-9]|milestones/[0-9]+\.[0-9]+/(M[1-7]|RC[1-9]|SR[1-9]_RC[1-9])|nightly/(indigo|juno|kepler|luna))$ ]]; do - echo -n "? " - read updateSite -done - -updateSiteDir="$UPDATE_SITES_DIR/$updateSite" - -deleteUpdateSite="" -if [ -e "$updateSiteDir" ]; then - echo "The update site already exists: $updateSiteDir" - echo "Do you want to delete it (yes|no)?" - while [[ ! "$deleteUpdateSite" =~ ^(yes|no)$ ]]; do - echo -n "? " - read deleteUpdateSite - done - if [ "$deleteUpdateSite" != "yes" ]; then echo "Canceled."; exit 1; fi - rm -rf "$updateSiteDir" -fi - - -echo "Are you sure you want to publish with these parameters (yes|no)?" -while [[ ! "$sure" =~ ^(yes|no)$ ]]; do - echo -n "? " - read sure -done - -if [ "$sure" != "yes" ]; then echo "Canceled."; exit 1; fi - -# from now on, display executed commands -set -x - -dirBefore=$(pwd) -echo "[$DATE] creating working dir" -workingDir=$(mktemp -d) -cd "$workingDir" - -# ============================== PUBLISH MAIN ============================== -nfsURL="/shared/jobs/papyrus-trunk-nightly/builds/$mainBuildNumber/archive/" -hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-trunk-nightly/$mainBuildNumber/artifact/" -zipName="Papyrus-Main.zip" -updateZipPrefix="Papyrus-Update-incubation" -getZip "$zipName" "$nfsURL" "$hudsonURL" - -mkdir -p "$updateSiteDir" - -buildsDir="$DROPS_DIR/$version" -echo "publishing build (version='$version') to the builds directory '$buildsDir'..." -unzip -o "$zipName" -d "$buildsDir" - -foldersInZip=$(unzip -t "$zipName" | egrep "testing: *[^/]*/ +OK" | sed 's%^ *testing: *\([^/]*\)/ *OK$%\1%') -[ $(echo "$foldersInZip" | wc -l) == 1 ] || { echo "one directory expected in zip"; exit 1; } -folderName="$foldersInZip" - -updateSiteZipName=$(basename $(ls -1 "$buildsDir/$folderName/${updateZipPrefix}"*.zip)) -unzip -o "$buildsDir/$folderName/${updateSiteZipName}" -d "$updateSiteDir/main" - -# create the composite update site -cat > "$updateSiteDir/compositeArtifacts.xml" < - - - - - - - - - -EOF - -cat > "$updateSiteDir/compositeContent.xml" < - - - - - - - - - -EOF - -$ADD_DOWNLOAD_STATS "$updateSiteDir/main" "main" - -# ============================== PUBLISH EXTRAS ============================== -if [[ "$extrasBuildNumber" != "0" ]]; then - nfsURL="/shared/jobs/papyrus-trunk-extra-nightly/builds/$extrasBuildNumber/archive/" - hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-trunk-extra-nightly/$extrasBuildNumber/artifact/" - zipName="Papyrus-Extra.zip" - updateZipName="Papyrus-Extra-Update.zip" - getZip "$zipName" "$nfsURL" "$hudsonURL" - # unzips under an "extra" folder under the main build's folder - unzip -o "$zipName" -d "$buildsDir/$folderName" - unzip -o "$buildsDir/$folderName/extra/$updateZipName" -d "$updateSiteDir/extra" - - $ADD_DOWNLOAD_STATS "$updateSiteDir/extra" "extra" -fi - -# ============================== PUBLISH TESTS ============================== -if [[ "$testsBuildNumber" != "0" ]]; then - nfsURL="/shared/jobs/papyrus-trunk-nightly-tests/builds/$testsBuildNumber/archive/" - hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-trunk-nightly-tests/$testsBuildNumber/artifact/" - zipName="Papyrus-TestResults.zip" - getZip "$zipName" "$nfsURL" "$hudsonURL" - # unzips under a "testresults" folder under the main build's folder - unzip -o "$zipName" -d "$buildsDir/$folderName" -fi - - -setAccessRights "$buildsDir/$folderName" -setAccessRights "$updateSiteDir" - -echo "publishing done." diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/manualPromote_0.10.X.sh b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/manualPromote_0.10.X.sh deleted file mode 100644 index 0a8e7b6d598..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/manualPromote_0.10.X.sh +++ /dev/null @@ -1,183 +0,0 @@ -#!/bin/bash - -#-------------------------------------------------------------------------------- -# Copyright (c) 2012 CEA LIST. -# -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Nicolas Bros (Mia-Software) -#-------------------------------------------------------------------------------- - -set -o errexit -set -o nounset - -DROPS_DIR=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/downloads/drops -ARCHIVE_DIR=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/drops -ARCHIVE_INDEX=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/index.html -UPDATE_SITES_DIR=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates -ZIP_PREFIX="Papyrus-Update-incubation-" -PROMOTE_FUNCTIONS_SH=/opt/public/modeling/mdt/papyrus/promoteFunctions.sh -ADD_TO_COMPOSITE_SH=/opt/public/modeling/mdt/papyrus/addToComposite.sh - -SVN_DIRECTORIES_TO_TAG[0]="file:///svnroot/modeling/org.eclipse.mdt.papyrus" - -# constants required by promoteFunctions.sh -export ADD_DOWNLOAD_STATS=/opt/public/modeling/mdt/papyrus/addDownloadStats.sh - -# include promote functions -source "$PROMOTE_FUNCTIONS_SH" - -# ============================== USER PARAMETERS ============================== - -echo "-------------------- user parameters --------------------" -mainBuildNumber="" -extrasBuildNumber="" -testsBuildNumber="" -version="" -updateSite="" -sure="" - -echo "mainBuildNumber (the number of the \"papyrus-0.10-maintenance-nightly\" Hudson build from which to publish the main Papyrus plug-ins): " -while [[ ! "$mainBuildNumber" =~ ^[0-9]+$ || "$mainBuildNumber" < 1 ]]; do - echo -n "? " - read mainBuildNumber -done - -echo "extrasBuildNumber (the number of the \"papyrus-0.10-maintenance-extra-nightly\" Hudson build from which to publish the extra Papyrus plug-ins, or 0 to not publish): " -while [[ ! "$extrasBuildNumber" =~ ^[0-9]+$ || "$extrasBuildNumber" < 0 ]]; do - echo -n "? " - read extrasBuildNumber -done - -echo "testsBuildNumber (the number of the \"papyrus-0.10-maintenance-nightly-tests\" Hudson build from which to publish the test results, or 0 to not publish): " -while [[ ! "$testsBuildNumber" =~ ^[0-9]+$ || "$testsBuildNumber" < 0 ]]; do - echo -n "? " - read testsBuildNumber -done - -echo "version (e.g. \"0.10.0\"): " -while [[ ! "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; do - echo -n "? " - read version -done - -echo "updateSite (e.g. \"nightly/kepler\", \"milestones/0.10/M5\", \"releases/kepler/0.10.1\") : " -while [[ ! "$updateSite" =~ ^(tmpTest|releases/(indigo|juno|kepler|luna)/[0-9]+\.[0-9]\.[0-9]|milestones/[0-9]+\.[0-9]+/(M[1-7]|RC[1-9]|SR[1-9]_RC[1-9])|nightly/(indigo|juno|kepler|luna))$ ]]; do - echo -n "? " - read updateSite -done - -updateSiteDir="$UPDATE_SITES_DIR/$updateSite" - -deleteUpdateSite="" -if [ -e "$updateSiteDir" ]; then - echo "The update site already exists: $updateSiteDir" - echo "Do you want to delete it (yes|no)?" - while [[ ! "$deleteUpdateSite" =~ ^(yes|no)$ ]]; do - echo -n "? " - read deleteUpdateSite - done - if [ "$deleteUpdateSite" != "yes" ]; then echo "Canceled."; exit 1; fi - rm -rf "$updateSiteDir" -fi - - -echo "Are you sure you want to publish with these parameters (yes|no)?" -while [[ ! "$sure" =~ ^(yes|no)$ ]]; do - echo -n "? " - read sure -done - -if [ "$sure" != "yes" ]; then echo "Canceled."; exit 1; fi - -# from now on, display executed commands -set -x - -dirBefore=$(pwd) -echo "[$DATE] creating working dir" -workingDir=$(mktemp -d) -cd "$workingDir" - -# ============================== PUBLISH MAIN ============================== -nfsURL="/shared/jobs/papyrus-0.10-maintenance-nightly/builds/$mainBuildNumber/archive/" -hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-nightly/$mainBuildNumber/artifact/" -zipName="Papyrus-Main.zip" -updateZipPrefix="Papyrus-Update-incubation-" -getZip "$zipName" "$nfsURL" "$hudsonURL" - -mkdir -p "$updateSiteDir" - -buildsDir="$DROPS_DIR/$version" -echo "publishing build (version='$version') to the builds directory '$buildsDir'..." -unzip -o "$zipName" -d "$buildsDir" - -foldersInZip=$(unzip -t "$zipName" | egrep "testing: *[^/]*/ +OK" | sed 's%^ *testing: *\([^/]*\)/ *OK$%\1%') -[ $(echo "$foldersInZip" | wc -l) == 1 ] || { echo "one directory expected in zip"; exit 1; } -folderName="$foldersInZip" - -updateSiteZipName=$(basename $(ls -1 "$buildsDir/$folderName/${updateZipPrefix}"*.zip)) -unzip -o "$buildsDir/$folderName/${updateSiteZipName}" -d "$updateSiteDir/main" - -# create the composite update site -cat > "$updateSiteDir/compositeArtifacts.xml" < - - - - - - - - - -EOF - -cat > "$updateSiteDir/compositeContent.xml" < - - - - - - - - - -EOF - -$ADD_DOWNLOAD_STATS "$updateSiteDir/main" "main" - -# ============================== PUBLISH EXTRAS ============================== -if [[ "$extrasBuildNumber" != "0" ]]; then - nfsURL="/shared/jobs/papyrus-0.10-maintenance-extra-nightly/builds/$extrasBuildNumber/archive/" - hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-extra-nightly/$extrasBuildNumber/artifact/" - zipName="Papyrus-Extra.zip" - updateZipName="Papyrus-Extra-Update.zip" - getZip "$zipName" "$nfsURL" "$hudsonURL" - # unzips under an "extra" folder under the main build's folder - unzip -o "$zipName" -d "$buildsDir/$folderName" - unzip -o "$buildsDir/$folderName/extra/$updateZipName" -d "$updateSiteDir/extra" - - $ADD_DOWNLOAD_STATS "$updateSiteDir/extra" "extra" -fi - -# ============================== PUBLISH TESTS ============================== -if [[ "$testsBuildNumber" != "0" ]]; then - nfsURL="/shared/jobs/papyrus-0.10-maintenance-nightly-tests/builds/$testsBuildNumber/archive/" - hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-nightly-tests/$testsBuildNumber/artifact/" - zipName="Papyrus-TestResults.zip" - getZip "$zipName" "$nfsURL" "$hudsonURL" - # unzips under a "testresults" folder under the main build's folder - unzip -o "$zipName" -d "$buildsDir/$folderName" -fi - - -setAccessRights "$buildsDir/$folderName" -setAccessRights "$updateSiteDir" - -echo "publishing done." diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/manualPromote_0.9.X.sh b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/manualPromote_0.9.X.sh deleted file mode 100644 index 2af3ac95ab6..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/manualPromote_0.9.X.sh +++ /dev/null @@ -1,183 +0,0 @@ -#!/bin/bash - -#-------------------------------------------------------------------------------- -# Copyright (c) 2012 CEA LIST. -# -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Nicolas Bros (Mia-Software) -#-------------------------------------------------------------------------------- - -set -o errexit -set -o nounset - -DROPS_DIR=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/downloads/drops -ARCHIVE_DIR=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/drops -ARCHIVE_INDEX=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/index.html -UPDATE_SITES_DIR=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates -ZIP_PREFIX="Papyrus-Update-incubation" -PROMOTE_FUNCTIONS_SH=/opt/public/modeling/mdt/papyrus/promoteFunctions.sh -ADD_TO_COMPOSITE_SH=/opt/public/modeling/mdt/papyrus/addToComposite.sh - -SVN_DIRECTORIES_TO_TAG[0]="file:///svnroot/modeling/org.eclipse.mdt.papyrus" - -# constants required by promoteFunctions.sh -export ADD_DOWNLOAD_STATS=/opt/public/modeling/mdt/papyrus/addDownloadStats.sh - -# include promote functions -source "$PROMOTE_FUNCTIONS_SH" - -# ============================== USER PARAMETERS ============================== - -echo "-------------------- user parameters --------------------" -mainBuildNumber="" -extrasBuildNumber="" -testsBuildNumber="" -version="" -updateSite="" -sure="" - -echo "mainBuildNumber (the number of the \"papyrus-0.9-maintenance-nightly\" Hudson build from which to publish the main Papyrus plug-ins): " -while [[ ! "$mainBuildNumber" =~ ^[0-9]+$ || "$mainBuildNumber" < 1 ]]; do - echo -n "? " - read mainBuildNumber -done - -echo "extrasBuildNumber (the number of the \"papyrus-0.9-maintenance-extra-nightly\" Hudson build from which to publish the extra Papyrus plug-ins, or 0 to not publish): " -while [[ ! "$extrasBuildNumber" =~ ^[0-9]+$ || "$extrasBuildNumber" < 0 ]]; do - echo -n "? " - read extrasBuildNumber -done - -echo "testsBuildNumber (the number of the \"papyrus-0.9-maintenance-nightly-tests\" Hudson build from which to publish the test results, or 0 to not publish): " -while [[ ! "$testsBuildNumber" =~ ^[0-9]+$ || "$testsBuildNumber" < 0 ]]; do - echo -n "? " - read testsBuildNumber -done - -echo "version (e.g. \"0.9.0\"): " -while [[ ! "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; do - echo -n "? " - read version -done - -echo "updateSite (e.g. \"nightly/juno\", \"milestones/0.9/M5\", \"releases/indigo/0.8.1\") : " -while [[ ! "$updateSite" =~ ^(tmpTest|releases/(indigo|juno|kepler)/[0-9]+\.[0-9]\.[0-9]|milestones/[0-9]+\.[0-9]+/(M[1-7]|RC[1-9]|SR[1-9]_RC[1-9])|nightly/(indigo|juno|kepler))$ ]]; do - echo -n "? " - read updateSite -done - -updateSiteDir="$UPDATE_SITES_DIR/$updateSite" - -deleteUpdateSite="" -if [ -e "$updateSiteDir" ]; then - echo "The update site already exists: $updateSiteDir" - echo "Do you want to delete it (yes|no)?" - while [[ ! "$deleteUpdateSite" =~ ^(yes|no)$ ]]; do - echo -n "? " - read deleteUpdateSite - done - if [ "$deleteUpdateSite" != "yes" ]; then echo "Canceled."; exit 1; fi - rm -rf "$updateSiteDir" -fi - - -echo "Are you sure you want to publish with these parameters (yes|no)?" -while [[ ! "$sure" =~ ^(yes|no)$ ]]; do - echo -n "? " - read sure -done - -if [ "$sure" != "yes" ]; then echo "Canceled."; exit 1; fi - -# from now on, display executed commands -set -x - -dirBefore=$(pwd) -echo "[$DATE] creating working dir" -workingDir=$(mktemp -d) -cd "$workingDir" - -# ============================== PUBLISH MAIN ============================== -nfsURL="/shared/jobs/papyrus-0.9-maintenance-nightly/builds/$mainBuildNumber/archive/" -hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.9-maintenance-nightly/$mainBuildNumber/artifact/" -zipName="Papyrus-Main.zip" -updateZipPrefix="Papyrus-Update-incubation" -getZip "$zipName" "$nfsURL" "$hudsonURL" - -mkdir -p "$updateSiteDir" - -buildsDir="$DROPS_DIR/$version" -echo "publishing build (version='$version') to the builds directory '$buildsDir'..." -unzip -o "$zipName" -d "$buildsDir" - -foldersInZip=$(unzip -t "$zipName" | egrep "testing: *[^/]*/ +OK" | sed 's%^ *testing: *\([^/]*\)/ *OK$%\1%') -[ $(echo "$foldersInZip" | wc -l) == 1 ] || { echo "one directory expected in zip"; exit 1; } -folderName="$foldersInZip" - -updateSiteZipName=$(basename $(ls -1 "$buildsDir/$folderName/${updateZipPrefix}"*.zip)) -unzip -o "$buildsDir/$folderName/${updateSiteZipName}" -d "$updateSiteDir/main" - -# create the composite update site -cat > "$updateSiteDir/compositeArtifacts.xml" < - - - - - - - - - -EOF - -cat > "$updateSiteDir/compositeContent.xml" < - - - - - - - - - -EOF - -$ADD_DOWNLOAD_STATS "$updateSiteDir/main" "main" - -# ============================== PUBLISH EXTRAS ============================== -if [[ "$extrasBuildNumber" != "0" ]]; then - nfsURL="/shared/jobs/papyrus-0.9-maintenance-extra-nightly/builds/$extrasBuildNumber/archive/" - hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.9-maintenance-extra-nightly/$extrasBuildNumber/artifact/" - zipName="Papyrus-Extra.zip" - updateZipName="Papyrus-Extra-Update.zip" - getZip "$zipName" "$nfsURL" "$hudsonURL" - # unzips under an "extra" folder under the main build's folder - unzip -o "$zipName" -d "$buildsDir/$folderName" - unzip -o "$buildsDir/$folderName/extra/$updateZipName" -d "$updateSiteDir/extra" - - $ADD_DOWNLOAD_STATS "$updateSiteDir/extra" "extra" -fi - -# ============================== PUBLISH TESTS ============================== -if [[ "$testsBuildNumber" != "0" ]]; then - nfsURL="/shared/jobs/papyrus-0.9-maintenance-nightly-tests/builds/$testsBuildNumber/archive/" - hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.9-maintenance-nightly-tests/$testsBuildNumber/artifact/" - zipName="Papyrus-TestResults.zip" - getZip "$zipName" "$nfsURL" "$hudsonURL" - # unzips under a "testresults" folder under the main build's folder - unzip -o "$zipName" -d "$buildsDir/$folderName" -fi - - -setAccessRights "$buildsDir/$folderName" -setAccessRights "$updateSiteDir" - -echo "publishing done." diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/promoteFunctions.sh b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/promoteFunctions.sh deleted file mode 100644 index d59bad9846f..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/promoteFunctions.sh +++ /dev/null @@ -1,175 +0,0 @@ -#!/bin/bash -x - -#-------------------------------------------------------------------------------- -# Copyright (c) 2012 CEA LIST. -# -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Nicolas Bros (Mia-Software) -#-------------------------------------------------------------------------------- - -set -o errexit -set -o nounset - -DATE=$(date +%Y%m%d-%H%M) - -function prune() { - NARGS=3 - if [ $# -ne $NARGS ]; then echo "$NARGS arguments expected"; exit 1; fi - _kind=$1 # prefix: N for nightlies, I for integration, ... - _filesPath=$2 - _nBuildsToKeep=$3 - - ls -1 $_filesPath | grep "${_kind}20*" || return 0 - allFiles=$(ls -trd $_filesPath/${_kind}20*) - nFiles=$(ls -1d $_filesPath/${_kind}20* | wc -l) - nToDelete=$((nFiles-_nBuildsToKeep)) - - if [ $nToDelete -gt 0 ]; then - for file in $allFiles; do - rm -rf $file - nToDelete=$((nToDelete-1)) - if [ $nToDelete -le 0 ]; then break; fi - done - fi -} - -function getZip() { - _zipName=$1 - _nfsBaseDir=$2 - _hudsonBaseURL=$3 - - [[ "$_zipName" =~ ^.*?\.zip$ ]] || { echo "incorrect parameter: zipName"; exit 1; } - [[ "$_nfsBaseDir" =~ ^/shared/jobs/.*$ ]] || { echo "incorrect parameter: nfsBaseDir"; exit 1; } - [[ "$_hudsonBaseURL" =~ ^https://hudson\.eclipse\.org/hudson/job/.*$ ]] || { echo "incorrect parameter: hudsonBaseURL"; exit 1; } - - # try with NFS access first, and if that fails, use the Hudson REST API - # see http://wiki.hudson-ci.org/display/HUDSON/Remote+access+API - cp "$_nfsBaseDir/${_zipName}" . || wget --no-check-certificate "$_hudsonBaseURL/${_zipName}" - if [ ! -f "$_zipName" ]; then echo "ERROR: $_zipName (from Hudson) not found"; exit -2; fi - echo "[$DATE] Testing zip integrity" - unzip -t "$_zipName" -} - - -function setAccessRights() { - chmod -R 775 "$1" - chgrp -hR modeling.mdt.papyrus "$1" -} - -function waitUntilJobIsFinished() { - _jobName="$1" # name of the Hudson Job - _timeout="$2" # timeout in seconds - interval=10 - - ((t = ${_timeout})) - - while ((t > 0)); do - # returns "true" or "false", depending on whether the build is currently running - # ignore error code, because Hudson returns garbage once in a while, and we prefer to timeout than to fail immediately in this case - building=$(curl -s -S https://hudson.eclipse.org/hudson/job/${_jobName}/lastBuild/api/xml | xpath "//building/text()" || true) - if [ "$building" == "false" ]; then return 0; fi - sleep $interval - ((t -= interval)) - done - - return 1 -} - -function promote() { - NARGS=10 - if [ $# -ne $NARGS ]; then echo "promote expects exactly $NARGS arguments"; exit 1; fi - _zipName=$1 - _version=$2 - _nfsBaseDir=$3 - _hudsonBaseURL=$4 - _dropsDir=$5 - _archiveDir=$6 - _archiveIndex=$7 - _updateSite=$8 - _updateZipPrefix=$9 - _branchToTag=${10} - - dirBefore=$(pwd) - - [[ "$_zipName" =~ ^.*?\.zip$ ]] || { echo "incorrect parameter: zipName"; exit 1; } - [[ "$_nfsBaseDir" =~ ^/shared/jobs/.*$ ]] || { echo "incorrect parameter: nfsBaseDir"; exit 1; } - [[ "$_hudsonBaseURL" =~ ^https://hudson\.eclipse\.org/hudson/job/.*$ ]] || { echo "incorrect parameter: hudsonBaseURL"; exit 1; } - [[ "$_version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || { echo "incorrect parameter: version"; exit 1; } - [[ "$_dropsDir" =~ ^/home/data/httpd/download\.eclipse\.org/.*$ ]] || { echo "incorrect parameter: dropsDir"; exit 1; } - [[ "$_archiveDir" =~ ^/home/data/httpd/archive\.eclipse\.org/.*$ ]] || { echo "incorrect parameter: archiveDir"; exit 1; } - [[ "$_archiveIndex" =~ ^/home/data/httpd/archive\.eclipse\.org/.*?/index\.html$ ]] || { echo "incorrect parameter: archiveIndex"; exit 1; } - [[ "$_updateSite" =~ ^/home/data/httpd/download\.eclipse\.org/.*$ ]] || { echo "incorrect parameter: updateSite"; exit 1; } - [ -n "$_updateZipPrefix" ] || { echo "empty parameter: updateZipPrefix"; exit 1; } - [[ "$_branchToTag" =~ ^trunk|branches/[0-9]+_[0-9]+|NA$ ]] || { echo "incorrect parameter: branchToTag"; exit 1; } - for (( i = 0 ; i < ${#SVN_DIRECTORIES_TO_TAG[*]} ; i++ )); do - [[ "${SVN_DIRECTORIES_TO_TAG[$i]}" =~ ^file:///svnroot/.*$ ]] || { echo "incorrect variable: SVN_DIRECTORIES_TO_TAG"; exit 1; } - done - - echo "[$DATE] creating working dir" - workingDir=$(mktemp -d) - cd "$workingDir" - - echo "[$DATE] getting last successful build" - getZip "$_zipName" "$_nfsBaseDir" "$_hudsonBaseURL" - - buildsDir="$_dropsDir/$_version" - echo "[$DATE] publishing build (version='$_version') to the builds directory '$buildsDir'..." - unzip -o "$_zipName" -d "$buildsDir" - - echo "[$DATE] publishing build (version='$_version') to the update site '$_updateSite'..." - [ -d "$_updateSite" ] && { echo "Error: update site directory already exists"; exit 1; } - # extract the zip in which there is the update site zip to a tmp dir - tmpDrop=$(mktemp -d) - unzip "$_zipName" -d "$tmpDrop" - dirNameInZip=$(ls -1 "$tmpDrop") - [ $(echo "$dirNameInZip" | wc -l) == 1 ] || { echo "one directory expected in zip"; exit 1; } - updateSiteZipName=$(basename $(ls -1 "$tmpDrop/$dirNameInZip/${_updateZipPrefix}"*.zip)) - unzip -o "$tmpDrop/$dirNameInZip/${updateSiteZipName}" -d "$_updateSite" - - # commented out because we don't need statistics for nightlies - #echo "[$DATE] enabling download statistics" - #$ADD_DOWNLOAD_STATS "$_updateSite" - - echo "[$DATE] setting access rights" - #buildFolder="$buildsDir"/${_zipName/%\.zip/} - foldersInZip=$(unzip -t "$_zipName" | egrep "testing: *[^/]*/ +OK" | sed 's%^ *testing: *\([^/]*\)/ *OK$%\1%') - [ $(echo "$foldersInZip" | wc -l) == 1 ] || { echo "one directory expected in zip"; exit 1; } - buildFolder="$buildsDir/$foldersInZip" - setAccessRights "$buildFolder" - setAccessRights "$_updateSite" - - # copy milestone and release builds to the archive, and tag the build - if [[ "$_zipName" =~ ^[MSR].*$ && "${_branchToTag}" != "NA" ]]; then - echo "copying the build to the archive" - unzip "$_zipName" -d "${_archiveDir}/${_version}" - cp "${_archiveIndex}" "${_archiveIndex}.bak" - # Papyrus-Update-0.9.0M4.zip -> 0.9.0M4 - buildAlias=$(echo $updateSiteZipName | sed 's/^.*-\(.*\)\.zip/\1/g') - #
  • 0.9.0M4 - echo "adding reference to ${buildAlias} in the archive's index.html" - sed 's%%
  • '${buildAlias}'<\/a>\n%' "${_archiveIndex}.bak" > "${_archiveIndex}" - - echo "tagging the build" - # "S201112140456.zip" and "0.9.0M4" => S0_9_0M4 - tagName=$(echo "$buildAlias") - revisionToTag=$(cat "$tmpDrop/$dirNameInZip/revision.txt") - - for (( i = 0 ; i < ${#SVN_DIRECTORIES_TO_TAG[*]} ; i++ )); do - fromSvnDir="${SVN_DIRECTORIES_TO_TAG[$i]}/${_branchToTag}" - toSvnDir="${SVN_DIRECTORIES_TO_TAG[$i]}/tags/$tagName" - echo "tagging: copying revision '$revisionToTag' from ${_branchToTag} of '$fromSvnDir' to '$toSvnDir'" - svn copy -r "$revisionToTag" "$fromSvnDir" "$toSvnDir" -m "tagging $tagName with revision $revisionToTag from ${_branchToTag}" - done - fi - - cd ${dirBefore} - echo "[$DATE] deleting working dir" - rm -rf "$workingDir" - rm -rf "$tmpDrop" -} \ No newline at end of file diff --git a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/updateServerSideScripts.sh b/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/updateServerSideScripts.sh deleted file mode 100644 index ea5de711c02..00000000000 --- a/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig/updateServerSideScripts.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -#-------------------------------------------------------------------------------- -# Copyright (c) 2012 CEA LIST. -# -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Nicolas Bros (Mia-Software) -#-------------------------------------------------------------------------------- - -SCRIPTS_LOC=/opt/public/modeling/mdt/papyrus -SVN_LOC="file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig" - -cd "$SCRIPTS_LOC" - -scripts=" -addDownloadStats-extra.xsl -addDownloadStats-main.xsl -addDownloadStats.sh -addToComposite.sh -addToComposite.xsl -cronPromote.sh -cronPromoteMonitor.sh -manualPromote.sh -promoteFunctions.sh -" - -for i in $scripts; do - svn export "$SVN_LOC/$i" - chmod +x "$i" -done diff --git a/releng/rcp/org.eclipse.papyrus.rcp.feature/.project b/releng/rcp/org.eclipse.papyrus.rcp.feature/.project deleted file mode 100644 index 3ceac2f77b2..00000000000 --- a/releng/rcp/org.eclipse.papyrus.rcp.feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.papyrus.rcp.feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/releng/rcp/org.eclipse.papyrus.rcp.feature/.settings/org.eclipse.m2e.core.prefs b/releng/rcp/org.eclipse.papyrus.rcp.feature/.settings/org.eclipse.m2e.core.prefs deleted file mode 100644 index f897a7f1cb2..00000000000 --- a/releng/rcp/org.eclipse.papyrus.rcp.feature/.settings/org.eclipse.m2e.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 diff --git a/releng/rcp/org.eclipse.papyrus.rcp.feature/build.properties b/releng/rcp/org.eclipse.papyrus.rcp.feature/build.properties old mode 100644 new mode 100755 index e11b8a96f0f..a4bee2949c0 --- a/releng/rcp/org.eclipse.papyrus.rcp.feature/build.properties +++ b/releng/rcp/org.eclipse.papyrus.rcp.feature/build.properties @@ -1,7 +1,3 @@ bin.includes = feature.xml,\ feature.properties,\ - license.html -#root.win32.win32.x86 = win32 -#root.win32.win32.x86_64 = win64 -#root.linux.gtk.x86 = linux32 -#root.linux.gtk.x86_64 = linux64 \ No newline at end of file + license.html \ No newline at end of file diff --git a/releng/rcp/org.eclipse.papyrus.rcp.feature/feature.properties b/releng/rcp/org.eclipse.papyrus.rcp.feature/feature.properties old mode 100644 new mode 100755 diff --git a/releng/rcp/org.eclipse.papyrus.rcp.feature/feature.xml b/releng/rcp/org.eclipse.papyrus.rcp.feature/feature.xml old mode 100644 new mode 100755 index 1ce8d4a8c48..36e344c56db --- a/releng/rcp/org.eclipse.papyrus.rcp.feature/feature.xml +++ b/releng/rcp/org.eclipse.papyrus.rcp.feature/feature.xml @@ -33,6 +33,7 @@ http://www.eclipse.org/legal/epl-v10.html + @@ -40,7 +41,6 @@ http://www.eclipse.org/legal/epl-v10.html - @@ -61,13 +61,23 @@ http://www.eclipse.org/legal/epl-v10.html - - + + + + + + + + + + + + - + 4.0.0 - org.eclipse.papyrus.rcp.master + org.eclipse.papyrus org.eclipse.papyrus 1.0.0-SNAPSHOT - ../org.eclipse.papyrus.rcp.master + ../../top-pom-rcp.xml - org.eclipse.papyrus.features + org.eclipse.papyrus org.eclipse.papyrus.rcp.feature 1.0.0-SNAPSHOT eclipse-feature diff --git a/releng/rcp/org.eclipse.papyrus.rcp.master/.project b/releng/rcp/org.eclipse.papyrus.rcp.master/.project deleted file mode 100644 index 7cc3cdc1a8b..00000000000 --- a/releng/rcp/org.eclipse.papyrus.rcp.master/.project +++ /dev/null @@ -1,11 +0,0 @@ - - - org.eclipse.papyrus.rcp.master - - - - - - - - diff --git a/releng/rcp/org.eclipse.papyrus.rcp.master/.settings/org.eclipse.ltk.core.refactoring.prefs b/releng/rcp/org.eclipse.papyrus.rcp.master/.settings/org.eclipse.ltk.core.refactoring.prefs deleted file mode 100644 index b196c64a341..00000000000 --- a/releng/rcp/org.eclipse.papyrus.rcp.master/.settings/org.eclipse.ltk.core.refactoring.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/releng/rcp/org.eclipse.papyrus.rcp.master/.settings/org.eclipse.m2e.core.prefs b/releng/rcp/org.eclipse.papyrus.rcp.master/.settings/org.eclipse.m2e.core.prefs deleted file mode 100644 index f897a7f1cb2..00000000000 --- a/releng/rcp/org.eclipse.papyrus.rcp.master/.settings/org.eclipse.m2e.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 diff --git a/releng/rcp/org.eclipse.papyrus.rcp.master/.settings/org.eclipse.ocl.modelregistry b/releng/rcp/org.eclipse.papyrus.rcp.master/.settings/org.eclipse.ocl.modelregistry deleted file mode 100644 index 2fb76f2a8e8..00000000000 --- a/releng/rcp/org.eclipse.papyrus.rcp.master/.settings/org.eclipse.ocl.modelregistry +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/releng/rcp/org.eclipse.papyrus.rcp.master/pom.xml b/releng/rcp/org.eclipse.papyrus.rcp.master/pom.xml deleted file mode 100644 index 94b2523b4d2..00000000000 --- a/releng/rcp/org.eclipse.papyrus.rcp.master/pom.xml +++ /dev/null @@ -1,125 +0,0 @@ - - - 4.0.0 - org.eclipse.papyrus - org.eclipse.papyrus.rcp.master - 1.0.0-SNAPSHOT - pom - - - - 3.0 - - - - - 0.19.0 - - - - - Luna - p2 - http://download.eclipse.org/releases/luna - - - papyrus-main - p2 - ${papyrus.repo.main} - - - papyrus-extras - p2 - ${papyrus.repo.extras} - - - cdo-dawn - p2 - http://download.eclipse.org/modeling/emf/cdo/drops/S20140129-1205 - - - uml-5 - p2 - http://download.eclipse.org/modeling/mdt/uml2/updates/5.0-I-builds/I201403011958 - - - eclipse-update - p2 - http://download.eclipse.org/eclipse/updates/4.4 - - - - - - - org.eclipse.tycho - tycho-maven-plugin - ${tycho-version} - true - - - org.eclipse.tycho - tycho-versions-plugin - ${tycho-version} - - - org.eclipse.tycho - target-platform-configuration - ${tycho-version} - - - - linux - gtk - x86_64 - - - linux - gtk - x86 - - - win32 - win32 - x86_64 - - - win32 - win32 - x86 - - - - - - - org.eclipse.tycho - tycho-source-plugin - ${tycho-version} - - - plugin-source - - plugin-source - - - - - - org.apache.maven.plugins - maven-resources-plugin - 2.5 - - UTF-8 - - - - - - ../org.eclipse.papyrus.rcp - ../org.eclipse.papyrus.rcp.feature - ../org.eclipse.papyrus.rcp.product - - diff --git a/releng/rcp/org.eclipse.papyrus.rcp.product/.project b/releng/rcp/org.eclipse.papyrus.rcp.product/.project deleted file mode 100644 index 996f921eba3..00000000000 --- a/releng/rcp/org.eclipse.papyrus.rcp.product/.project +++ /dev/null @@ -1,11 +0,0 @@ - - - org.eclipse.papyrus.rcp.product - - - - - - - - diff --git a/releng/rcp/org.eclipse.papyrus.rcp.product/.settings/org.eclipse.m2e.core.prefs b/releng/rcp/org.eclipse.papyrus.rcp.product/.settings/org.eclipse.m2e.core.prefs deleted file mode 100644 index f897a7f1cb2..00000000000 --- a/releng/rcp/org.eclipse.papyrus.rcp.product/.settings/org.eclipse.m2e.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 diff --git a/releng/rcp/org.eclipse.papyrus.rcp.product/pom.xml b/releng/rcp/org.eclipse.papyrus.rcp.product/pom.xml index f7eace2a76c..bc3dfdd91c1 100644 --- a/releng/rcp/org.eclipse.papyrus.rcp.product/pom.xml +++ b/releng/rcp/org.eclipse.papyrus.rcp.product/pom.xml @@ -1,18 +1,19 @@ - + + 4.0.0 - org.eclipse.papyrus.rcp.product - eclipse-repository + org.eclipse.papyrus org.eclipse.papyrus - org.eclipse.papyrus.rcp.master 1.0.0-SNAPSHOT - ../org.eclipse.papyrus.rcp.master + ../../top-pom-rcp.xml + org.eclipse.papyrus + org.eclipse.papyrus.rcp.product + 1.0.0-SNAPSHOT + eclipse-repository org.eclipse.papyrus.rcp.product - 1.0.0-SNAPSHOT @@ -58,5 +59,4 @@ - \ No newline at end of file diff --git a/releng/rcp/org.eclipse.papyrus.rcp/.project b/releng/rcp/org.eclipse.papyrus.rcp/.project deleted file mode 100644 index 5a657096653..00000000000 --- a/releng/rcp/org.eclipse.papyrus.rcp/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.eclipse.papyrus.rcp - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/releng/rcp/org.eclipse.papyrus.rcp/.settings/org.eclipse.jdt.core.prefs b/releng/rcp/org.eclipse.papyrus.rcp/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index af0f20f97a5..00000000000 --- a/releng/rcp/org.eclipse.papyrus.rcp/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,7 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 -org.eclipse.jdt.core.compiler.compliance=1.5 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.5 diff --git a/releng/rcp/org.eclipse.papyrus.rcp/.settings/org.eclipse.m2e.core.prefs b/releng/rcp/org.eclipse.papyrus.rcp/.settings/org.eclipse.m2e.core.prefs deleted file mode 100644 index f897a7f1cb2..00000000000 --- a/releng/rcp/org.eclipse.papyrus.rcp/.settings/org.eclipse.m2e.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 diff --git a/releng/rcp/org.eclipse.papyrus.rcp/pom.xml b/releng/rcp/org.eclipse.papyrus.rcp/pom.xml old mode 100644 new mode 100755 index de5a5b12f8a..c50e5831a4f --- a/releng/rcp/org.eclipse.papyrus.rcp/pom.xml +++ b/releng/rcp/org.eclipse.papyrus.rcp/pom.xml @@ -1,14 +1,14 @@ - - 4.0.0 - - org.eclipse.papyrus.rcp.master - org.eclipse.papyrus - 1.0.0-SNAPSHOT - ../org.eclipse.papyrus.rcp.master - - org.eclipse.papyrus.rcp - 1.0.0-SNAPSHOT - eclipse-plugin + + 4.0.0 + + org.eclipse.papyrus + org.eclipse.papyrus + 1.0.0-SNAPSHOT + ../../top-pom-rcp.xml + + org.eclipse.papyrus + org.eclipse.papyrus.rcp + 1.0.0-SNAPSHOT + eclipse-plugin diff --git a/releng/toolkit/cleaner.py b/releng/toolkit/cleaner.py new file mode 100755 index 00000000000..0b6be0a45eb --- /dev/null +++ b/releng/toolkit/cleaner.py @@ -0,0 +1,120 @@ +################################################################################ +# Copyright (c) 2013 CEA LIST. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation +# +################################################################################ + +import os # File handling +import os.path # File path handling +import re # Regular expressions +import shutil # File handling +import sys # System +import subprocess # Process handling +import xml.dom.minidom # Minimal XML + +import console # Console pretty printing +import eclipse # Eclipse API +import xmlutils # XML utilities + + +# Print how to use this script +def printUsage(): + print("Usage:") + print(" python cleaner.py [-h | --help] [--color] ") + print(" is the list of files and directories to clean") + print("Options:") + print(" -h, --help: print this screen") + print(" --color: activate console color") + + +# Cleanup the given bundle +def cleanup(bundle): + cleanupClasspath(bundle) + cleanupBuildProperties(bundle) + +# Cleanup the bundle's class path +def cleanupClasspath(bundle): + subs = os.listdir(bundle.location) + if not ".classpath" in subs: + return + doc = xml.dom.minidom.parse(os.path.join(bundle.location, ".classpath")) + dirty = False + for entry in doc.getElementsByTagName("classpathentry"): + data = entry.getAttribute("excluding") + folder = entry.getAttribute("path") + if data is not None and len(data)>0: + files = data.split("|") + for file in files: + if file is not None and len(file)>0: + dirty = True + full = os.path.join(bundle.location, os.path.join(folder, os.path.join(file))) + print("Found " + full) + if full.endswith("/"): + subprocess.call(["git", "rm", "-r", full]) + else: + subprocess.call(["git", "rm", full]) + entry.parentNode.removeChild(entry) + if dirty: + xmlutils.output(doc, os.path.join(bundle.location, ".classpath")) + console.log("Bundle " + bundle.name + " => Fixed .classpath to remove excluded sources") + +# Cleanup the bundle's build properties +def cleanupBuildProperties(bundle): + subs = os.listdir(bundle.location) + if not "build.properties" in subs: + return + properties = open(os.path.join(bundle.location, "build.properties"), "r") + found = False + for line in properties: + if line.find("src.includes") != -1: + found = True + break + properties.close() + if not found: + if not "about.html" in subs: + shutil.copy("about.html", os.path.join(bundle.location, "about.html")) + properties = open(os.path.join(bundle.location, "build.properties"), "a") + properties.write("src.includes = about.html\n") + properties.close() + console.log("Bundle " + bundle.name + " => Fixed build.properties to add src.includes") + +# Execute the cleanup +def execute(targets): + # Build the repo + repo = eclipse.Repository() + for target in targets: + repo.load(target) + # Do the cleanup + for name in repo.plugins: + cleanup(repo.plugins[name]) + for name in repo.features: + cleanup(repo.features[name]) + +# Main script +if __name__=="__main__": + # Checks the arguments + nb = len(sys.argv) + if nb <= 1: + printUsage() + sys.exit(1) + + targets = [] + # Parse the arguments + for arg in sys.argv[1:]: + if arg == "-h" or arg == "--help": + printUsage() + sys.exit(0) + elif arg == console.CLI_COLOR: + console.USE_COLOR = True + else: + targets.append(arg) + # Execute + code = execute(targets) + sys.exit(code) \ No newline at end of file diff --git a/releng/toolkit/console.py b/releng/toolkit/console.py new file mode 100755 index 00000000000..9739fa3032f --- /dev/null +++ b/releng/toolkit/console.py @@ -0,0 +1,51 @@ +################################################################################ +# Copyright (c) 2014 CEA LIST. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation +# +################################################################################ + +# Log levels +LEVELS={ + "DEBUG":0, + "INFO":0, + "WARNING":93, + "ERROR":91 +} + +# Color codes for the console colors +COLORS={ + "ENDC":0, # RESET COLOR + "GREY70":97, + "RED":91, + "YELLOW":93, + "BLUE":94, + "PURPLE":95, + "GREEN":92, +} + +# Activate/Deactivate the use of console colors +USE_COLOR=False +# Command line option to activate colors +CLI_COLOR="--color" + +# Logs the given message at the given level +def log(message, level="INFO"): + print(__getFormatted(message, level)) + +# Gets the formatted string for the given message and level +def __getFormatted(message, level): + if USE_COLOR and LEVELS[level] > 0: + return __termcode(LEVELS[level]) + "[" + level + "] " + message + __termcode(0) + else: + return "[" + level + "] " + message + +# Gets the string for the given console color +def __termcode(num): + return "\033[%sm"%num \ No newline at end of file diff --git a/releng/toolkit/eclipse.py b/releng/toolkit/eclipse.py new file mode 100755 index 00000000000..0e5180ddec1 --- /dev/null +++ b/releng/toolkit/eclipse.py @@ -0,0 +1,134 @@ +################################################################################ +# Copyright (c) 2014 CEA LIST. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation +# +################################################################################ + +# This script provides an API to load and manipulate +# Eclipse plugins and features in a code repository + +import os # File handling +import os.path # File path handling +import re # Regular expressions +import xml.dom.minidom # Minimal XML + +# Represents an Eclipse bundle +class Bundle: + # Constructor + def __init__(self, location): + # The name as the last element of the path (folder name) + self.name = os.path.basename(location) + # The folder + self.location = location + + +# Represents an Eclipse plugin +class Plugin(Bundle): + def __init__(self, location): + Bundle.__init__(self, location) + # Initializes the list of dependencies + self.dependencies=[] + # Initializes the manifest data + self.properties={} + # Load the data from manifest + manifest = open(os.path.join(os.path.join(location, "META-INF"), "MANIFEST.MF"), "r") + onDep = False + for line in manifest: + if line.startswith("Require-Bundle:") or onDep: + m = re.search("[a-zA-Z_][a-zA-Z_0-9]+(\\.[a-zA-Z_][a-zA-Z_0-9]+)+", line) + dep = m.group(0) + self.dependencies.append(dep) + onDep = line.endswith(",") + elif line.startswith("Bundle-"): + m = re.match("Bundle-(\\w+): (.*)", line) + self.properties[m.group(1)] = m.group(2) + manifest.close() + + +# Represents an Eclipse feature +class Feature(Bundle): + def __init__(self, location): + Bundle. __init__(self, location) + # Initializes the list of the included features + self.included=[] + # Initializes the list of the plugins + self.plugins=[] + # Load the content + doc = xml.dom.minidom.parse(os.path.join(location, "feature.xml")) + for node in doc.getElementsByTagName("plugin"): + id = node.getAttribute("id") + self.plugins.append(id) + for node in doc.getElementsByTagName("includes"): + id = node.getAttribute("id") + self.included.append(id) + + +# Represents a repository of Eclipse plugins and features +class Repository: + def __init__(self): + # Initializes a dictionary of plugins indexed by name + self.plugins={} + # Initializes a dictionary of features indexed by name + self.features={} + + # Recursively load plugins and features in the given directory + def load(self, dir): + subs = os.listdir(dir) + if "META-INF" in subs: + # this is a plugin + plugin = Plugin(dir) + self.plugins[plugin.name] = plugin + return + if "feature.xml" in subs: + # this is a feature + feature = Feature(dir) + self.features[feature.name] = feature + return + for name in subs: + sub = os.path.join(dir, name) + if os.path.isdir(sub): + self.load(sub) + + # Checks the consistency of the repository to check whether + # all required features and plugins are present + # The given pattern is used to determine whether a feature or + # plugin is required ; matching means required + # This method returns the list of the missing features and plugins + def check(self, includePattern, excludePattern): + result=[] + for name in self.features: + if match(name, excludePattern): + continue + feature = self.features[name] + for included in feature.included: + if match(included, excludePattern): + continue + if not included in self.features and match(included, includePattern): + result.append(included) + for plugin in feature.plugins: + if match(plugin, excludePattern): + continue + if not plugin in self.plugins and match(plugin, includePattern): + result.append(plugin) + for name in self.plugins: + if match(name, excludePattern): + continue + plugin = self.plugins[name] + for dep in plugin.dependencies: + if match(dep, excludePattern): + continue + if not dep in self.plugins and match(dep, includePattern): + result.append(dep) + return result + + +def match(value, pattern): + m = re.match(pattern, value) + return (m is not None) \ No newline at end of file diff --git a/releng/toolkit/server/README.txt b/releng/toolkit/server/README.txt new file mode 100644 index 00000000000..71b81544307 --- /dev/null +++ b/releng/toolkit/server/README.txt @@ -0,0 +1 @@ +All these files should be copied into /shared/modeling/mdt/papyrus \ No newline at end of file diff --git a/releng/toolkit/server/addDownloadStats-extra.xsl b/releng/toolkit/server/addDownloadStats-extra.xsl new file mode 100644 index 00000000000..55ab3d4a3c1 --- /dev/null +++ b/releng/toolkit/server/addDownloadStats-extra.xsl @@ -0,0 +1,55 @@ + + + + + + + version='1.1.0' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/releng/toolkit/server/addDownloadStats-main.xsl b/releng/toolkit/server/addDownloadStats-main.xsl new file mode 100644 index 00000000000..eda7ed538d7 --- /dev/null +++ b/releng/toolkit/server/addDownloadStats-main.xsl @@ -0,0 +1,59 @@ + + + + + + + version='1.1.0' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/releng/toolkit/server/addDownloadStats.sh b/releng/toolkit/server/addDownloadStats.sh new file mode 100644 index 00000000000..33d635783be --- /dev/null +++ b/releng/toolkit/server/addDownloadStats.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +#-------------------------------------------------------------------------------- +# Copyright (c) 2012 CEA LIST. +# +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Nicolas Bros (Mia-Software) +#-------------------------------------------------------------------------------- + +if [ $# -ne 2 ]; then +echo "usage: $0 " +exit +fi + +XSLT_FILE=/opt/public/modeling/mdt/papyrus/addDownloadStats-${2}.xsl + +if [ ! -d $1 ] ; then echo "not a directory"; exit 1; fi +if [ ! -f $1/artifacts.jar ] ; then echo "artifacts.jar not found"; exit 1; fi + +echo "Adding download stats to repository" + +cd $1 +unzip artifacts.jar +mv artifacts.xml artifacts.xml.original +if grep p2.statsURI artifacts.xml.original ; then echo "p2.statsURI already defined: exiting"; exit 1; fi + +xsltproc -o artifacts.xml $XSLT_FILE artifacts.xml.original +zip artifacts.jar artifacts.xml +rm artifacts.xml + +echo "done." diff --git a/releng/toolkit/server/addToComposite.sh b/releng/toolkit/server/addToComposite.sh new file mode 100644 index 00000000000..20d014023ee --- /dev/null +++ b/releng/toolkit/server/addToComposite.sh @@ -0,0 +1,46 @@ +#!/bin/bash -x + +#-------------------------------------------------------------------------------- +# Copyright (c) 2012 CEA LIST. +# +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Nicolas Bros (Mia-Software) +#-------------------------------------------------------------------------------- + +set -o errexit +set -o nounset + +XSLT_FILE=/opt/public/modeling/mdt/papyrus/addToComposite.xsl + +[ $# -eq 2 ] || (echo "usage: $0 "; exit 1) +_compositeUpdateSite=$1 +_newChildName=$2 + +newTimeStamp=$(date +%s000) + +[[ "$_compositeUpdateSite" =~ ^/home/data/httpd/download\.eclipse\.org/.*$ ]] || (echo "incorrect parameter: compositeUpdateSite"; exit 1) +[[ "$_newChildName" =~ ^M[1-7]|RC[1-9]|SR[1-9]_RC[1-9]|[0-9]+\.[0-9]\.[0-9]$ ]] || (echo "incorrect parameter: newChildName"; exit 1) + +[ -d "$_compositeUpdateSite" ] || (echo "compositeUpdateSite is not a directory"; exit 1) +[ -f "$_compositeUpdateSite/compositeArtifacts.xml" ] || (echo "compositeArtifacts.xml not found"; exit 1) +[ -f "$_compositeUpdateSite/compositeContent.xml" ] || (echo "compositeContent.xml not found"; exit 1) + +echo "Adding the new child '${_newChildName}' to the composite update site ${_compositeUpdateSite}" + + +cd "${_compositeUpdateSite}" +mv compositeArtifacts.xml compositeArtifacts.xml.bak +mv compositeContent.xml compositeContent.xml.bak + +echo "Updating compositeContent.xml" +xsltproc --stringparam newChild "${_newChildName}" --stringparam newTimestamp ${newTimeStamp} -o compositeContent.xml ${XSLT_FILE} compositeContent.xml.bak +echo "Updating compositeArtifacts.xml" +xsltproc --stringparam newChild "${_newChildName}" --stringparam newTimestamp ${newTimeStamp} -o compositeArtifacts.xml ${XSLT_FILE} compositeArtifacts.xml.bak + +echo "done." diff --git a/releng/toolkit/server/addToComposite.xsl b/releng/toolkit/server/addToComposite.xsl new file mode 100644 index 00000000000..d96dbdf8b88 --- /dev/null +++ b/releng/toolkit/server/addToComposite.xsl @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/releng/toolkit/server/backupHudsonJobs.sh b/releng/toolkit/server/backupHudsonJobs.sh new file mode 100644 index 00000000000..68b61e6575a --- /dev/null +++ b/releng/toolkit/server/backupHudsonJobs.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +#-------------------------------------------------------------------------------- +# Copyright (c) 2012 CEA LIST. +# +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Nicolas Bros (Mia-Software) +#-------------------------------------------------------------------------------- + +loc=$(dirname "$0") +cd "$loc" + +jobs=$(ssh vlorenzo@build.eclipse.org ls -1 /opt/public/jobs | grep papyrus) + +for job in $jobs; do + scp vlorenzo@build.eclipse.org:/opt/public/jobs/${job}/config.xml hudsonJobs/${job}.xml +done diff --git a/releng/toolkit/server/cronPromote.sh b/releng/toolkit/server/cronPromote.sh new file mode 100644 index 00000000000..02f14572a37 --- /dev/null +++ b/releng/toolkit/server/cronPromote.sh @@ -0,0 +1,449 @@ +#!/bin/bash -x + +#-------------------------------------------------------------------------------- +# Copyright (c) 2012 CEA LIST. +# +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Nicolas Bros (Mia-Software) +#-------------------------------------------------------------------------------- + +# This script compares the date of a signal file touched by the hudson build +# with the date of a reference file touched at the end of each promote. +# It then promotes the result of the build. The promote is not done from +# Hudson because it does not have the necessary rights. + +# exit on error +set -o errexit +# error when using an unset variable +set -o nounset + +### TRUNK ### + +LAST_PROMOTE_FILE_TRUNK_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-trunk-nightly/lastPromoteRef +PROMOTE_SIGNAL_TRUNK_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-trunk-nightly/promoteSignal +PROMOTE_VERSION_TRUNK_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-trunk-nightly/promoteVersion + +LAST_PROMOTE_FILE_TRUNK_EXTRA_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-trunk-extra-nightly/lastPromoteRef +PROMOTE_SIGNAL_TRUNK_EXTRA_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-trunk-extra-nightly/promoteSignal +PROMOTE_VERSION_TRUNK_EXTRA_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-trunk-extra-nightly/promoteVersion + +LAST_PROMOTE_FILE_TRUNK_NIGHTLY_TESTS=/opt/public/modeling/mdt/papyrus/papyrus-trunk-nightly-tests/lastPromoteRef +PROMOTE_SIGNAL_TRUNK_NIGHTLY_TESTS=/opt/public/modeling/mdt/papyrus/papyrus-trunk-nightly-tests/promoteSignal +PROMOTE_VERSION_TRUNK_NIGHTLY_TESTS=/opt/public/modeling/mdt/papyrus/papyrus-trunk-nightly-tests/promoteVersion + +### MAINTENANCE 0.10 ### + +LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-nightly/lastPromoteRef +PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-nightly/promoteSignal +PROMOTE_VERSION_0_10_MAINTENANCE_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-nightly/promoteVersion + +LAST_PROMOTE_FILE_0_10_MAINTENANCE_EXTRA_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-extra-nightly/lastPromoteRef +PROMOTE_SIGNAL_0_10_MAINTENANCE_EXTRA_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-extra-nightly/promoteSignal +PROMOTE_VERSION_0_10_MAINTENANCE_EXTRA_NIGHTLY=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-extra-nightly/promoteVersion + +LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY_TESTS=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-nightly-tests/lastPromoteRef +PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY_TESTS=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-nightly-tests/promoteSignal +PROMOTE_VERSION_0_10_MAINTENANCE_NIGHTLY_TESTS=/opt/public/modeling/mdt/papyrus/papyrus-0.10-maintenance-nightly-tests/promoteVersion + +### Update Sites ### + +UPDATES_TRUNK_NIGHTLY=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates/nightly/luna/main +UPDATES_TRUNK_EXTRA_NIGHTLY=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates/nightly/luna/extra +UPDATES_0_10_MAINTENANCE_NIGHTLY=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates/nightly/kepler/main +UPDATES_0_10_MAINTENANCE_EXTRA_NIGHTLY=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates/nightly/kepler/extra + +DROPS_DIR=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/downloads/drops + +ARCHIVE_DIR=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/drops +ARCHIVE_INDEX=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/index.html + +# constants required by promoteFunctions.sh +# export ADD_DOWNLOAD_STATS=/opt/public/modeling/mdt/papyrus/addDownloadStats.sh + +# wait for up to 15 minutes for Hudson to finish (archive the result) +JOB_FINISH_WAIT_TIMEOUT=900 + +# include promote functions +source $(dirname $0)/promoteFunctions.sh + +DATE=$(date +%Y%m%d-%H%M) + +echo "[$DATE] starting cronPromote.sh --------------------------------------------------" + +### TRUNK ### + +if [ ! -e $LAST_PROMOTE_FILE_TRUNK_NIGHTLY ]; then touch $LAST_PROMOTE_FILE_TRUNK_NIGHTLY; fi +if [ ! -e $LAST_PROMOTE_FILE_TRUNK_EXTRA_NIGHTLY ]; then touch $LAST_PROMOTE_FILE_TRUNK_EXTRA_NIGHTLY; fi +if [ ! -e $LAST_PROMOTE_FILE_TRUNK_NIGHTLY_TESTS ]; then touch $LAST_PROMOTE_FILE_TRUNK_NIGHTLY_TESTS; fi + +### MAINTENANCE 0.10 ### + +if [ ! -e $LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY ]; then touch $LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY; fi +if [ ! -e $LAST_PROMOTE_FILE_0_10_MAINTENANCE_EXTRA_NIGHTLY ]; then touch $LAST_PROMOTE_FILE_0_10_MAINTENANCE_EXTRA_NIGHTLY; fi +if [ ! -e $LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY_TESTS ]; then touch $LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY_TESTS; fi + +### + +if [ ! -e $PROMOTE_SIGNAL_TRUNK_NIGHTLY ]; then echo "$DATE: ERROR: $PROMOTE_SIGNAL_TRUNK_NIGHTLY not found"; exit 1; fi +if [ ! -e $PROMOTE_SIGNAL_TRUNK_EXTRA_NIGHTLY ]; then echo "$DATE: ERROR: $PROMOTE_SIGNAL_TRUNK_EXTRA_NIGHTLY not found"; exit 1; fi +if [ ! -e $PROMOTE_SIGNAL_TRUNK_NIGHTLY_TESTS ]; then echo "$DATE: ERROR: $PROMOTE_SIGNAL_TRUNK_NIGHTLY_TESTS not found"; exit 1; fi + +if [ ! -e $PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY ]; then echo "$DATE: ERROR: $PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY not found"; exit 1; fi +if [ ! -e $PROMOTE_SIGNAL_0_10_MAINTENANCE_EXTRA_NIGHTLY ]; then echo "$DATE: ERROR: $PROMOTE_SIGNAL_0_10_MAINTENANCE_EXTRA_NIGHTLY not found"; exit 1; fi +if [ ! -e $PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY_TESTS ]; then echo "$DATE: ERROR: $PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY_TESTS not found"; exit 1; fi + +### + +signalDateTrunkNightly=$(stat --format=%Y $PROMOTE_SIGNAL_TRUNK_NIGHTLY) +signalDateTrunkExtraNightly=$(stat --format=%Y $PROMOTE_SIGNAL_TRUNK_EXTRA_NIGHTLY) +signalDateTrunkNightlyTests=$(stat --format=%Y $PROMOTE_SIGNAL_TRUNK_NIGHTLY_TESTS) + +signalDate10MaintenanceNightly=$(stat --format=%Y $PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY) +signalDate10MaintenanceExtraNightly=$(stat --format=%Y $PROMOTE_SIGNAL_0_10_MAINTENANCE_EXTRA_NIGHTLY) +signalDate10MaintenanceNightlyTests=$(stat --format=%Y $PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY_TESTS) + +### + +lastPromoteDateTrunkNightly=$(stat --format=%Y $LAST_PROMOTE_FILE_TRUNK_NIGHTLY) +lastPromoteDateTrunkExtraNightly=$(stat --format=%Y $LAST_PROMOTE_FILE_TRUNK_EXTRA_NIGHTLY) +lastPromoteDateTrunkNightlyTests=$(stat --format=%Y $LAST_PROMOTE_FILE_TRUNK_NIGHTLY_TESTS) + +lastPromoteDate10MaintenanceNightly=$(stat --format=%Y $LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY) +lastPromoteDate10MaintenanceExtraNightly=$(stat --format=%Y $LAST_PROMOTE_FILE_0_10_MAINTENANCE_EXTRA_NIGHTLY) +lastPromoteDate10MaintenanceNightlyTests=$(stat --format=%Y $LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY_TESTS) + +########## trunk main nightly ########## +if [ $signalDateTrunkNightly -gt $lastPromoteDateTrunkNightly ]; then + # mark the promote as done + touch "$LAST_PROMOTE_FILE_TRUNK_NIGHTLY" + + waitUntilJobIsFinished "papyrus-trunk-nightly" "$JOB_FINISH_WAIT_TIMEOUT" + + # the Hudson job wrote these build name and version to publish + buildName=$(cat "$PROMOTE_SIGNAL_TRUNK_NIGHTLY") + version=$(cat "$PROMOTE_VERSION_TRUNK_NIGHTLY") + zipName="Papyrus-Main.zip" + + echo "[$DATE] deleting previous nightly update site" + rm -rf "$UPDATES_TRUNK_NIGHTLY" + + buildsDir="$DROPS_DIR/$version" + echo "[$DATE] pruning old builds" + prune N "$buildsDir" 2 + + nfsURL="/shared/jobs/papyrus-trunk-nightly/lastSuccessful/archive/" + hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-trunk-nightly/lastSuccessfulBuild/artifact/" + export SVN_DIRECTORIES_TO_TAG=( ) + promote "$zipName" "$version" "$nfsURL" "$hudsonURL" "$DROPS_DIR" "$ARCHIVE_DIR" "$ARCHIVE_INDEX" "$UPDATES_TRUNK_NIGHTLY" "Papyrus-Update-incubation-" "NA" + + echo "[$DATE] promote done" + + # trigger the tests and extras builds by using the Hudson Rest API + # see http://wiki.hudson-ci.org/display/HUDSON/Remote+access+API + + echo "[$DATE] triggering Hudson tests build" + json='{"parameter": [ + {"name": "BUCKMINSTER_LOGLEVEL", "value": "DEBUG"}, + {"name": "CLEAN_TP", "value": "true"}, + {"name": "CLEAN_WORKSPACE", "value": "true"}, + {"name": "CLEAN_OUTPUT", "value": "true"}, + {"name": "CLEAN_TOOLS", "value": "false"}, + {"name": "BUILD_TARGET", "value": "test"}, + {"name": "BUILD_TYPE", "value": "N"} + ], "": ""}' + curl -X POST https://hudson.eclipse.org/hudson/job/papyrus-trunk-nightly-tests/build -d token=token --data-urlencode json="$json" | grep --ignore-case error && exit -1 + + echo "[$DATE] triggering Hudson extras build" + json='{"parameter": [ + {"name": "BUCKMINSTER_LOGLEVEL", "value": "DEBUG"}, + {"name": "CLEAN_TP", "value": "true"}, + {"name": "CLEAN_WORKSPACE", "value": "true"}, + {"name": "CLEAN_OUTPUT", "value": "true"}, + {"name": "CLEAN_TOOLS", "value": "false"}, + {"name": "BUILD_TYPE", "value": "N"}, + {"name": "SITE_PACK200", "value": "true"}, + {"name": "BUILD_TARGET", "value": "site.p2"}, + {"name": "JAVA_HOME", "value": "/shared/common/sun-jdk1.6.0_21_x64"}, + {"name": "SIGN_UPDATE_SITE", "value": "false"} + ], "": ""}' + curl -X POST https://hudson.eclipse.org/hudson/job/papyrus-trunk-extra-nightly/build -d token=token --data-urlencode json="$json" | grep --ignore-case error && exit -1 +fi + +########## trunk main nightly tests ########## +if [ $signalDateTrunkNightlyTests -gt $lastPromoteDateTrunkNightlyTests ]; then + # mark the promote as done + touch "$LAST_PROMOTE_FILE_TRUNK_NIGHTLY_TESTS" + + waitUntilJobIsFinished "papyrus-trunk-nightly-tests" "$JOB_FINISH_WAIT_TIMEOUT" + + dirBefore=$(pwd) + echo "[$DATE] creating working dir" + workingDir=$(mktemp -d) + cd "$workingDir" + + # for the tests build, the build name and version are taken from the last main build since the artifacts + # must go to the same folder, and we want to be able to start several extra jobs after one single main job + + buildName=$(cat "$PROMOTE_SIGNAL_TRUNK_NIGHTLY") + version=$(cat "$PROMOTE_VERSION_TRUNK_NIGHTLY") + zipName="Papyrus-TestResults.zip" + nfsURL="/shared/jobs/papyrus-trunk-nightly-tests/lastSuccessful/archive/" + hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-trunk-nightly-tests/lastSuccessfulBuild/artifact/" + + cp "$nfsURL/${zipName}" . || wget --no-check-certificate "$hudsonURL/${zipName}" + if [ ! -f "$zipName" ]; then echo "ERROR: $zipName (from Hudson) not found"; exit -2; fi + echo "[$DATE] Testing zip integrity" + unzip -t "$zipName" + buildsDir="$DROPS_DIR/$version/$buildName" + echo "[$DATE] publishing build (version='$version') to the builds directory '$buildsDir'..." + unzip -o "$zipName" -d "$buildsDir" + echo "[$DATE] setting access rights" + setAccessRights "$buildsDir" + + echo "[$DATE] promote done" + + cd ${dirBefore} + echo "[$DATE] deleting working dir" + rm -rf "$workingDir" + + # TODO: re-enable when the job is implemented + # echo "[$DATE] triggering Hudson tests build" + # curl https://hudson.eclipse.org/hudson/job/papyrus-trunk-extra-nightly-tests/buildWithParameters?token=token +fi + +########## trunk extras nightly ########## +if [ $signalDateTrunkExtraNightly -gt $lastPromoteDateTrunkExtraNightly ]; then + # mark the promote as done + touch "$LAST_PROMOTE_FILE_TRUNK_EXTRA_NIGHTLY" + + waitUntilJobIsFinished "papyrus-trunk-extra-nightly" "$JOB_FINISH_WAIT_TIMEOUT" + + dirBefore=$(pwd) + echo "[$DATE] creating working dir" + workingDir=$(mktemp -d) + cd "$workingDir" + + # for the extra build, the build name and version are taken from the last main build since the artifacts + # must go to the same folder, and we want to be able to start several extra jobs after one single main job + + buildName=$(cat "$PROMOTE_SIGNAL_TRUNK_NIGHTLY") + version=$(cat "$PROMOTE_VERSION_TRUNK_NIGHTLY") + zipName="Papyrus-Extra.zip" + updateZipName="Papyrus-Extra-Update.zip" + nfsURL="/shared/jobs/papyrus-trunk-extra-nightly/lastSuccessful/archive/" + hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-trunk-extra-nightly/lastSuccessfulBuild/artifact/" + + # publish to existing drops folder + cp "$nfsURL/${zipName}" . || wget --no-check-certificate "$hudsonURL/${zipName}" + if [ ! -f "$zipName" ]; then echo "ERROR: $zipName (from Hudson) not found"; exit -2; fi + echo "[$DATE] Testing zip integrity" + unzip -t "$zipName" + buildsDir="$DROPS_DIR/$version/$buildName" + echo "[$DATE] publishing build (version='$version') to the builds directory '$buildsDir'..." + unzip -o "$zipName" -d "$buildsDir" + + # publish to composite update site + tmpDrop=$(mktemp -d) + unzip "$zipName" -d "$tmpDrop" + dirNameInZip=$(ls -1 "$tmpDrop") + [ $(echo "$dirNameInZip" | wc -l) == 1 ] || { echo "one directory expected in zip"; exit 1; } + rm -rf "$UPDATES_TRUNK_EXTRA_NIGHTLY" + unzip -o "$tmpDrop/$dirNameInZip/${updateZipName}" -d "$UPDATES_TRUNK_EXTRA_NIGHTLY" + + echo "[$DATE] setting access rights" + setAccessRights "$buildsDir" + setAccessRights "$UPDATES_TRUNK_EXTRA_NIGHTLY" + + echo "[$DATE] promote done" + + cd ${dirBefore} + echo "[$DATE] deleting working dir" + rm -rf "$workingDir" + rm -rf "$tmpDrop" + + # trigger the extras tests build by using the Hudson Rest API + # see http://wiki.hudson-ci.org/display/HUDSON/Remote+access+API + + echo "[$DATE] triggering Hudson extras tests build" + json='{"parameter": [ + {"name": "BUCKMINSTER_LOGLEVEL", "value": "DEBUG"}, + {"name": "CLEAN_TP", "value": "true"}, + {"name": "CLEAN_WORKSPACE", "value": "true"}, + {"name": "CLEAN_OUTPUT", "value": "true"}, + {"name": "CLEAN_TOOLS", "value": "false"}, + {"name": "BUILD_TYPE", "value": "N"}, + {"name": "BUILD_TARGET", "value": "test"} + ], "": ""}' + curl -X POST https://hudson.eclipse.org/hudson/job/papyrus-trunk-extra-nightly-tests/build -d token=token --data-urlencode json="$json" | grep --ignore-case error && exit -1 +fi + +########## maintenance main 0.10 nightly ########## +if [ $signalDate10MaintenanceNightly -gt $lastPromoteDate10MaintenanceNightly ]; then + # mark the promote as done + touch "$LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY" + + waitUntilJobIsFinished "papyrus-0.10-maintenance-nightly" "$JOB_FINISH_WAIT_TIMEOUT" + + # the Hudson job wrote these build name and version to publish + buildName=$(cat "$PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY") + version=$(cat "$PROMOTE_VERSION_0_10_MAINTENANCE_NIGHTLY") + zipName="Papyrus-Main.zip" + + echo "[$DATE] deleting previous nightly update site" + rm -rf "$UPDATES_0_10_MAINTENANCE_NIGHTLY" + + buildsDir="$DROPS_DIR/$version" + echo "[$DATE] pruning old builds" + prune N "$buildsDir" 2 + + nfsURL="/shared/jobs/papyrus-0.10-maintenance-nightly/lastSuccessful/archive/" + hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-nightly/lastSuccessfulBuild/artifact/" + export SVN_DIRECTORIES_TO_TAG=( ) + promote "$zipName" "$version" "$nfsURL" "$hudsonURL" "$DROPS_DIR" "$ARCHIVE_DIR" "$ARCHIVE_INDEX" "$UPDATES_0_10_MAINTENANCE_NIGHTLY" "Papyrus-Update-incubation-" "NA" + + echo "[$DATE] promote done" + + # trigger the tests and extras builds by using the Hudson Rest API + # see http://wiki.hudson-ci.org/display/HUDSON/Remote+access+API + + echo "[$DATE] triggering Hudson tests build" + json='{"parameter": [ + {"name": "BUCKMINSTER_LOGLEVEL", "value": "DEBUG"}, + {"name": "CLEAN_TP", "value": "true"}, + {"name": "CLEAN_WORKSPACE", "value": "true"}, + {"name": "CLEAN_OUTPUT", "value": "true"}, + {"name": "CLEAN_TOOLS", "value": "false"}, + {"name": "BUILD_TARGET", "value": "test"}, + {"name": "BUILD_TYPE", "value": "N"} + ], "": ""}' + curl -X POST https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-nightly-tests/build -d token=token --data-urlencode json="$json" | grep --ignore-case error && exit -1 + + echo "[$DATE] triggering Hudson extras build" + json='{"parameter": [ + {"name": "BUCKMINSTER_LOGLEVEL", "value": "DEBUG"}, + {"name": "CLEAN_TP", "value": "true"}, + {"name": "CLEAN_WORKSPACE", "value": "true"}, + {"name": "CLEAN_OUTPUT", "value": "true"}, + {"name": "CLEAN_TOOLS", "value": "false"}, + {"name": "BUILD_TYPE", "value": "N"}, + {"name": "SITE_PACK200", "value": "true"}, + {"name": "BUILD_TARGET", "value": "site.p2"}, + {"name": "JAVA_HOME", "value": "/shared/common/sun-jdk1.6.0_21_x64"}, + {"name": "SIGN_UPDATE_SITE", "value": "false"} + ], "": ""}' + curl -X POST https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-extra-nightly/build -d token=token --data-urlencode json="$json" | grep --ignore-case error && exit -1 +fi + +########## maintenance 0.10 main nightly tests ########## +if [ $signalDate10MaintenanceNightlyTests -gt $lastPromoteDate10MaintenanceNightlyTests ]; then + # mark the promote as done + touch "$LAST_PROMOTE_FILE_0_10_MAINTENANCE_NIGHTLY_TESTS" + + waitUntilJobIsFinished "papyrus-0.10-maintenance-nightly-tests" "$JOB_FINISH_WAIT_TIMEOUT" + + dirBefore=$(pwd) + echo "[$DATE] creating working dir" + workingDir=$(mktemp -d) + cd "$workingDir" + + # for the tests build, the build name and version are taken from the last main build since the artifacts + # must go to the same folder, and we want to be able to start several extra jobs after one single main job + + buildName=$(cat "$PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY") + version=$(cat "$PROMOTE_VERSION_0_10_MAINTENANCE_NIGHTLY") + zipName="Papyrus-TestResults.zip" + nfsURL="/shared/jobs/papyrus-0.10-maintenance-nightly-tests/lastSuccessful/archive/" + hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-nightly-tests/lastSuccessfulBuild/artifact/" + + cp "$nfsURL/${zipName}" . || wget --no-check-certificate "$hudsonURL/${zipName}" + if [ ! -f "$zipName" ]; then echo "ERROR: $zipName (from Hudson) not found"; exit -2; fi + echo "[$DATE] Testing zip integrity" + unzip -t "$zipName" + buildsDir="$DROPS_DIR/$version/$buildName" + echo "[$DATE] publishing build (version='$version') to the builds directory '$buildsDir'..." + unzip -o "$zipName" -d "$buildsDir" + echo "[$DATE] setting access rights" + setAccessRights "$buildsDir" + + echo "[$DATE] promote done" + + cd ${dirBefore} + echo "[$DATE] deleting working dir" + rm -rf "$workingDir" + + # TODO: re-enable when the job is implemented + # echo "[$DATE] triggering Hudson tests build" + # curl https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-extra-nightly-tests/buildWithParameters?token=token +fi + +########## maintenance 0.10 extras nightly ########## +if [ $signalDate10MaintenanceExtraNightly -gt $lastPromoteDate10MaintenanceExtraNightly ]; then + # mark the promote as done + touch "$LAST_PROMOTE_FILE_0_10_MAINTENANCE_EXTRA_NIGHTLY" + + waitUntilJobIsFinished "papyrus-0.10-maintenance-extra-nightly" "$JOB_FINISH_WAIT_TIMEOUT" + + dirBefore=$(pwd) + echo "[$DATE] creating working dir" + workingDir=$(mktemp -d) + cd "$workingDir" + + # for the extra build, the build name and version are taken from the last main build since the artifacts + # must go to the same folder, and we want to be able to start several extra jobs after one single main job + + buildName=$(cat "$PROMOTE_SIGNAL_0_10_MAINTENANCE_NIGHTLY") + version=$(cat "$PROMOTE_VERSION_0_10_MAINTENANCE_NIGHTLY") + zipName="Papyrus-Extra.zip" + updateZipName="Papyrus-Extra-Update.zip" + nfsURL="/shared/jobs/papyrus-0.10-maintenance-extra-nightly/lastSuccessful/archive/" + hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-extra-nightly/lastSuccessfulBuild/artifact/" + + # publish to existing drops folder + cp "$nfsURL/${zipName}" . || wget --no-check-certificate "$hudsonURL/${zipName}" + if [ ! -f "$zipName" ]; then echo "ERROR: $zipName (from Hudson) not found"; exit -2; fi + echo "[$DATE] Testing zip integrity" + unzip -t "$zipName" + buildsDir="$DROPS_DIR/$version/$buildName" + echo "[$DATE] publishing build (version='$version') to the builds directory '$buildsDir'..." + unzip -o "$zipName" -d "$buildsDir" + + # publish to composite update site + tmpDrop=$(mktemp -d) + unzip "$zipName" -d "$tmpDrop" + dirNameInZip=$(ls -1 "$tmpDrop") + [ $(echo "$dirNameInZip" | wc -l) == 1 ] || { echo "one directory expected in zip"; exit 1; } + rm -rf "$UPDATES_0_10_MAINTENANCE_EXTRA_NIGHTLY" + unzip -o "$tmpDrop/$dirNameInZip/${updateZipName}" -d "$UPDATES_0_10_MAINTENANCE_EXTRA_NIGHTLY" + + echo "[$DATE] setting access rights" + setAccessRights "$buildsDir" + setAccessRights "$UPDATES_0_10_MAINTENANCE_EXTRA_NIGHTLY" + + echo "[$DATE] promote done" + + cd ${dirBefore} + echo "[$DATE] deleting working dir" + rm -rf "$workingDir" + rm -rf "$tmpDrop" + + # trigger the extras tests build by using the Hudson Rest API + # see http://wiki.hudson-ci.org/display/HUDSON/Remote+access+API + + echo "[$DATE] triggering Hudson extras tests build" + json='{"parameter": [ + {"name": "BUCKMINSTER_LOGLEVEL", "value": "DEBUG"}, + {"name": "CLEAN_TP", "value": "true"}, + {"name": "CLEAN_WORKSPACE", "value": "true"}, + {"name": "CLEAN_OUTPUT", "value": "true"}, + {"name": "CLEAN_TOOLS", "value": "false"}, + {"name": "BUILD_TYPE", "value": "N"}, + {"name": "BUILD_TARGET", "value": "test"} + ], "": ""}' + curl -X POST https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-extra-nightly-tests/build -d token=token --data-urlencode json="$json" | grep --ignore-case error && exit -1 +fi diff --git a/releng/toolkit/server/cronPromoteMonitor.sh b/releng/toolkit/server/cronPromoteMonitor.sh new file mode 100644 index 00000000000..7ae3f94d7e6 --- /dev/null +++ b/releng/toolkit/server/cronPromoteMonitor.sh @@ -0,0 +1,36 @@ +#!/bin/bash -x + +#-------------------------------------------------------------------------------- +# Copyright (c) 2012 CEA LIST. +# +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Nicolas Bros (Mia-Software) +#-------------------------------------------------------------------------------- + +cronPromoteScript=/opt/public/modeling/mdt/papyrus/cronPromote.sh +logFile=/opt/public/modeling/mdt/papyrus/log-lastCronPromote +mailRecipients="nbros.mia@gmail.com camille.letavernier@cea.fr patrick.tessier@cea.fr vincent.lorenzo@cea.fr Remi.SCHNEKENBURGER@cea.fr" + +bash -x "$cronPromoteScript" 2>&1 | tee "$logFile" +if [ ${PIPESTATUS[0]} != 0 ]; then + echo "promote failed : sending mail" + (echo "This is an automatically generated message sent because the build promotion script 'cronPromote.sh' running on build.eclipse.org failed." && + echo && + echo "Run these commands on build.eclipse.org to retry publishing:" && + echo "--------------------------------------------------------------------------------" && + echo "cd /opt/public/modeling/mdt/papyrus/" && + echo "touch papyrus-trunk-nightly/promoteSignal && ./cronPromote.sh # (replace papyrus-trunk-nightly by the job you want to publish)" && + echo "--------------------------------------------------------------------------------" && + echo && + echo && + echo && + echo && + echo && + cat $logFile) | mail -s "[Papyrus build promotion] build promotion failed" $mailRecipients +fi diff --git a/releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-extra-nightly-tests.xml b/releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-extra-nightly-tests.xml new file mode 100644 index 00000000000..8f77dda72e0 --- /dev/null +++ b/releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-extra-nightly-tests.xml @@ -0,0 +1,33 @@ + + + + + false + mward + 1326211533931 + + + hudson.model.Item.Workspace:vlorenzo + hudson.model.Run.Update:vlorenzo + hudson.model.Item.Delete:vlorenzo + hudson.model.Item.Read:vlorenzo + hudson.model.Item.Build:vlorenzo + hudson.model.Item.Configure:vlorenzo + hudson.model.Run.Delete:vlorenzo + + + + + false + true + false + false + false + (Default) + + false + false + + + + \ No newline at end of file diff --git a/releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-extra-nightly.xml b/releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-extra-nightly.xml new file mode 100644 index 00000000000..fd970cc2f79 --- /dev/null +++ b/releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-extra-nightly.xml @@ -0,0 +1,316 @@ + + + + Nightly build using Buckminster + + 5 + 3 + -1 + -1 + + false + 0 + + + + + PROJECTID + + modeling.mdt.papyrus.extra + + + VERSION + + 0.8.2 + + + REFERENCE_REPOSITORY + + https://hudson.eclipse.org/hudson/job/cbi-papyrus-extra-nightly/lastSuccessfulBuild/artifact/Papyrus.p2.repository/ + + + BUCKMINSTER_LOGLEVEL + + + + INFO + WARNING + ERROR + DEBUG + + + + + CLEAN_OUTPUT + + true + + + CLEAN_TP + + true + + + CLEAN_TOOLS + + false + + + CLEAN_WORKSPACE + + true + + + SITE_PACK200 + + true + + + BUILD_TYPE + + + + N + M + R + S + + + + + BUILD_TARGET + + + + site.p2 + test + + + + + JAVA_HOME + jdk for Papyrus build: +/shared/common/sun-jdk1.6.0_21_x64 for buckminster installation +/shared/common/jdk-1.5.0-22.x86_64 for compilation + /shared/common/jdk-1.5.0-22.x86_64 + + + + + hudson.model.Item.Workspace:ytanguy + hudson.model.Item.Workspace:tfaure + hudson.model.Item.Workspace:ptessier + hudson.model.Item.Workspace:vlorenzo + hudson.model.Item.Workspace:vhemery + hudson.model.Item.Workspace:tlandre + hudson.model.Item.Workspace:eperico + hudson.model.Item.Workspace:mvelten + hudson.model.Item.Workspace:rschnekenbu + hudson.model.Item.Workspace:cdumoulin + hudson.model.Item.Workspace:cmraidha + hudson.model.Item.Workspace:rfaudou + hudson.model.Item.Workspace:tfesenko + hudson.model.Item.Workspace:nbros + hudson.model.Item.Workspace:sgerard + hudson.model.Run.Update:ytanguy + hudson.model.Run.Update:tfaure + hudson.model.Run.Update:ptessier + hudson.model.Run.Update:vlorenzo + hudson.model.Run.Update:vhemery + hudson.model.Run.Update:tlandre + hudson.model.Run.Update:eperico + hudson.model.Run.Update:mvelten + hudson.model.Run.Update:rschnekenbu + hudson.model.Run.Update:cdumoulin + hudson.model.Run.Update:cmraidha + hudson.model.Run.Update:rfaudou + hudson.model.Run.Update:tfesenko + hudson.model.Run.Update:nbros + hudson.model.Run.Update:sgerard + hudson.model.Item.Build:ytanguy + hudson.model.Item.Build:tfaure + hudson.model.Item.Build:ptessier + hudson.model.Item.Build:vlorenzo + hudson.model.Item.Build:vhemery + hudson.model.Item.Build:tlandre + hudson.model.Item.Build:eperico + hudson.model.Item.Build:mvelten + hudson.model.Item.Build:rschnekenbu + hudson.model.Item.Build:cdumoulin + hudson.model.Item.Build:cmraidha + hudson.model.Item.Build:rfaudou + hudson.model.Item.Build:tfesenko + hudson.model.Item.Build:nbros + hudson.model.Item.Build:sgerard + hudson.model.Item.Read:ytanguy + hudson.model.Item.Read:tfaure + hudson.model.Item.Read:ptessier + hudson.model.Item.Read:vlorenzo + hudson.model.Item.Read:vhemery + hudson.model.Item.Read:tlandre + hudson.model.Item.Read:anonymous + hudson.model.Item.Read:eperico + hudson.model.Item.Read:mvelten + hudson.model.Item.Read:rschnekenbu + hudson.model.Item.Read:cdumoulin + hudson.model.Item.Read:cmraidha + hudson.model.Item.Read:rfaudou + hudson.model.Item.Read:tfesenko + hudson.model.Item.Read:nbros + hudson.model.Item.Read:sgerard + hudson.model.Item.ExtendedRead:nbros + hudson.model.Item.Configure:ytanguy + hudson.model.Item.Configure:tfaure + hudson.model.Item.Configure:ptessier + hudson.model.Item.Configure:vlorenzo + hudson.model.Item.Configure:vhemery + hudson.model.Item.Configure:tlandre + hudson.model.Item.Configure:eperico + hudson.model.Item.Configure:mvelten + hudson.model.Item.Configure:rschnekenbu + hudson.model.Item.Configure:cdumoulin + hudson.model.Item.Configure:cmraidha + hudson.model.Item.Configure:rfaudou + hudson.model.Item.Configure:tfesenko + hudson.model.Item.Configure:nbros + hudson.model.Item.Configure:sgerard + hudson.model.Run.Delete:ytanguy + hudson.model.Run.Delete:tfaure + hudson.model.Run.Delete:ptessier + hudson.model.Run.Delete:vlorenzo + hudson.model.Run.Delete:vhemery + hudson.model.Run.Delete:tlandre + hudson.model.Run.Delete:eperico + hudson.model.Run.Delete:mvelten + hudson.model.Run.Delete:rschnekenbu + hudson.model.Run.Delete:cdumoulin + hudson.model.Run.Delete:cmraidha + hudson.model.Run.Delete:rfaudou + hudson.model.Run.Delete:tfesenko + hudson.model.Run.Delete:nbros + hudson.model.Run.Delete:sgerard + + + + + + + http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/branches/0.8.X/releng + infinity + false + + + + + + + + + + 300 + fastlane + false + false + false + false + false + Java 5 R 22 64bit (SUN) + + false + false + + + SVN=/usr/local/bin/svn +promoteDirName=/opt/public/modeling/mdt/papyrus/extra/papyrusExtraBuildPromoteDirNameN + +echo "building in " $WORKSPACE + +echo "cleaning previous results" +rm -f ?20*.zip + +echo "displaying java version" +java -version + +: +COMPACT_BUILD_ID="${BUILD_ID//[-_]}" +COMPACT_BUILD_ID="${COMPACT_BUILD_ID:0:12}" +FULL_BUILD_ID=${BUILD_TYPE}${COMPACT_BUILD_ID} +echo $FULL_BUILD_ID > $promoteDirName +: + + + ${BUILD_TARGET} + apache-ant-1.7.1 + ${WORKSPACE}/releng/org.eclipse.mdt.papyrus.extra.releng.buckminster/build.xml + server.build=true +build.id=$BUILD_TAG +ant.build.javac.target=1.5 +ant.build.javac.source=1.5 + + + rm -rf result/site.p2 +cp -a result/workspace/_temp/org.eclipse.papyrus.extra.build_*-eclipse.feature/site.p2 result + + + #publishing script# +promoteSignal=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-extra-nightly/promoteSignal +promoteVersion=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-extra-nightly/promoteVersion +promoteDirName=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-extra-nightly/promoteDirName + +FULL_BUILD_ID=$(cat /opt/public/modeling/mdt/papyrus/extra/papyrusExtraBuildPromoteDirNameN) + +if [ -n "$BUILD_ALIAS" ]; then + zipName=PapyrusExtra-Update-${BUILD_ALIAS}.zip +else + zipName=PapyrusExtra-Update-${FULL_BUILD_ID}.zip +fi + +rm -rf ${WORKSPACE}/tmp +mkdir -p "${WORKSPACE}/tmp/$FULL_BUILD_ID" + +cd result/site.p2 +zip -r $zipName * +mv $zipName "${WORKSPACE}/tmp/$FULL_BUILD_ID" + +# copy the psf generated file to the tmp dir +cp ${WORKSPACE}/result/*.psf "${WORKSPACE}/tmp/$FULL_BUILD_ID" + +# copy tests results +if [ -e ${WORKSPACE}/result/testresults ]; then + mkdir ${WORKSPACE}/tmp/$FULL_BUILD_ID/testresults + cp -r ${WORKSPACE}/result/testresults/ "${WORKSPACE}/tmp/$FULL_BUILD_ID" +fi + +# Test if build succeeded. If not, then exit with error 1. +# Copy the log, because the commands appear in the grepped log... +wget --quiet --no-check-certificate ${HUDSON_URL}/job/${JOB_NAME}/${BUILD_NUMBER}/consoleText -O "${WORKSPACE}/tmp/$FULL_BUILD_ID/buildlog.txt" + +cd ${WORKSPACE}/tmp +zip -r ${FULL_BUILD_ID}.zip * +cd .. +mv tmp/${FULL_BUILD_ID}.zip ${WORKSPACE} + +echo ${FULL_BUILD_ID} > $promoteSignal +echo $VERSION > $promoteVersion + + + + + *.zip + GZIP + false + false + + + remi.schnekenburger@cea.fr chokri.mraidha@cea.fr mathieu.velten@atos.net + false + false + + + + + 120 + true + + + \ No newline at end of file diff --git a/releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-nightly-tests.xml b/releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-nightly-tests.xml new file mode 100644 index 00000000000..e12cd463800 --- /dev/null +++ b/releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-nightly-tests.xml @@ -0,0 +1,33 @@ + + + + + false + mward + 1326211489794 + + + hudson.model.Item.Workspace:vlorenzo + hudson.model.Run.Update:vlorenzo + hudson.model.Item.Delete:vlorenzo + hudson.model.Item.Read:vlorenzo + hudson.model.Item.Build:vlorenzo + hudson.model.Item.Configure:vlorenzo + hudson.model.Run.Delete:vlorenzo + + + + + false + true + false + false + false + (Default) + + false + false + + + + \ No newline at end of file diff --git a/releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-nightly.xml b/releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-nightly.xml new file mode 100644 index 00000000000..97e2a363746 --- /dev/null +++ b/releng/toolkit/server/hudsonJobs/papyrus-0.8-maintenance-nightly.xml @@ -0,0 +1,382 @@ + + + + Nightly build using Buckminster + + + + + 3 + 3 + -1 + -1 + + false + 0 + + + + + PROJECTID + + modeling.mdt.papyrus + + + VERSION + + 0.8.2 + + + BUCKMINSTER_LOGLEVEL + Logging level of information for buckminster + + + DEBUG + INFO + WARNING + ERROR + + + + + CLEAN_OUTPUT + cleans the output of + true + + + CLEAN_TP + cleans the target platform + true + + + CLEAN_TOOLS + Indicates if the tools folder (buckminster mainly) should be deleted to be installed again + false + + + CLEAN_WORKSPACE + cleans the workspace + true + + + SITE_PACK200 + Pack the result jars in order to gain size and bandwidth for the eclipse download servers + true + + + BUILD_TYPE + Type of the build (Nightly, Maintenance, Release) + + + N + M + R + S + I + + + + + BUILD_TARGET + test : Launch the build of the tool and then the JUnit tests on the result +site.p2 : Launch the build of the tool only - no tests +provision : Gets only the material required to launch the build +promote.sites : Unused + + + site.p2 + test + provision + promote.sites + + + + + JAVA_HOME + /shared/common/sun-jdk1.6.0_21_x64 || /shared/common/jdk-1.5.0-22.x86_64 + /shared/common/jdk-1.5.0-22.x86_64 + + + + + hudson.model.Item.Workspace:ytanguy + hudson.model.Item.Workspace:tfaure + hudson.model.Item.Workspace:ptessier + hudson.model.Item.Workspace:vlorenzo + hudson.model.Item.Workspace:vhemery + hudson.model.Item.Workspace:tlandre + hudson.model.Item.Workspace:anonymous + hudson.model.Item.Workspace:eperico + hudson.model.Item.Workspace:mvelten + hudson.model.Item.Workspace:rschnekenbu + hudson.model.Item.Workspace:cdumoulin + hudson.model.Item.Workspace:cmraidha + hudson.model.Item.Workspace:rfaudou + hudson.model.Item.Workspace:tfesenko + hudson.model.Item.Workspace:nbros + hudson.model.Item.Workspace:cletavernie + hudson.model.Item.Workspace:sgerard + hudson.model.Run.Update:ytanguy + hudson.model.Run.Update:tfaure + hudson.model.Run.Update:ptessier + hudson.model.Run.Update:vlorenzo + hudson.model.Run.Update:vhemery + hudson.model.Run.Update:tlandre + hudson.model.Run.Update:eperico + hudson.model.Run.Update:mvelten + hudson.model.Run.Update:rschnekenbu + hudson.model.Run.Update:cdumoulin + hudson.model.Run.Update:cmraidha + hudson.model.Run.Update:rfaudou + hudson.model.Run.Update:tfesenko + hudson.model.Run.Update:nbros + hudson.model.Run.Update:cletavernie + hudson.model.Run.Update:sgerard + hudson.model.Item.Build:ytanguy + hudson.model.Item.Build:tfaure + hudson.model.Item.Build:ptessier + hudson.model.Item.Build:vlorenzo + hudson.model.Item.Build:vhemery + hudson.model.Item.Build:tlandre + hudson.model.Item.Build:eperico + hudson.model.Item.Build:mvelten + hudson.model.Item.Build:rschnekenbu + hudson.model.Item.Build:cdumoulin + hudson.model.Item.Build:cmraidha + hudson.model.Item.Build:rfaudou + hudson.model.Item.Build:tfesenko + hudson.model.Item.Build:nbros + hudson.model.Item.Build:cletavernie + hudson.model.Item.Build:sgerard + hudson.model.Item.Read:ytanguy + hudson.model.Item.Read:tfaure + hudson.model.Item.Read:ptessier + hudson.model.Item.Read:vlorenzo + hudson.model.Item.Read:vhemery + hudson.model.Item.Read:tlandre + hudson.model.Item.Read:anonymous + hudson.model.Item.Read:eperico + hudson.model.Item.Read:mvelten + hudson.model.Item.Read:rschnekenbu + hudson.model.Item.Read:cdumoulin + hudson.model.Item.Read:cmraidha + hudson.model.Item.Read:rfaudou + hudson.model.Item.Read:tfesenko + hudson.model.Item.Read:nbros + hudson.model.Item.Read:cletavernie + hudson.model.Item.Read:sgerard + hudson.model.Item.ExtendedRead:ytanguy + hudson.model.Item.ExtendedRead:tfaure + hudson.model.Item.ExtendedRead:ptessier + hudson.model.Item.ExtendedRead:vlorenzo + hudson.model.Item.ExtendedRead:vhemery + hudson.model.Item.ExtendedRead:tlandre + hudson.model.Item.ExtendedRead:anonymous + hudson.model.Item.ExtendedRead:eperico + hudson.model.Item.ExtendedRead:mvelten + hudson.model.Item.ExtendedRead:rschnekenbu + hudson.model.Item.ExtendedRead:cdumoulin + hudson.model.Item.ExtendedRead:cmraidha + hudson.model.Item.ExtendedRead:rfaudou + hudson.model.Item.ExtendedRead:tfesenko + hudson.model.Item.ExtendedRead:nbros + hudson.model.Item.ExtendedRead:cletavernie + hudson.model.Item.ExtendedRead:sgerard + hudson.model.Item.Configure:ytanguy + hudson.model.Item.Configure:tfaure + hudson.model.Item.Configure:ptessier + hudson.model.Item.Configure:vlorenzo + hudson.model.Item.Configure:vhemery + hudson.model.Item.Configure:tlandre + hudson.model.Item.Configure:eperico + hudson.model.Item.Configure:mvelten + hudson.model.Item.Configure:rschnekenbu + hudson.model.Item.Configure:cdumoulin + hudson.model.Item.Configure:cmraidha + hudson.model.Item.Configure:rfaudou + hudson.model.Item.Configure:tfesenko + hudson.model.Item.Configure:nbros + hudson.model.Item.Configure:cletavernie + hudson.model.Item.Configure:sgerard + hudson.model.Run.Delete:ytanguy + hudson.model.Run.Delete:tfaure + hudson.model.Run.Delete:ptessier + hudson.model.Run.Delete:vlorenzo + hudson.model.Run.Delete:vhemery + hudson.model.Run.Delete:tlandre + hudson.model.Run.Delete:eperico + hudson.model.Run.Delete:mvelten + hudson.model.Run.Delete:rschnekenbu + hudson.model.Run.Delete:cdumoulin + hudson.model.Run.Delete:cmraidha + hudson.model.Run.Delete:rfaudou + hudson.model.Run.Delete:tfesenko + hudson.model.Run.Delete:nbros + hudson.model.Run.Delete:cletavernie + hudson.model.Run.Delete:sgerard + + + + + + + http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/branches/0.8.X/plugins + sourceTree/plugins + infinity + false + + + http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/branches/0.8.X/features + sourceTree/features + infinity + false + + + http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/branches/0.8.X/releng + sourceTree/releng + infinity + false + + + http://dev.eclipse.org/svnroot/modeling/org.eclipse.mdt.papyrus/branches/0.8.X/extraplugins + sourceTree/extraplugins + infinity + false + + + + + + + + + + hudson-slave1||master + true + false + false + false + false + Java 5 R 22 64bit (SUN) + + + 13 12 * * 1-6 + + + false + false + + + SVN=/usr/local/bin/svn +promoteDirName=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-nightly/promoteDirName + +echo "building in " $WORKSPACE + +echo "cleaning previous results" +rm -f ?20*.zip + +echo "displaying java version" +java -version + +: +COMPACT_BUILD_ID="${BUILD_ID//[-_]}" +COMPACT_BUILD_ID="${COMPACT_BUILD_ID:0:12}" +FULL_BUILD_ID=${BUILD_TYPE}${COMPACT_BUILD_ID} +echo $FULL_BUILD_ID > $promoteDirName +: + + + + ${BUILD_TARGET} + apache-ant-1.7.1 + ${WORKSPACE}/sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/build.xml + server.build=true +build.id=$BUILD_TAG +ant.build.javac.target=1.5 +ant.build.javac.source=1.5 +local.repository=${WORKSPACE}/sourceTree + + + rm -rf result/site.p2 +cp -a result/workspace/temp/org.eclipse.papyrus.build_*-eclipse.feature/site.p2 result + + + #publishing script# +promoteSignal=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-nightly/promoteSignal +promoteVersion=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-nightly/promoteVersion +promoteDirName=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-nightly/promoteDirName +#lastBuildLogFile=/opt/public/modeling/mdt/papyrus/papyrus-0.8-maintenance-nightly/lastBuildLog + +FULL_BUILD_ID=$(cat $promoteDirName) + +if [ -n "$BUILD_ALIAS" ]; then + zipName=Papyrus-Update-${BUILD_ALIAS}.zip +else + zipName=Papyrus-Update-${FULL_BUILD_ID}.zip +fi + +rm -rf ${WORKSPACE}/tmp +mkdir -p "${WORKSPACE}/tmp/$FULL_BUILD_ID" + +cd result/site.p2 +zip -r $zipName * +mv $zipName "${WORKSPACE}/tmp/$FULL_BUILD_ID" + +# copy the psf generated file to the tmp dir +cp ${WORKSPACE}/result/*.psf "${WORKSPACE}/tmp/$FULL_BUILD_ID" + +# copy tests results +if [ -e ${WORKSPACE}/result/testresults ]; then + mkdir ${WORKSPACE}/tmp/$FULL_BUILD_ID/testresults + cp -r ${WORKSPACE}/result/testresults/ "${WORKSPACE}/tmp/$FULL_BUILD_ID" +fi + +# Test if build succeeded. If not, then exit with error 1. +# Copy the log, because the commands appear in the grepped log... + +#wget --quiet --no-check-certificate https://hudson.eclipse.org/hudson/job/cbi-papyrus-0.7-nightly/${BUILD_NUMBER}/consoleText -O "$lastBuildLogFile" +#cp "$lastBuildLogFile" "${WORKSPACE}/tmp/$FULL_BUILD_ID/buildlog.txt" + +wget --quiet --no-check-certificate ${HUDSON_URL}/job/${JOB_NAME}/${BUILD_NUMBER}/consoleText -O "${WORKSPACE}/tmp/$FULL_BUILD_ID/buildlog.txt" + +cd ${WORKSPACE}/tmp +zip -r ${FULL_BUILD_ID}.zip * +cd .. +mv tmp/${FULL_BUILD_ID}.zip ${WORKSPACE} + +echo ${FULL_BUILD_ID} > $promoteSignal +echo $VERSION > $promoteVersion + + + + + + papyrus-0.8-maintenance-extra-nightly + + SUCCESS + 0 + BLUE + + + + *.zip + GZIP + false + false + + + chokri.mraidha@cea.fr mathieu.velten@atos.net vincent.lorenzo@cea.fr camille.letavernier@cea.fr remi.schnekenburger@cea.fr + false + false + + + + + false + + + 331 + true + + + \ No newline at end of file diff --git a/releng/toolkit/server/hudsonJobs/papyrus-trunk-extra-nightly-tests.xml b/releng/toolkit/server/hudsonJobs/papyrus-trunk-extra-nightly-tests.xml new file mode 100644 index 00000000000..41a8bf62d51 --- /dev/null +++ b/releng/toolkit/server/hudsonJobs/papyrus-trunk-extra-nightly-tests.xml @@ -0,0 +1,40 @@ + + + + + false + mward + 1326211436241 + + + hudson.model.Item.Workspace:vlorenzo + hudson.model.Item.Workspace:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Run.Update:vlorenzo + hudson.model.Run.Update:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Delete:vlorenzo + hudson.model.Item.Read:vlorenzo + hudson.model.Item.Read:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Build:vlorenzo + hudson.model.Item.Build:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.ExtendedRead:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Configure:vlorenzo + hudson.model.Item.Configure:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Run.Delete:vlorenzo + hudson.model.Run.Delete:ROLE_MODELING.MDT.PAPYRUS + + + + + false + true + false + false + false + (Valeur par défaut) + + false + false + + + + \ No newline at end of file diff --git a/releng/toolkit/server/hudsonJobs/papyrus-trunk-extra-nightly.xml b/releng/toolkit/server/hudsonJobs/papyrus-trunk-extra-nightly.xml new file mode 100644 index 00000000000..07e02f3b109 --- /dev/null +++ b/releng/toolkit/server/hudsonJobs/papyrus-trunk-extra-nightly.xml @@ -0,0 +1,291 @@ + + + + Job for the modeling.mdt.papyrus project. Used to produce nightlies of the extra components automatically every day, and milestones and releases manually.<br/> +<p> +The nightlies done by this build are published to:<ul> +<li><b>downloads</b>:<a href="http://www.eclipse.org/modeling/mdt/papyrus/downloads/">http://www.eclipse.org/modeling/mdt/papyrus/downloads/</a> +<li><b>update site</b>:<a href="http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/juno/extras/">http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/juno/extras/</a> +</ul> +</p> + + 5 + 3 + -1 + -1 + + false + mward + 1326137668126 + + + + + BUCKMINSTER_LOGLEVEL + Verbosity of logging information for Buckminster<ul> +<li>DEBUG : most verbose : display errors, warnings, information messages and debug messages (useful when you want to see what Buckminster <li>INFO : display errors, warnings and information messages +<li>WARNING : less verbose : only display errors and warnings +<li>ERROR : least verbose : only display errors +is doing) +</ul> + + + + DEBUG + INFO + WARNING + ERROR + + + + + CLEAN_TP + Indicates if the target platform should be deleted before the build. + true + + + CLEAN_WORKSPACE + Indicates if the workspace should be deleted before the build. + true + + + CLEAN_OUTPUT + Indicates if the output folder should be deleted before the build. + true + + + CLEAN_TOOLS + Indicates if the tools (p2 director and Buckminster) should be deleted before the build + false + + + BUILD_TYPE + Type of build:<ul> +<li>N: Nightly +<li>I: Integration +<li>S: Stable (for milestones and release candidates) +<li>R: Release (usually not selected, since releases are done by renaming the last release candidate) +<li>M: Maintenance (seldom used) +</ul> +Nightly builds won't be signed, contrary to other kind of builds. + + + N + I + S + R + M + + + + + SITE_PACK200 + Pack the result jars in order to gain size and bandwidth for the eclipse download servers + true + + + BUILD_TARGET + + + + site.p2 + provision + do.nothing + + + + + JAVA_HOME + jdk for Papyrus build: +/shared/common/sun-jdk1.6.0_21_x64 for buckminster installation +/shared/common/jdk-1.5.0-22.x86_64 for compilation + /shared/common/jdk-1.5.0-22.x86_64 + + + SIGN_UPDATE_SITE + Sign the update site (must be selected for all builds except nightlies) + false + + + + + hudson.model.Item.Build:ytanguy + hudson.model.Item.Build:tfaure + hudson.model.Item.Build:ptessier + hudson.model.Item.Build:vlorenzo + hudson.model.Item.Build:tlandre + hudson.model.Item.Build:mvelten + hudson.model.Item.Build:rschnekenbu + hudson.model.Item.Build:cdumoulin + hudson.model.Item.Build:cmraidha + hudson.model.Item.Build:rfaudou + hudson.model.Item.Build:tfesenko + hudson.model.Item.Build:nbros + hudson.model.Item.Build:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Build:sgerard + hudson.model.Item.ExtendedRead:tfaure + hudson.model.Item.ExtendedRead:ytanguy + hudson.model.Item.ExtendedRead:ptessier + hudson.model.Item.ExtendedRead:vlorenzo + hudson.model.Item.ExtendedRead:tlandre + hudson.model.Item.ExtendedRead:mvelten + hudson.model.Item.ExtendedRead:rschnekenbu + hudson.model.Item.ExtendedRead:cdumoulin + hudson.model.Item.ExtendedRead:cmraidha + hudson.model.Item.ExtendedRead:rfaudou + hudson.model.Item.ExtendedRead:nbros + hudson.model.Item.ExtendedRead:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.ExtendedRead:sgerard + hudson.model.Item.Read:ytanguy + hudson.model.Item.Read:tfaure + hudson.model.Item.Read:ptessier + hudson.model.Item.Read:vlorenzo + hudson.model.Item.Read:tlandre + hudson.model.Item.Read:mvelten + hudson.model.Item.Read:rschnekenbu + hudson.model.Item.Read:cdumoulin + hudson.model.Item.Read:cmraidha + hudson.model.Item.Read:rfaudou + hudson.model.Item.Read:tfesenko + hudson.model.Item.Read:nbros + hudson.model.Item.Read:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Read:sgerard + hudson.model.Item.Workspace:ytanguy + hudson.model.Item.Workspace:tfaure + hudson.model.Item.Workspace:ptessier + hudson.model.Item.Workspace:vlorenzo + hudson.model.Item.Workspace:tlandre + hudson.model.Item.Workspace:mvelten + hudson.model.Item.Workspace:rschnekenbu + hudson.model.Item.Workspace:cdumoulin + hudson.model.Item.Workspace:cmraidha + hudson.model.Item.Workspace:rfaudou + hudson.model.Item.Workspace:tfesenko + hudson.model.Item.Workspace:nbros + hudson.model.Item.Workspace:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Workspace:sgerard + hudson.model.Run.Delete:ytanguy + hudson.model.Run.Delete:tfaure + hudson.model.Run.Delete:ptessier + hudson.model.Run.Delete:vlorenzo + hudson.model.Run.Delete:tlandre + hudson.model.Run.Delete:mvelten + hudson.model.Run.Delete:rschnekenbu + hudson.model.Run.Delete:cdumoulin + hudson.model.Run.Delete:cmraidha + hudson.model.Run.Delete:rfaudou + hudson.model.Run.Delete:tfesenko + hudson.model.Run.Delete:nbros + hudson.model.Run.Delete:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Run.Delete:sgerard + hudson.model.Run.Update:ytanguy + hudson.model.Run.Update:tfaure + hudson.model.Run.Update:ptessier + hudson.model.Run.Update:vlorenzo + hudson.model.Run.Update:tlandre + hudson.model.Run.Update:mvelten + hudson.model.Run.Update:rschnekenbu + hudson.model.Run.Update:cdumoulin + hudson.model.Run.Update:cmraidha + hudson.model.Run.Update:rfaudou + hudson.model.Run.Update:tfesenko + hudson.model.Run.Update:nbros + hudson.model.Run.Update:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Run.Update:sgerard + hudson.model.Item.Configure:ytanguy + hudson.model.Item.Configure:tfaure + hudson.model.Item.Configure:ptessier + hudson.model.Item.Configure:vlorenzo + hudson.model.Item.Configure:tlandre + hudson.model.Item.Configure:mvelten + hudson.model.Item.Configure:rschnekenbu + hudson.model.Item.Configure:cdumoulin + hudson.model.Item.Configure:cmraidha + hudson.model.Item.Configure:rfaudou + hudson.model.Item.Configure:tfesenko + hudson.model.Item.Configure:nbros + hudson.model.Item.Configure:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Configure:sgerard + + + + + + + file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/extraplugins + sourceTree/extraplugins + infinity + false + + + file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/features + sourceTree/features + infinity + false + + + file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/releng + sourceTree/releng + infinity + false + + + + + + + + + + 300 + hudson-slave1||master + true + false + false + false + false + Java 5 R 22 64bit (SUN) + token + + false + false + + + . sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly/build-before.sh + + + ${BUILD_TARGET} + apache-ant-1.7.1 + ${WORKSPACE}/sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly/build.xml + server.build=true +build.id=$BUILD_TAG +ant.build.javac.target=1.5 +ant.build.javac.source=1.5 +local.repository=${WORKSPACE}/sourceTree +releng.subproject.name=papyrus-trunk-extra-nightly +papyrus.update.site=file:///opt/public/jobs/papyrus-trunk-nightly/workspace/updateSite/ + + + . sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-extra-nightly/build-after.sh + + + + + *.zip + GZIP + false + false + + + remi.schnekenburger@cea.fr chokri.mraidha@cea.fr mathieu.velten@atos.net + false + false + + + + + 60 + true + + + \ No newline at end of file diff --git a/releng/toolkit/server/hudsonJobs/papyrus-trunk-nightly-3.8-tests.xml b/releng/toolkit/server/hudsonJobs/papyrus-trunk-nightly-3.8-tests.xml new file mode 100644 index 00000000000..a56dfb4aa1f --- /dev/null +++ b/releng/toolkit/server/hudsonJobs/papyrus-trunk-nightly-3.8-tests.xml @@ -0,0 +1,180 @@ + + + + Job for launching tests and testing the installation of the modeling.mdt.papyrus project on an Eclipse 3.8. + + -1 + 5 + -1 + -1 + + false + mward + 1326383216039 + + + + + BUCKMINSTER_LOGLEVEL + Verbosity of logging information for Buckminster<ul> +<li>DEBUG : most verbose : display errors, warnings, information messages and debug messages (useful when you want to see what Buckminster <li>INFO : display errors, warnings and information messages +<li>WARNING : less verbose : only display errors and warnings +<li>ERROR : least verbose : only display errors +is doing) +</ul> + + + + DEBUG + INFO + WARNING + ERROR + + + + + CLEAN_TP + Indicates if the target platform should be deleted before the build. + true + + + CLEAN_WORKSPACE + Indicates if the workspace should be deleted before the build. + true + + + CLEAN_OUTPUT + Indicates if the output folder should be deleted before the build. + true + + + CLEAN_TOOLS + Indicates if the tools (p2 director and Buckminster) should be deleted before the build + false + + + BUILD_TARGET + <ul> +<li>test : do what site.p2 does + run the unit tests +<li>build : Do what "provision" does + build the tests +<li>provision : Install Buckminster + retrieve the material required to launch the build (import the Papyrus tests and all the dependencies) +<li>do.nothing : re-use the previously built results +</ul> + + + test + build + provision + do.nothing + + + + + + + hudson.model.Item.Workspace:anonymous + hudson.model.Item.Workspace:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Workspace:vlorenzo + hudson.model.Item.Workspace:nbros + hudson.model.Run.Update:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Run.Update:vlorenzo + hudson.model.Run.Update:nbros + hudson.model.Item.Build:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Build:vlorenzo + hudson.model.Item.Build:nbros + hudson.model.Item.Read:anonymous + hudson.model.Item.Read:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Read:vlorenzo + hudson.model.Item.Read:nbros + hudson.model.Item.ExtendedRead:anonymous + hudson.model.Item.ExtendedRead:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.ExtendedRead:vlorenzo + hudson.model.Item.ExtendedRead:nbros + hudson.model.Item.Configure:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Configure:vlorenzo + hudson.model.Item.Configure:nbros + hudson.model.Run.Delete:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Run.Delete:vlorenzo + hudson.model.Run.Delete:nbros + + + + + + + file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/features/papyrus-tests-features + sourceTree/features/papyrus-tests-features + infinity + false + + + file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/tests + sourceTree/tests + infinity + false + + + file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/releng + sourceTree/releng + infinity + false + + + + + + + + + + hudson-slave1||master + true + false + false + false + false + (Valeur par défaut) + token + + false + false + + + echo "starting Metacity desktop manager" +metacity --replace --sm-disable & + + + + ${BUILD_TARGET} + apache-ant-1.7.1 + ${WORKSPACE}/sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-3.8-tests/build.xml + server.build=true +ant.build.javac.target=1.5 +ant.build.javac.source=1.5 +local.repository=${WORKSPACE}/sourceTree +releng.subproject.name=papyrus-trunk-nightly-3.8-tests +papyrus.update.site=file:///opt/public/jobs/papyrus-trunk-nightly/workspace/updateSite/ + + + + + buildroot/result/testresults/xml/*.xml + false + + + + chokri.mraidha@cea.fr patrick.tessier@cea.fr mathieu.velten@atos.net vincent.lorenzo@cea.fr remi.schnekenburger@cea.fr camille.letavernier@cea.fr yann.tanguy@cea.fr + false + false + + + + + false + + + 60 + true + + + \ No newline at end of file diff --git a/releng/toolkit/server/hudsonJobs/papyrus-trunk-nightly-tests.xml b/releng/toolkit/server/hudsonJobs/papyrus-trunk-nightly-tests.xml new file mode 100644 index 00000000000..56975fbaef7 --- /dev/null +++ b/releng/toolkit/server/hudsonJobs/papyrus-trunk-nightly-tests.xml @@ -0,0 +1,212 @@ + + + + Job for launching tests and testing the installation of the modeling.mdt.papyrus project. + + -1 + 5 + -1 + -1 + + false + mward + 1326211403516 + + + + + BUCKMINSTER_LOGLEVEL + Verbosity of logging information for Buckminster<ul> +<li>DEBUG : most verbose : display errors, warnings, information messages and debug messages (useful when you want to see what Buckminster <li>INFO : display errors, warnings and information messages +<li>WARNING : less verbose : only display errors and warnings +<li>ERROR : least verbose : only display errors +is doing) +</ul> + + + + DEBUG + INFO + WARNING + ERROR + + + + + CLEAN_TP + Indicates if the target platform should be deleted before the build. + true + + + CLEAN_WORKSPACE + Indicates if the workspace should be deleted before the build. + true + + + CLEAN_OUTPUT + Indicates if the output folder should be deleted before the build. + true + + + CLEAN_TOOLS + Indicates if the tools (p2 director and Buckminster) should be deleted before the build + false + + + BUILD_TARGET + <ul> +<li>test : do what site.p2 does + run the unit tests +<li>build : Do what "provision" does + build the tests +<li>provision : Install Buckminster + retrieve the material required to launch the build (import the Papyrus tests and all the dependencies) +<li>do.nothing : re-use the previously built results +</ul> + + + test + build + provision + do.nothing + + + + + BUILD_TYPE + Type of build:<ul> +<li>N: Nightly +<li>I: Integration +<li>S: Stable (for milestones and release candidates) +<li>R: Release (usually not selected, since releases are done by renaming the last release candidate) +<li>M: Maintenance (seldom used) +</ul> +The build type should be the same as the last papyrus-trunk-nightly job.<br/> +This nightly builds will be published automatically to the same folder as the last papyrus-trunk-nightly job. + + + + N + I + S + R + M + + + + + + + hudson.model.Item.Workspace:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Workspace:vlorenzo + hudson.model.Item.Workspace:nbros + hudson.model.Run.Update:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Run.Update:vlorenzo + hudson.model.Run.Update:nbros + hudson.model.Item.Build:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Build:vlorenzo + hudson.model.Item.Build:nbros + hudson.model.Item.Read:anonymous + hudson.model.Item.Read:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Read:vlorenzo + hudson.model.Item.Read:nbros + hudson.model.Item.ExtendedRead:anonymous + hudson.model.Item.ExtendedRead:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.ExtendedRead:vlorenzo + hudson.model.Item.ExtendedRead:nbros + hudson.model.Item.Configure:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Configure:vlorenzo + hudson.model.Item.Configure:nbros + hudson.model.Run.Delete:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Run.Delete:vlorenzo + hudson.model.Run.Delete:nbros + + + + + + + file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/features/papyrus-tests-features + sourceTree/features/papyrus-tests-features + infinity + false + + + file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/tests + sourceTree/tests + infinity + false + + + file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/releng + sourceTree/releng + infinity + false + + + + + + + + + + hudson-slave1||master + true + false + false + false + false + Java 5 R 22 64bit (SUN) + token + + false + false + + + echo "starting Metacity desktop manager" +metacity --replace --sm-disable & + +# remove the previous results +rm -f *.zip + + + ${BUILD_TARGET} + apache-ant-1.7.1 + ${WORKSPACE}/sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build.xml + server.build=true +ant.build.javac.target=1.5 +ant.build.javac.source=1.5 +local.repository=${WORKSPACE}/sourceTree +releng.subproject.name=papyrus-trunk-nightly-tests +papyrus.update.site=file:///opt/public/jobs/papyrus-trunk-nightly/workspace/updateSite/ + + + . sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly-tests/build-after.sh + + + + + buildroot/result/testresults/xml/*.xml + false + + + + *.zip + GZIP + false + false + + + chokri.mraidha@cea.fr patrick.tessier@cea.fr mathieu.velten@atos.net vincent.lorenzo@cea.fr remi.schnekenburger@cea.fr camille.letavernier@cea.fr yann.tanguy@cea.fr + false + false + + + + + false + + + 60 + true + + + \ No newline at end of file diff --git a/releng/toolkit/server/hudsonJobs/papyrus-trunk-nightly.xml b/releng/toolkit/server/hudsonJobs/papyrus-trunk-nightly.xml new file mode 100644 index 00000000000..d1504bd0b2e --- /dev/null +++ b/releng/toolkit/server/hudsonJobs/papyrus-trunk-nightly.xml @@ -0,0 +1,237 @@ + + + + Job for the modeling.mdt.papyrus project. Used to produce nightlies automatically every day, and milestones and releases manually.<br/> +<p> +The nightlies done by this build are published to:<ul> +<li><b>downloads</b>:<a href="http://www.eclipse.org/modeling/mdt/papyrus/downloads/">http://www.eclipse.org/modeling/mdt/papyrus/downloads/</a> +<li><b>update site</b>:<a href="http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/juno/main/">http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/juno/main/</a> +</ul> +</p> + + -1 + 5 + -1 + -1 + + false + 0 + + + + + VERSION + The version of Papyrus that is built. This is used for publishing the build to the right download folder. + 0.9.0 + + + BUCKMINSTER_LOGLEVEL + Verbosity of logging information for Buckminster<ul> +<li>DEBUG : most verbose : display errors, warnings, information messages and debug messages (useful when you want to see what Buckminster <li>INFO : display errors, warnings and information messages +<li>WARNING : less verbose : only display errors and warnings +<li>ERROR : least verbose : only display errors +is doing) +</ul> + + + + DEBUG + INFO + WARNING + ERROR + + + + + CLEAN_TP + Indicates if the target platform should be deleted before the build. + true + + + CLEAN_WORKSPACE + Indicates if the workspace should be deleted before the build. + true + + + CLEAN_OUTPUT + Indicates if the output folder should be deleted before the build. + true + + + CLEAN_TOOLS + Indicates if the tools (p2 director and Buckminster) should be deleted before the build + false + + + BUILD_TYPE + Type of build:<ul> +<li>N: Nightly +<li>I: Integration +<li>S: Stable (for milestones and release candidates) +<li>R: Release (usually not selected, since releases are done by renaming the last release candidate) +<li>M: Maintenance (seldom used) +</ul> +Nightly builds won't be signed, contrary to other kind of builds. + + + N + I + S + R + M + + + + + BUILD_ALIAS + The name of the release (0.8.0, 0.9.0M1, etc.). This will be the result zip's name. Leave it blank for nightly and integration builds + + + + BUILD_TARGET + <ul> +<li>site.p2 : Do what "provision" does + build Papyrus + create the update site +<li>provision : Install Buckminster + retrieve the material required to launch the build (import the Papyrus plug-ins and all the dependencies) +<li>do.nothing : to re-use the results from the previous build +</ul> + + + site.p2 + provision + do.nothing + + + + + SITE_PACK200 + Pack the result jars in order to gain size and bandwidth for the eclipse download servers + true + + + JAVA_HOME + Which JDK to use for the build. + + + /shared/common/jdk-1.5.0-22.x86_64 + /shared/common/sun-jdk1.6.0_21_x64 + + + + + SIGN_UPDATE_SITE + Sign the update site (must be selected for all builds except nightlies) + false + + + + + hudson.model.Item.Workspace:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Workspace:nbros + hudson.model.Run.Update:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Run.Update:nbros + hudson.model.Item.Build:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Build:nbros + hudson.model.Item.Read:anonymous + hudson.model.Item.Read:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Read:nbros + hudson.model.Item.ExtendedRead:anonymous + hudson.model.Item.ExtendedRead:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.ExtendedRead:nbros + hudson.model.Item.Configure:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Item.Configure:nbros + hudson.model.Run.Delete:ROLE_MODELING.MDT.PAPYRUS + hudson.model.Run.Delete:nbros + + + + + + + file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/plugins + sourceTree/plugins + infinity + false + + + file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/features + sourceTree/features + infinity + false + + + file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/releng + sourceTree/releng + infinity + false + + + file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/incoming + sourceTree/incoming + infinity + false + + + + + + + + + + hudson-slave1||master + true + false + false + false + false + Java 5 R 22 64bit (SUN) + + + 15 * * * * + + + 43 00 * * 1-6 + + + false + false + + + . sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly/build-before.sh + + + ${BUILD_TARGET} + apache-ant-1.7.1 + ${WORKSPACE}/sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly/build.xml + server.build=true +build.id=$BUILD_TAG +ant.build.javac.target=1.5 +ant.build.javac.source=1.5 +site.signing=$SIGN_UPDATE_SITE +local.repository=${WORKSPACE}/sourceTree +releng.subproject.name=papyrus-trunk-nightly + + + . sourceTree/releng/org.eclipse.mdt.papyrus.releng.buckminster/papyrus-trunk-nightly/build-after.sh + + + + + *.zip + GZIP + false + false + + + chokri.mraidha@cea.fr patrick.tessier@cea.fr mathieu.velten@atos.net vincent.lorenzo@cea.fr remi.schnekenburger@cea.fr camille.letavernier@cea.fr yann.tanguy@cea.fr + false + false + + + + + 60 + true + + + \ No newline at end of file diff --git a/releng/toolkit/server/manualPromote.sh b/releng/toolkit/server/manualPromote.sh new file mode 100644 index 00000000000..8f46e2bf2a5 --- /dev/null +++ b/releng/toolkit/server/manualPromote.sh @@ -0,0 +1,183 @@ +#!/bin/bash + +#-------------------------------------------------------------------------------- +# Copyright (c) 2012 CEA LIST. +# +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Nicolas Bros (Mia-Software) +#-------------------------------------------------------------------------------- + +set -o errexit +set -o nounset + +DROPS_DIR=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/downloads/drops +ARCHIVE_DIR=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/drops +ARCHIVE_INDEX=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/index.html +UPDATE_SITES_DIR=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates +ZIP_PREFIX="Papyrus-Update-incubation-" +PROMOTE_FUNCTIONS_SH=/opt/public/modeling/mdt/papyrus/promoteFunctions.sh +ADD_TO_COMPOSITE_SH=/opt/public/modeling/mdt/papyrus/addToComposite.sh + +SVN_DIRECTORIES_TO_TAG[0]="file:///svnroot/modeling/org.eclipse.mdt.papyrus" + +# constants required by promoteFunctions.sh +export ADD_DOWNLOAD_STATS=/opt/public/modeling/mdt/papyrus/addDownloadStats.sh + +# include promote functions +source "$PROMOTE_FUNCTIONS_SH" + +# ============================== USER PARAMETERS ============================== + +echo "-------------------- user parameters --------------------" +mainBuildNumber="" +extrasBuildNumber="" +testsBuildNumber="" +version="" +updateSite="" +sure="" + +echo "mainBuildNumber (the number of the \"papyrus-trunk-nightly\" Hudson build from which to publish the main Papyrus plug-ins): " +while [[ ! "$mainBuildNumber" =~ ^[0-9]+$ || "$mainBuildNumber" < 1 ]]; do + echo -n "? " + read mainBuildNumber +done + +echo "extrasBuildNumber (the number of the \"papyrus-trunk-extra-nightly\" Hudson build from which to publish the extra Papyrus plug-ins, or 0 to not publish): " +while [[ ! "$extrasBuildNumber" =~ ^[0-9]+$ || "$extrasBuildNumber" < 0 ]]; do + echo -n "? " + read extrasBuildNumber +done + +echo "testsBuildNumber (the number of the \"papyrus-trunk-nightly-tests\" Hudson build from which to publish the test results, or 0 to not publish): " +while [[ ! "$testsBuildNumber" =~ ^[0-9]+$ || "$testsBuildNumber" < 0 ]]; do + echo -n "? " + read testsBuildNumber +done + +echo "version (e.g. \"0.9.0\"): " +while [[ ! "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; do + echo -n "? " + read version +done + +echo "updateSite (e.g. \"nightly/juno\", \"milestones/0.9/M5\", \"releases/indigo/0.8.1\") : " +while [[ ! "$updateSite" =~ ^(tmpTest|releases/(indigo|juno|kepler|luna)/[0-9]+\.[0-9]\.[0-9]|milestones/[0-9]+\.[0-9]+/(M[1-7]|RC[1-9]|SR[1-9]_RC[1-9])|nightly/(indigo|juno|kepler|luna))$ ]]; do + echo -n "? " + read updateSite +done + +updateSiteDir="$UPDATE_SITES_DIR/$updateSite" + +deleteUpdateSite="" +if [ -e "$updateSiteDir" ]; then + echo "The update site already exists: $updateSiteDir" + echo "Do you want to delete it (yes|no)?" + while [[ ! "$deleteUpdateSite" =~ ^(yes|no)$ ]]; do + echo -n "? " + read deleteUpdateSite + done + if [ "$deleteUpdateSite" != "yes" ]; then echo "Canceled."; exit 1; fi + rm -rf "$updateSiteDir" +fi + + +echo "Are you sure you want to publish with these parameters (yes|no)?" +while [[ ! "$sure" =~ ^(yes|no)$ ]]; do + echo -n "? " + read sure +done + +if [ "$sure" != "yes" ]; then echo "Canceled."; exit 1; fi + +# from now on, display executed commands +set -x + +dirBefore=$(pwd) +echo "[$DATE] creating working dir" +workingDir=$(mktemp -d) +cd "$workingDir" + +# ============================== PUBLISH MAIN ============================== +nfsURL="/shared/jobs/papyrus-trunk-nightly/builds/$mainBuildNumber/archive/" +hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-trunk-nightly/$mainBuildNumber/artifact/" +zipName="Papyrus-Main.zip" +updateZipPrefix="Papyrus-Update-incubation" +getZip "$zipName" "$nfsURL" "$hudsonURL" + +mkdir -p "$updateSiteDir" + +buildsDir="$DROPS_DIR/$version" +echo "publishing build (version='$version') to the builds directory '$buildsDir'..." +unzip -o "$zipName" -d "$buildsDir" + +foldersInZip=$(unzip -t "$zipName" | egrep "testing: *[^/]*/ +OK" | sed 's%^ *testing: *\([^/]*\)/ *OK$%\1%') +[ $(echo "$foldersInZip" | wc -l) == 1 ] || { echo "one directory expected in zip"; exit 1; } +folderName="$foldersInZip" + +updateSiteZipName=$(basename $(ls -1 "$buildsDir/$folderName/${updateZipPrefix}"*.zip)) +unzip -o "$buildsDir/$folderName/${updateSiteZipName}" -d "$updateSiteDir/main" + +# create the composite update site +cat > "$updateSiteDir/compositeArtifacts.xml" < + + + + + + + + + +EOF + +cat > "$updateSiteDir/compositeContent.xml" < + + + + + + + + + +EOF + +$ADD_DOWNLOAD_STATS "$updateSiteDir/main" "main" + +# ============================== PUBLISH EXTRAS ============================== +if [[ "$extrasBuildNumber" != "0" ]]; then + nfsURL="/shared/jobs/papyrus-trunk-extra-nightly/builds/$extrasBuildNumber/archive/" + hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-trunk-extra-nightly/$extrasBuildNumber/artifact/" + zipName="Papyrus-Extra.zip" + updateZipName="Papyrus-Extra-Update.zip" + getZip "$zipName" "$nfsURL" "$hudsonURL" + # unzips under an "extra" folder under the main build's folder + unzip -o "$zipName" -d "$buildsDir/$folderName" + unzip -o "$buildsDir/$folderName/extra/$updateZipName" -d "$updateSiteDir/extra" + + $ADD_DOWNLOAD_STATS "$updateSiteDir/extra" "extra" +fi + +# ============================== PUBLISH TESTS ============================== +if [[ "$testsBuildNumber" != "0" ]]; then + nfsURL="/shared/jobs/papyrus-trunk-nightly-tests/builds/$testsBuildNumber/archive/" + hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-trunk-nightly-tests/$testsBuildNumber/artifact/" + zipName="Papyrus-TestResults.zip" + getZip "$zipName" "$nfsURL" "$hudsonURL" + # unzips under a "testresults" folder under the main build's folder + unzip -o "$zipName" -d "$buildsDir/$folderName" +fi + + +setAccessRights "$buildsDir/$folderName" +setAccessRights "$updateSiteDir" + +echo "publishing done." diff --git a/releng/toolkit/server/manualPromote_0.10.X.sh b/releng/toolkit/server/manualPromote_0.10.X.sh new file mode 100644 index 00000000000..0a8e7b6d598 --- /dev/null +++ b/releng/toolkit/server/manualPromote_0.10.X.sh @@ -0,0 +1,183 @@ +#!/bin/bash + +#-------------------------------------------------------------------------------- +# Copyright (c) 2012 CEA LIST. +# +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Nicolas Bros (Mia-Software) +#-------------------------------------------------------------------------------- + +set -o errexit +set -o nounset + +DROPS_DIR=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/downloads/drops +ARCHIVE_DIR=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/drops +ARCHIVE_INDEX=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/index.html +UPDATE_SITES_DIR=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates +ZIP_PREFIX="Papyrus-Update-incubation-" +PROMOTE_FUNCTIONS_SH=/opt/public/modeling/mdt/papyrus/promoteFunctions.sh +ADD_TO_COMPOSITE_SH=/opt/public/modeling/mdt/papyrus/addToComposite.sh + +SVN_DIRECTORIES_TO_TAG[0]="file:///svnroot/modeling/org.eclipse.mdt.papyrus" + +# constants required by promoteFunctions.sh +export ADD_DOWNLOAD_STATS=/opt/public/modeling/mdt/papyrus/addDownloadStats.sh + +# include promote functions +source "$PROMOTE_FUNCTIONS_SH" + +# ============================== USER PARAMETERS ============================== + +echo "-------------------- user parameters --------------------" +mainBuildNumber="" +extrasBuildNumber="" +testsBuildNumber="" +version="" +updateSite="" +sure="" + +echo "mainBuildNumber (the number of the \"papyrus-0.10-maintenance-nightly\" Hudson build from which to publish the main Papyrus plug-ins): " +while [[ ! "$mainBuildNumber" =~ ^[0-9]+$ || "$mainBuildNumber" < 1 ]]; do + echo -n "? " + read mainBuildNumber +done + +echo "extrasBuildNumber (the number of the \"papyrus-0.10-maintenance-extra-nightly\" Hudson build from which to publish the extra Papyrus plug-ins, or 0 to not publish): " +while [[ ! "$extrasBuildNumber" =~ ^[0-9]+$ || "$extrasBuildNumber" < 0 ]]; do + echo -n "? " + read extrasBuildNumber +done + +echo "testsBuildNumber (the number of the \"papyrus-0.10-maintenance-nightly-tests\" Hudson build from which to publish the test results, or 0 to not publish): " +while [[ ! "$testsBuildNumber" =~ ^[0-9]+$ || "$testsBuildNumber" < 0 ]]; do + echo -n "? " + read testsBuildNumber +done + +echo "version (e.g. \"0.10.0\"): " +while [[ ! "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; do + echo -n "? " + read version +done + +echo "updateSite (e.g. \"nightly/kepler\", \"milestones/0.10/M5\", \"releases/kepler/0.10.1\") : " +while [[ ! "$updateSite" =~ ^(tmpTest|releases/(indigo|juno|kepler|luna)/[0-9]+\.[0-9]\.[0-9]|milestones/[0-9]+\.[0-9]+/(M[1-7]|RC[1-9]|SR[1-9]_RC[1-9])|nightly/(indigo|juno|kepler|luna))$ ]]; do + echo -n "? " + read updateSite +done + +updateSiteDir="$UPDATE_SITES_DIR/$updateSite" + +deleteUpdateSite="" +if [ -e "$updateSiteDir" ]; then + echo "The update site already exists: $updateSiteDir" + echo "Do you want to delete it (yes|no)?" + while [[ ! "$deleteUpdateSite" =~ ^(yes|no)$ ]]; do + echo -n "? " + read deleteUpdateSite + done + if [ "$deleteUpdateSite" != "yes" ]; then echo "Canceled."; exit 1; fi + rm -rf "$updateSiteDir" +fi + + +echo "Are you sure you want to publish with these parameters (yes|no)?" +while [[ ! "$sure" =~ ^(yes|no)$ ]]; do + echo -n "? " + read sure +done + +if [ "$sure" != "yes" ]; then echo "Canceled."; exit 1; fi + +# from now on, display executed commands +set -x + +dirBefore=$(pwd) +echo "[$DATE] creating working dir" +workingDir=$(mktemp -d) +cd "$workingDir" + +# ============================== PUBLISH MAIN ============================== +nfsURL="/shared/jobs/papyrus-0.10-maintenance-nightly/builds/$mainBuildNumber/archive/" +hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-nightly/$mainBuildNumber/artifact/" +zipName="Papyrus-Main.zip" +updateZipPrefix="Papyrus-Update-incubation-" +getZip "$zipName" "$nfsURL" "$hudsonURL" + +mkdir -p "$updateSiteDir" + +buildsDir="$DROPS_DIR/$version" +echo "publishing build (version='$version') to the builds directory '$buildsDir'..." +unzip -o "$zipName" -d "$buildsDir" + +foldersInZip=$(unzip -t "$zipName" | egrep "testing: *[^/]*/ +OK" | sed 's%^ *testing: *\([^/]*\)/ *OK$%\1%') +[ $(echo "$foldersInZip" | wc -l) == 1 ] || { echo "one directory expected in zip"; exit 1; } +folderName="$foldersInZip" + +updateSiteZipName=$(basename $(ls -1 "$buildsDir/$folderName/${updateZipPrefix}"*.zip)) +unzip -o "$buildsDir/$folderName/${updateSiteZipName}" -d "$updateSiteDir/main" + +# create the composite update site +cat > "$updateSiteDir/compositeArtifacts.xml" < + + + + + + + + + +EOF + +cat > "$updateSiteDir/compositeContent.xml" < + + + + + + + + + +EOF + +$ADD_DOWNLOAD_STATS "$updateSiteDir/main" "main" + +# ============================== PUBLISH EXTRAS ============================== +if [[ "$extrasBuildNumber" != "0" ]]; then + nfsURL="/shared/jobs/papyrus-0.10-maintenance-extra-nightly/builds/$extrasBuildNumber/archive/" + hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-extra-nightly/$extrasBuildNumber/artifact/" + zipName="Papyrus-Extra.zip" + updateZipName="Papyrus-Extra-Update.zip" + getZip "$zipName" "$nfsURL" "$hudsonURL" + # unzips under an "extra" folder under the main build's folder + unzip -o "$zipName" -d "$buildsDir/$folderName" + unzip -o "$buildsDir/$folderName/extra/$updateZipName" -d "$updateSiteDir/extra" + + $ADD_DOWNLOAD_STATS "$updateSiteDir/extra" "extra" +fi + +# ============================== PUBLISH TESTS ============================== +if [[ "$testsBuildNumber" != "0" ]]; then + nfsURL="/shared/jobs/papyrus-0.10-maintenance-nightly-tests/builds/$testsBuildNumber/archive/" + hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.10-maintenance-nightly-tests/$testsBuildNumber/artifact/" + zipName="Papyrus-TestResults.zip" + getZip "$zipName" "$nfsURL" "$hudsonURL" + # unzips under a "testresults" folder under the main build's folder + unzip -o "$zipName" -d "$buildsDir/$folderName" +fi + + +setAccessRights "$buildsDir/$folderName" +setAccessRights "$updateSiteDir" + +echo "publishing done." diff --git a/releng/toolkit/server/manualPromote_0.9.X.sh b/releng/toolkit/server/manualPromote_0.9.X.sh new file mode 100644 index 00000000000..2af3ac95ab6 --- /dev/null +++ b/releng/toolkit/server/manualPromote_0.9.X.sh @@ -0,0 +1,183 @@ +#!/bin/bash + +#-------------------------------------------------------------------------------- +# Copyright (c) 2012 CEA LIST. +# +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Nicolas Bros (Mia-Software) +#-------------------------------------------------------------------------------- + +set -o errexit +set -o nounset + +DROPS_DIR=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/downloads/drops +ARCHIVE_DIR=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/drops +ARCHIVE_INDEX=/home/data/httpd/archive.eclipse.org/modeling/mdt/papyrus/downloads/index.html +UPDATE_SITES_DIR=/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates +ZIP_PREFIX="Papyrus-Update-incubation" +PROMOTE_FUNCTIONS_SH=/opt/public/modeling/mdt/papyrus/promoteFunctions.sh +ADD_TO_COMPOSITE_SH=/opt/public/modeling/mdt/papyrus/addToComposite.sh + +SVN_DIRECTORIES_TO_TAG[0]="file:///svnroot/modeling/org.eclipse.mdt.papyrus" + +# constants required by promoteFunctions.sh +export ADD_DOWNLOAD_STATS=/opt/public/modeling/mdt/papyrus/addDownloadStats.sh + +# include promote functions +source "$PROMOTE_FUNCTIONS_SH" + +# ============================== USER PARAMETERS ============================== + +echo "-------------------- user parameters --------------------" +mainBuildNumber="" +extrasBuildNumber="" +testsBuildNumber="" +version="" +updateSite="" +sure="" + +echo "mainBuildNumber (the number of the \"papyrus-0.9-maintenance-nightly\" Hudson build from which to publish the main Papyrus plug-ins): " +while [[ ! "$mainBuildNumber" =~ ^[0-9]+$ || "$mainBuildNumber" < 1 ]]; do + echo -n "? " + read mainBuildNumber +done + +echo "extrasBuildNumber (the number of the \"papyrus-0.9-maintenance-extra-nightly\" Hudson build from which to publish the extra Papyrus plug-ins, or 0 to not publish): " +while [[ ! "$extrasBuildNumber" =~ ^[0-9]+$ || "$extrasBuildNumber" < 0 ]]; do + echo -n "? " + read extrasBuildNumber +done + +echo "testsBuildNumber (the number of the \"papyrus-0.9-maintenance-nightly-tests\" Hudson build from which to publish the test results, or 0 to not publish): " +while [[ ! "$testsBuildNumber" =~ ^[0-9]+$ || "$testsBuildNumber" < 0 ]]; do + echo -n "? " + read testsBuildNumber +done + +echo "version (e.g. \"0.9.0\"): " +while [[ ! "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; do + echo -n "? " + read version +done + +echo "updateSite (e.g. \"nightly/juno\", \"milestones/0.9/M5\", \"releases/indigo/0.8.1\") : " +while [[ ! "$updateSite" =~ ^(tmpTest|releases/(indigo|juno|kepler)/[0-9]+\.[0-9]\.[0-9]|milestones/[0-9]+\.[0-9]+/(M[1-7]|RC[1-9]|SR[1-9]_RC[1-9])|nightly/(indigo|juno|kepler))$ ]]; do + echo -n "? " + read updateSite +done + +updateSiteDir="$UPDATE_SITES_DIR/$updateSite" + +deleteUpdateSite="" +if [ -e "$updateSiteDir" ]; then + echo "The update site already exists: $updateSiteDir" + echo "Do you want to delete it (yes|no)?" + while [[ ! "$deleteUpdateSite" =~ ^(yes|no)$ ]]; do + echo -n "? " + read deleteUpdateSite + done + if [ "$deleteUpdateSite" != "yes" ]; then echo "Canceled."; exit 1; fi + rm -rf "$updateSiteDir" +fi + + +echo "Are you sure you want to publish with these parameters (yes|no)?" +while [[ ! "$sure" =~ ^(yes|no)$ ]]; do + echo -n "? " + read sure +done + +if [ "$sure" != "yes" ]; then echo "Canceled."; exit 1; fi + +# from now on, display executed commands +set -x + +dirBefore=$(pwd) +echo "[$DATE] creating working dir" +workingDir=$(mktemp -d) +cd "$workingDir" + +# ============================== PUBLISH MAIN ============================== +nfsURL="/shared/jobs/papyrus-0.9-maintenance-nightly/builds/$mainBuildNumber/archive/" +hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.9-maintenance-nightly/$mainBuildNumber/artifact/" +zipName="Papyrus-Main.zip" +updateZipPrefix="Papyrus-Update-incubation" +getZip "$zipName" "$nfsURL" "$hudsonURL" + +mkdir -p "$updateSiteDir" + +buildsDir="$DROPS_DIR/$version" +echo "publishing build (version='$version') to the builds directory '$buildsDir'..." +unzip -o "$zipName" -d "$buildsDir" + +foldersInZip=$(unzip -t "$zipName" | egrep "testing: *[^/]*/ +OK" | sed 's%^ *testing: *\([^/]*\)/ *OK$%\1%') +[ $(echo "$foldersInZip" | wc -l) == 1 ] || { echo "one directory expected in zip"; exit 1; } +folderName="$foldersInZip" + +updateSiteZipName=$(basename $(ls -1 "$buildsDir/$folderName/${updateZipPrefix}"*.zip)) +unzip -o "$buildsDir/$folderName/${updateSiteZipName}" -d "$updateSiteDir/main" + +# create the composite update site +cat > "$updateSiteDir/compositeArtifacts.xml" < + + + + + + + + + +EOF + +cat > "$updateSiteDir/compositeContent.xml" < + + + + + + + + + +EOF + +$ADD_DOWNLOAD_STATS "$updateSiteDir/main" "main" + +# ============================== PUBLISH EXTRAS ============================== +if [[ "$extrasBuildNumber" != "0" ]]; then + nfsURL="/shared/jobs/papyrus-0.9-maintenance-extra-nightly/builds/$extrasBuildNumber/archive/" + hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.9-maintenance-extra-nightly/$extrasBuildNumber/artifact/" + zipName="Papyrus-Extra.zip" + updateZipName="Papyrus-Extra-Update.zip" + getZip "$zipName" "$nfsURL" "$hudsonURL" + # unzips under an "extra" folder under the main build's folder + unzip -o "$zipName" -d "$buildsDir/$folderName" + unzip -o "$buildsDir/$folderName/extra/$updateZipName" -d "$updateSiteDir/extra" + + $ADD_DOWNLOAD_STATS "$updateSiteDir/extra" "extra" +fi + +# ============================== PUBLISH TESTS ============================== +if [[ "$testsBuildNumber" != "0" ]]; then + nfsURL="/shared/jobs/papyrus-0.9-maintenance-nightly-tests/builds/$testsBuildNumber/archive/" + hudsonURL="https://hudson.eclipse.org/hudson/job/papyrus-0.9-maintenance-nightly-tests/$testsBuildNumber/artifact/" + zipName="Papyrus-TestResults.zip" + getZip "$zipName" "$nfsURL" "$hudsonURL" + # unzips under a "testresults" folder under the main build's folder + unzip -o "$zipName" -d "$buildsDir/$folderName" +fi + + +setAccessRights "$buildsDir/$folderName" +setAccessRights "$updateSiteDir" + +echo "publishing done." diff --git a/releng/toolkit/server/promoteFunctions.sh b/releng/toolkit/server/promoteFunctions.sh new file mode 100644 index 00000000000..d59bad9846f --- /dev/null +++ b/releng/toolkit/server/promoteFunctions.sh @@ -0,0 +1,175 @@ +#!/bin/bash -x + +#-------------------------------------------------------------------------------- +# Copyright (c) 2012 CEA LIST. +# +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Nicolas Bros (Mia-Software) +#-------------------------------------------------------------------------------- + +set -o errexit +set -o nounset + +DATE=$(date +%Y%m%d-%H%M) + +function prune() { + NARGS=3 + if [ $# -ne $NARGS ]; then echo "$NARGS arguments expected"; exit 1; fi + _kind=$1 # prefix: N for nightlies, I for integration, ... + _filesPath=$2 + _nBuildsToKeep=$3 + + ls -1 $_filesPath | grep "${_kind}20*" || return 0 + allFiles=$(ls -trd $_filesPath/${_kind}20*) + nFiles=$(ls -1d $_filesPath/${_kind}20* | wc -l) + nToDelete=$((nFiles-_nBuildsToKeep)) + + if [ $nToDelete -gt 0 ]; then + for file in $allFiles; do + rm -rf $file + nToDelete=$((nToDelete-1)) + if [ $nToDelete -le 0 ]; then break; fi + done + fi +} + +function getZip() { + _zipName=$1 + _nfsBaseDir=$2 + _hudsonBaseURL=$3 + + [[ "$_zipName" =~ ^.*?\.zip$ ]] || { echo "incorrect parameter: zipName"; exit 1; } + [[ "$_nfsBaseDir" =~ ^/shared/jobs/.*$ ]] || { echo "incorrect parameter: nfsBaseDir"; exit 1; } + [[ "$_hudsonBaseURL" =~ ^https://hudson\.eclipse\.org/hudson/job/.*$ ]] || { echo "incorrect parameter: hudsonBaseURL"; exit 1; } + + # try with NFS access first, and if that fails, use the Hudson REST API + # see http://wiki.hudson-ci.org/display/HUDSON/Remote+access+API + cp "$_nfsBaseDir/${_zipName}" . || wget --no-check-certificate "$_hudsonBaseURL/${_zipName}" + if [ ! -f "$_zipName" ]; then echo "ERROR: $_zipName (from Hudson) not found"; exit -2; fi + echo "[$DATE] Testing zip integrity" + unzip -t "$_zipName" +} + + +function setAccessRights() { + chmod -R 775 "$1" + chgrp -hR modeling.mdt.papyrus "$1" +} + +function waitUntilJobIsFinished() { + _jobName="$1" # name of the Hudson Job + _timeout="$2" # timeout in seconds + interval=10 + + ((t = ${_timeout})) + + while ((t > 0)); do + # returns "true" or "false", depending on whether the build is currently running + # ignore error code, because Hudson returns garbage once in a while, and we prefer to timeout than to fail immediately in this case + building=$(curl -s -S https://hudson.eclipse.org/hudson/job/${_jobName}/lastBuild/api/xml | xpath "//building/text()" || true) + if [ "$building" == "false" ]; then return 0; fi + sleep $interval + ((t -= interval)) + done + + return 1 +} + +function promote() { + NARGS=10 + if [ $# -ne $NARGS ]; then echo "promote expects exactly $NARGS arguments"; exit 1; fi + _zipName=$1 + _version=$2 + _nfsBaseDir=$3 + _hudsonBaseURL=$4 + _dropsDir=$5 + _archiveDir=$6 + _archiveIndex=$7 + _updateSite=$8 + _updateZipPrefix=$9 + _branchToTag=${10} + + dirBefore=$(pwd) + + [[ "$_zipName" =~ ^.*?\.zip$ ]] || { echo "incorrect parameter: zipName"; exit 1; } + [[ "$_nfsBaseDir" =~ ^/shared/jobs/.*$ ]] || { echo "incorrect parameter: nfsBaseDir"; exit 1; } + [[ "$_hudsonBaseURL" =~ ^https://hudson\.eclipse\.org/hudson/job/.*$ ]] || { echo "incorrect parameter: hudsonBaseURL"; exit 1; } + [[ "$_version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || { echo "incorrect parameter: version"; exit 1; } + [[ "$_dropsDir" =~ ^/home/data/httpd/download\.eclipse\.org/.*$ ]] || { echo "incorrect parameter: dropsDir"; exit 1; } + [[ "$_archiveDir" =~ ^/home/data/httpd/archive\.eclipse\.org/.*$ ]] || { echo "incorrect parameter: archiveDir"; exit 1; } + [[ "$_archiveIndex" =~ ^/home/data/httpd/archive\.eclipse\.org/.*?/index\.html$ ]] || { echo "incorrect parameter: archiveIndex"; exit 1; } + [[ "$_updateSite" =~ ^/home/data/httpd/download\.eclipse\.org/.*$ ]] || { echo "incorrect parameter: updateSite"; exit 1; } + [ -n "$_updateZipPrefix" ] || { echo "empty parameter: updateZipPrefix"; exit 1; } + [[ "$_branchToTag" =~ ^trunk|branches/[0-9]+_[0-9]+|NA$ ]] || { echo "incorrect parameter: branchToTag"; exit 1; } + for (( i = 0 ; i < ${#SVN_DIRECTORIES_TO_TAG[*]} ; i++ )); do + [[ "${SVN_DIRECTORIES_TO_TAG[$i]}" =~ ^file:///svnroot/.*$ ]] || { echo "incorrect variable: SVN_DIRECTORIES_TO_TAG"; exit 1; } + done + + echo "[$DATE] creating working dir" + workingDir=$(mktemp -d) + cd "$workingDir" + + echo "[$DATE] getting last successful build" + getZip "$_zipName" "$_nfsBaseDir" "$_hudsonBaseURL" + + buildsDir="$_dropsDir/$_version" + echo "[$DATE] publishing build (version='$_version') to the builds directory '$buildsDir'..." + unzip -o "$_zipName" -d "$buildsDir" + + echo "[$DATE] publishing build (version='$_version') to the update site '$_updateSite'..." + [ -d "$_updateSite" ] && { echo "Error: update site directory already exists"; exit 1; } + # extract the zip in which there is the update site zip to a tmp dir + tmpDrop=$(mktemp -d) + unzip "$_zipName" -d "$tmpDrop" + dirNameInZip=$(ls -1 "$tmpDrop") + [ $(echo "$dirNameInZip" | wc -l) == 1 ] || { echo "one directory expected in zip"; exit 1; } + updateSiteZipName=$(basename $(ls -1 "$tmpDrop/$dirNameInZip/${_updateZipPrefix}"*.zip)) + unzip -o "$tmpDrop/$dirNameInZip/${updateSiteZipName}" -d "$_updateSite" + + # commented out because we don't need statistics for nightlies + #echo "[$DATE] enabling download statistics" + #$ADD_DOWNLOAD_STATS "$_updateSite" + + echo "[$DATE] setting access rights" + #buildFolder="$buildsDir"/${_zipName/%\.zip/} + foldersInZip=$(unzip -t "$_zipName" | egrep "testing: *[^/]*/ +OK" | sed 's%^ *testing: *\([^/]*\)/ *OK$%\1%') + [ $(echo "$foldersInZip" | wc -l) == 1 ] || { echo "one directory expected in zip"; exit 1; } + buildFolder="$buildsDir/$foldersInZip" + setAccessRights "$buildFolder" + setAccessRights "$_updateSite" + + # copy milestone and release builds to the archive, and tag the build + if [[ "$_zipName" =~ ^[MSR].*$ && "${_branchToTag}" != "NA" ]]; then + echo "copying the build to the archive" + unzip "$_zipName" -d "${_archiveDir}/${_version}" + cp "${_archiveIndex}" "${_archiveIndex}.bak" + # Papyrus-Update-0.9.0M4.zip -> 0.9.0M4 + buildAlias=$(echo $updateSiteZipName | sed 's/^.*-\(.*\)\.zip/\1/g') + #
  • 0.9.0M4 + echo "adding reference to ${buildAlias} in the archive's index.html" + sed 's%%
  • '${buildAlias}'<\/a>\n%' "${_archiveIndex}.bak" > "${_archiveIndex}" + + echo "tagging the build" + # "S201112140456.zip" and "0.9.0M4" => S0_9_0M4 + tagName=$(echo "$buildAlias") + revisionToTag=$(cat "$tmpDrop/$dirNameInZip/revision.txt") + + for (( i = 0 ; i < ${#SVN_DIRECTORIES_TO_TAG[*]} ; i++ )); do + fromSvnDir="${SVN_DIRECTORIES_TO_TAG[$i]}/${_branchToTag}" + toSvnDir="${SVN_DIRECTORIES_TO_TAG[$i]}/tags/$tagName" + echo "tagging: copying revision '$revisionToTag' from ${_branchToTag} of '$fromSvnDir' to '$toSvnDir'" + svn copy -r "$revisionToTag" "$fromSvnDir" "$toSvnDir" -m "tagging $tagName with revision $revisionToTag from ${_branchToTag}" + done + fi + + cd ${dirBefore} + echo "[$DATE] deleting working dir" + rm -rf "$workingDir" + rm -rf "$tmpDrop" +} \ No newline at end of file diff --git a/releng/toolkit/server/updateServerSideScripts.sh b/releng/toolkit/server/updateServerSideScripts.sh new file mode 100644 index 00000000000..ea5de711c02 --- /dev/null +++ b/releng/toolkit/server/updateServerSideScripts.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +#-------------------------------------------------------------------------------- +# Copyright (c) 2012 CEA LIST. +# +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Nicolas Bros (Mia-Software) +#-------------------------------------------------------------------------------- + +SCRIPTS_LOC=/opt/public/modeling/mdt/papyrus +SVN_LOC="file:///svnroot/modeling/org.eclipse.mdt.papyrus/trunk/releng/org.eclipse.mdt.papyrus.releng.buckminster/serverConfig" + +cd "$SCRIPTS_LOC" + +scripts=" +addDownloadStats-extra.xsl +addDownloadStats-main.xsl +addDownloadStats.sh +addToComposite.sh +addToComposite.xsl +cronPromote.sh +cronPromoteMonitor.sh +manualPromote.sh +promoteFunctions.sh +" + +for i in $scripts; do + svn export "$SVN_LOC/$i" + chmod +x "$i" +done diff --git a/releng/toolkit/tycho-generator.py b/releng/toolkit/tycho-generator.py new file mode 100755 index 00000000000..dbf24fff7fb --- /dev/null +++ b/releng/toolkit/tycho-generator.py @@ -0,0 +1,234 @@ +################################################################################ +# Copyright (c) 2014 CEA LIST. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation +# +################################################################################ + +import os # File handling +import os.path # File path handling +import re # Regular expressions +import sys # System +import xml.dom.minidom # Minimal XML + +import console # Console pretty printing +import eclipse # Eclipse API +import xmlutils # XML utilities + + +# Represents a build target +class Target: + def __init__(self, name, pom, site, feature): + # The target's name + self.name = name + # The path to the top pom.xml file + self.pom = pom + # The path to the repository (update site) project + self.site = site + # The target's top feature + self.feature = feature + + +# General constants +MAVEN_MODEL_VERSION="4.0.0" + +# Product constants +PRODUCT_VERSION = "1.0.0" +PRODUCT_CATEGORY_ID = "org.eclipse.papyrus.category" +PRODUCT_CATEGORY_LABEL = "Papyrus Category" +PRODUCT_CATEGORY_DESC = PRODUCT_CATEGORY_LABEL +PRODUCT_GROUP = "org.eclipse.papyrus" + +# Generator targets configuration +TARGETS = [ Target( "main", + "releng/top-pom-main.xml", + "releng/main", + "org.eclipse.papyrus.sdk.feature"), + Target( "extras", + "releng/top-pom-extras.xml", + "releng/extras", + "org.eclipse.papyrus.extra.feature"), + Target( "dev", + "releng/top-pom-dev.xml", + "releng/dev", + "org.eclipse.papyrus.dev.feature") ] +# Generator inputs configuration +INPUTS = [ + "plugins", + "extraplugins", + "features/papyrus-main-features", + "features/papyrus-extra-features", + "features/papyrus-dev-features" +] +# Pattern to recognize required plugin to include in the build +PATTERN_INCLUDE = "org\\.eclipse\\.papyrus\\..*" +# Pattern to recognize required plugin to exclude from the build +PATTERN_EXCLUDE = "(.*\\.source.feature)|(.*\\.tests)" + + +# Print how to use this script +def printUsage(): + print("Usage:") + print(" python tycho-generator.py [-h | --help] [--color]") + print("Options:") + print(" -h, --help: print this screen") + print(" --color: activate console color") + + +# Generate the Tycho data and files +def generate(inputs, targets, includePattern, excludePattern): + # Build repo + console.log("== Preparing the repository ...") + repo = getRepo(inputs, includePattern, excludePattern) + if repo is None: + return 1 + # Setup the bundles' target data + for target in targets: + addTarget(repo, target.feature, target) + # Generate all bundles POM + console.log("== Generating POM for features ...") + for name in iter(sorted(repo.features)): + if not generateBundlePOM(repo.features[name], "eclipse-feature"): + return 2 + console.log("== Generating POM for plugins ...") + for name in iter(sorted(repo.plugins)): + if not generateBundlePOM(repo.plugins[name], "eclipse-plugin"): + return 2 + # Update the targets' top pom.xml + console.log("== Updating the module references in top POMs ...") + for target in targets: + updateModules(repo, target) + return 0 + + +# Gets an initialized repository of features and plugins +# includePattern is used to identify required plugins and features +# excludePattern is used to ignore MISSING plugins and features +def getRepo(inputs, includePattern, excludePattern): + # Build the repo + repo = eclipse.Repository() + for input in inputs: + repo.load(input) + # Check for missing bundles + missing = repo.check(includePattern, excludePattern) + for m in missing: + console.log("Missing bundle " + m, "ERROR") + if len(missing) > 0: + return None + # Initializes the targets + for name in repo.plugins: + repo.plugins[name].targets = [] + for name in repo.features: + repo.features[name].targets = [] + return repo + + +# Recursively add a target to a feature, its included features and its plugins +def addTarget(repo, featureName, target): + # If the feature is missing + if not featureName in repo.features: + return + feature = repo.features[featureName] + # Add the target is required + if not target in feature.targets: + feature.targets.append(target) + # Traverse all sub-features + for included in feature.included: + addTarget(repo, included, target) + # Traverse all plugins + for name in feature.plugins: + if name in repo.plugins: + plugin = repo.plugins[name] + if not target in plugin.targets: + plugin.targets.append(target) + + +# Generate the pom.xml file for the given bundle and given packaging +def generateBundlePOM(bundle, packaging): + if len(bundle.targets) == 0: + console.log("Bundle " + bundle.name + " has no target => skipped", "WARNING") + return True + if len(bundle.targets) >= 2: + console.log("Bundle " + bundle.name + " has more than one target:", "ERROR") + for target in bundle.targets: + console.log("\t" + target, "ERROR") + return False + if os.path.isfile(os.path.join(bundle.location, "pom.xml")): + console.log("Bundle " + bundle.name + " already has pom.xml => skipped") + return True + relative = os.path.relpath(".", bundle.location) + relative = os.path.join(relative, bundle.targets[0].pom) + impl = xml.dom.minidom.getDOMImplementation() + doc = impl.createDocument(None, "project", None) + project = doc.documentElement + appendText(doc, project, "modelVersion", MAVEN_MODEL_VERSION) + parent = doc.createElement("parent") + project.appendChild(parent) + appendTychoRef(doc, parent, PRODUCT_GROUP) + appendText(doc, parent, "relativePath", relative) + appendTychoRef(doc, project, bundle.name) + appendText(doc, project, "packaging", packaging) + xmlutils.output(doc, os.path.join(bundle.location, "pom.xml")) + console.log("Bundle " + bundle.name + " POM generated for target " + bundle.targets[0].name) + return True + + +# Append an element node with the given tag and content +def appendText(doc, parent, tag, content): + child = doc.createElement(tag) + parent.appendChild(child) + child.appendChild(doc.createTextNode(content)) + + +# Append Tycho-specific data +def appendTychoRef(doc, parent, id): + appendText(doc, parent, "artifactId", id) + appendText(doc, parent, "groupId", PRODUCT_GROUP) + appendText(doc, parent, "version", PRODUCT_VERSION + "-SNAPSHOT") + + +# Updates the modules for the given target +def updateModules(repo, target): + doc = xml.dom.minidom.parse(target.pom) + modules = doc.getElementsByTagName("modules")[0] + for module in modules.getElementsByTagName("module"): + modules.removeChild(module) + for name in iter(sorted(repo.features)): + feature = repo.features[name] + if target in feature.targets: + modules.appendChild(getBundleModuleNode(feature, doc, target)) + for name in iter(sorted(repo.plugins)): + plugin = repo.plugins[name] + if target in plugin.targets: + modules.appendChild(getBundleModuleNode(plugin, doc, target)) + repoNode = doc.createElement("module") + repoNode.appendChild(doc.createTextNode(target.name)) + modules.appendChild(repoNode) + xmlutils.output(doc, target.pom) + console.log("Updated top POM for target " + target.name) + +# Get the path to this bundle relatively to the given target's top POM +def getBundleModuleNode(bundle, doc, target): + child = doc.createElement("module") + child.appendChild(doc.createTextNode(os.path.join("..", bundle.location))) + return child + + +# Main script +if __name__=="__main__": + # Checks the arguments + for arg in sys.argv[1:]: + if arg == "-h" or arg == "--help": + printUsage() + sys.exit(0) + elif arg == console.CLI_COLOR: + console.USE_COLOR = True + # Execute the generation + code = generate(INPUTS, TARGETS, PATTERN_INCLUDE, PATTERN_EXCLUDE) + sys.exit(code) \ No newline at end of file diff --git a/releng/toolkit/tycho-updater.py b/releng/toolkit/tycho-updater.py new file mode 100755 index 00000000000..70ca7236d98 --- /dev/null +++ b/releng/toolkit/tycho-updater.py @@ -0,0 +1,140 @@ +################################################################################ +# Copyright (c) 2014 CEA LIST. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation +# +################################################################################ + +# This script provides an API to update the URI +# of P2 update sites in Tycho pom.xml using the +# Eclipse SIMREL repository + +import os.path # File path handling +import re # Regular expressions +import shutil # Shell utilities +import subprocess # OS Process management +import sys # System +import xml.dom.minidom # Minimal XML + +import console # Console pretty printing +import xmlutils # XML utilities + + +# URI of the git SIMREL repository +SIMREL_GIT="http://git.eclipse.org/gitroot/simrel/org.eclipse.simrel.build.git" + +# Path of the local SIMREL repository +SIMREL_PATH="simrel" + + +# Print how to use this script +def printUsage(): + print("Usage:") + print(" python tycho-updater.py [-h | --help] [--color] [--simrel ] ") + print(" is the list of file to update") + print("Options:") + print(" -h, --help: print this screen") + print(" --color: activate console color") + print(" --simrel : use the SIMREL repo at the given path") + +# Get the update site URL for the given identifier +# An identifier is a simple name with an optional '[index]' suffix where index is the integer index of the update site to use +def getURLFor(simrel, id): + m = re.match("(?P(\\w|-)+)(\\[(?P\\d+)\\])?", id) + if m is None: + return None + file = simrel + "/" + m.group("id") + ".b3aggrcon" + index = m.group("index") + if index is None: + index = 0 + else: + index = int(index) + if os.path.isfile(file): + content = xml.dom.minidom.parse(simrel + "/" + m.group("id") + ".b3aggrcon") + location = content.getElementsByTagName("repositories")[index].getAttribute("location") + return location + return None + +# Update the given Tycho pom.xml file with new update sites +def update(simrel, target): + console.log("Reading " + target) + pom = xml.dom.minidom.parse(target) + + console.log("Updating " + target) + for node in pom.getElementsByTagName("repository"): + id = node.getElementsByTagName("id")[0].childNodes[0].data + url = node.getElementsByTagName("url")[0].childNodes[0].data + data = getURLFor(simrel, id) + if data == None: + console.log(id + " => no matching repository found", "WARNING") + else: + if data == url: + console.log(id + " => no change") + else: + node.getElementsByTagName("url")[0].childNodes[0].data = data + console.log(id + " => updated to " + data) + + console.log("Writing back " + target) + xmlutils.output(pom, target) + + + +# Main script +if __name__=="__main__": + # Checks the arguments + nb = len(sys.argv) + if nb <= 1: + printUsage() + sys.exit(1) + + # Initializes the local data + local = False + simrel = SIMREL_PATH + targets = [] + + # Parse the arguments + expectLocal = False + for arg in sys.argv[1:]: + if arg == "-h" or arg == "--help": + printUsage() + sys.exit(0) + elif arg == console.CLI_COLOR: + console.USE_COLOR = True + elif arg == "--simrel": + expectLocal = True + elif expectLocal: + local = True + simrel = arg + expectLocal = False + else: + targets.append(arg) + + # Checks the data + if expectLocal: + console.log("Expected path the local SIMREL repo", "ERROR") + printUsage() + sys.exit(1) + if len(targets) == 0: + console.log("No target given", "ERROR") + printUsage() + sys.exit(1) + + # Clone the SIMREL repo if needed + if local: + console.log("Using local simrel at " + simrel) + else: + console.log("Cloning the simrel repository from Eclipse") + subprocess.call(["git", "clone", SIMREL_GIT, simrel]) + # Do the updates + for target in targets: + update(simrel, target) + # Cleanup if required + if not local: + console.log("Cleaning up ...") + shutil.rmtree(simrel) \ No newline at end of file diff --git a/releng/toolkit/xmlutils.py b/releng/toolkit/xmlutils.py new file mode 100755 index 00000000000..cb206f4e57e --- /dev/null +++ b/releng/toolkit/xmlutils.py @@ -0,0 +1,32 @@ +################################################################################ +# Copyright (c) 2014 CEA LIST. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation +# +################################################################################ + +# System imports +import xml.dom.minidom # Minimal XML + + +# encoding of the XML files +XML_ENCODING="UTF-8" +# identation string +XML_IDENT="\t" +# new line string +XML_NEWLINE="\n" + + +# Outputs the XML document in the given file with pretty printing +def output(document, file): + document.normalize() + content = XML_NEWLINE.join([line for line in document.toprettyxml(XML_IDENT, XML_NEWLINE, XML_ENCODING).split(XML_NEWLINE) if line.strip()]) + output = open(file, "w") + output.write(content) + output.close() \ No newline at end of file diff --git a/releng/top-pom-dev.xml b/releng/top-pom-dev.xml new file mode 100755 index 00000000000..c7033223625 --- /dev/null +++ b/releng/top-pom-dev.xml @@ -0,0 +1,126 @@ + + + 4.0.0 + org.eclipse.papyrus + org.eclipse.papyrus + 1.0.0-SNAPSHOT + pom + + dev + + + 0.20.0 + 0.20.0 + + + + eclipse + p2 + http://download.eclipse.org/releases/luna + + + ep + p2 + http://download.eclipse.org/eclipse/updates/4.4 + + + emf-cdo + p2 + http://download.eclipse.org/modeling/emf/cdo/drops/S20140312-0256 + + + papyrus-main + p2 + ${papyrus.repo.main} + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.6 + + UTF-8 + + + + org.eclipse.tycho + tycho-compiler-plugin + ${tycho-version} + + 1.6 + 1.6 + true + true + + + + org.eclipse.tycho + tycho-maven-plugin + ${tycho-version} + true + + + org.eclipse.tycho + target-platform-configuration + ${tycho-version} + + + + win32 + win32 + x86_64 + + + + + + org.eclipse.tycho + tycho-p2-repository-plugin + ${tycho-version} + + + org.eclipse.tycho + tycho-source-plugin + ${tycho-version} + + + plugin-source + + plugin-source + + + + + + org.eclipse.tycho.extras + tycho-source-feature-plugin + ${tychoExtrasVersion} + + + source-feature + package + + source-feature + + + + + + org.eclipse.tycho + tycho-p2-plugin + ${tycho-version} + + + attach-p2-metadata + package + + p2-metadata + + + + + + + \ No newline at end of file diff --git a/releng/top-pom-extras.xml b/releng/top-pom-extras.xml new file mode 100755 index 00000000000..8e9558a93ce --- /dev/null +++ b/releng/top-pom-extras.xml @@ -0,0 +1,251 @@ + + + 4.0.0 + org.eclipse.papyrus + org.eclipse.papyrus + 1.0.0-SNAPSHOT + pom + + extras + + + 0.20.0 + 0.20.0 + + + + papyrus-main + p2 + ${papyrus.repo.main} + + + birt + p2 + http://download.eclipse.org/birt/update-site/luna-interim/ + + + cdt + p2 + http://download.eclipse.org/tools/cdt/builds/luna/milestones + + + emf + p2 + http://download.eclipse.org/modeling/emf/updates/ + + + emf-cdo + p2 + http://download.eclipse.org/modeling/emf/cdo/drops/S20140312-0256 + + + emf-compare + p2 + http://download.eclipse.org/modeling/emf/compare/updates/milestones/3.0/S201403111515 + + + emf-emf + p2 + http://download.eclipse.org/modeling/emf/emf/updates/milestones/ + + + emft-emffacet + p2 + http://download.eclipse.org/facet/updates/integration/0.4.0/I201402271523/ + + + emft-mwe + p2 + http://download.eclipse.org/modeling/emft/mwe/updates/milestones/S201403111231/mwe + + + emf-transaction + p2 + http://download.eclipse.org/modeling/emf/transaction/updates/milestones + + + emf-validation + p2 + http://download.eclipse.org/modeling/emf/validation/updates/milestones + + + ep + p2 + http://download.eclipse.org/eclipse/updates/4.4milestones/S-4.4M6-201403061200/ + + + gef + p2 + http://download.eclipse.org/tools/gef/updates/milestones + + + gmp-gmf-notation + p2 + http://download.eclipse.org/modeling/gmp/gmf-notation/updates/milestones + + + gmp-gmf-runtime + p2 + http://download.eclipse.org/modeling/gmp/gmf-runtime/updates/milestones + + + gmf-tooling + p2 + http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/milestones-3.2.M6a + + + m2m-atl + p2 + http://download.eclipse.org/mmt/atl/updates/milestones/3.5/ + + + m2t-acceleo + p2 + http://download.eclipse.org/acceleo/updates/milestones/3.5/S201403120947 + + + m2t-xpand + p2 + http://download.eclipse.org/modeling/m2t/xpand/updates/milestones/S201403111353/ + + + mdt-modisco + p2 + http://download.eclipse.org/modeling/mdt/modisco/updates/integration/0.12.0/I201401201815/ + + + mdt-ocl + p2 + http://download.eclipse.org/modeling/mdt/ocl/updates/milestones/5.0.0/S201403101212 + + + mdt-uml2 + p2 + http://download.eclipse.org/modeling/mdt/uml2/updates/5.0-I-builds + + + mmt-qvto + p2 + http://download.eclipse.org/mmt/qvto/updates/milestones/3.4.0/S201403110437 + + + mylyn + p2 + http://download.eclipse.org/mylyn/snapshots/3.11 + + + nattable + p2 + http://download.eclipse.org/nattable/releases/1.0.1/repository/ + + + orbit + p2 + http://download.eclipse.org/tools/orbit/downloads/drops/R20130517111416/repository + + + subversive + p2 + http://download.eclipse.org/technology/subversive/2.0/luna-site/ + + + tmf-xtext + p2 + http://download.eclipse.org/modeling/tmf/xtext/updates/milestones/head/S201403111428/ + + + webtools + p2 + http://download.eclipse.org/webtools/downloads/drops/R3.6.0/S-3.6.0M6-20140310170306/repository/ + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.6 + + UTF-8 + + + + org.eclipse.tycho + tycho-compiler-plugin + ${tycho-version} + + 1.6 + 1.6 + true + true + + + + org.eclipse.tycho + tycho-maven-plugin + ${tycho-version} + true + + + org.eclipse.tycho + target-platform-configuration + ${tycho-version} + + + + win32 + win32 + x86_64 + + + + + + org.eclipse.tycho + tycho-p2-repository-plugin + ${tycho-version} + + + org.eclipse.tycho + tycho-source-plugin + ${tycho-version} + + + plugin-source + + plugin-source + + + + + + org.eclipse.tycho.extras + tycho-source-feature-plugin + ${tychoExtrasVersion} + + + source-feature + package + + source-feature + + + + + + org.eclipse.tycho + tycho-p2-plugin + ${tycho-version} + + + attach-p2-metadata + package + + p2-metadata + + + + + + + \ No newline at end of file diff --git a/releng/top-pom-main.xml b/releng/top-pom-main.xml new file mode 100755 index 00000000000..5c0cc04f3bb --- /dev/null +++ b/releng/top-pom-main.xml @@ -0,0 +1,241 @@ + + + 4.0.0 + org.eclipse.papyrus + org.eclipse.papyrus + 1.0.0-SNAPSHOT + pom + + main + + + 0.20.0 + 0.20.0 + + + + birt + p2 + http://download.eclipse.org/birt/update-site/luna-interim/ + + + emf + p2 + http://download.eclipse.org/modeling/emf/updates/ + + + emf-compare + p2 + http://download.eclipse.org/modeling/emf/compare/updates/milestones/3.0/S201403111515 + + + emf-emf + p2 + http://download.eclipse.org/modeling/emf/emf/updates/milestones/ + + + emft-emffacet + p2 + http://download.eclipse.org/facet/updates/integration/0.4.0/I201402271523/ + + + emft-mwe[0] + p2 + http://download.eclipse.org/modeling/emft/mwe/updates/milestones/S201403111231/mwe + + + emft-mwe[1] + p2 + http://download.eclipse.org/modeling/emft/mwe/updates/milestones/S201403111450/mwe2lang + + + emf-transaction + p2 + http://download.eclipse.org/modeling/emf/transaction/updates/milestones + + + emf-validation + p2 + http://download.eclipse.org/modeling/emf/validation/updates/milestones + + + ep + p2 + http://download.eclipse.org/eclipse/updates/4.4milestones/S-4.4M6-201403061200/ + + + gef + p2 + http://download.eclipse.org/tools/gef/updates/milestones + + + gmp-gmf-notation + p2 + http://download.eclipse.org/modeling/gmp/gmf-notation/updates/milestones + + + gmp-gmf-runtime + p2 + http://download.eclipse.org/modeling/gmp/gmf-runtime/updates/milestones + + + gmf-tooling + p2 + http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/milestones-3.2.M6a + + + m2m-atl + p2 + http://download.eclipse.org/mmt/atl/updates/milestones/3.5/ + + + m2t-acceleo + p2 + http://download.eclipse.org/acceleo/updates/milestones/3.5/S201403120947 + + + m2t-xpand + p2 + http://download.eclipse.org/modeling/m2t/xpand/updates/milestones/S201403111353/ + + + mdt-modisco + p2 + http://download.eclipse.org/modeling/mdt/modisco/updates/integration/0.12.0/I201401201815/ + + + mdt-ocl + p2 + http://download.eclipse.org/modeling/mdt/ocl/updates/milestones/5.0.0/S201403101212 + + + mdt-uml2 + p2 + http://download.eclipse.org/modeling/mdt/uml2/updates/5.0-I-builds + + + mmt-qvto + p2 + http://download.eclipse.org/mmt/qvto/updates/milestones/3.4.0/S201403110437 + + + mylyn + p2 + http://download.eclipse.org/mylyn/snapshots/3.11 + + + nattable + p2 + http://download.eclipse.org/nattable/releases/1.0.1/repository/ + + + orbit + p2 + http://download.eclipse.org/tools/orbit/downloads/drops/R20130517111416/repository + + + subversive + p2 + http://download.eclipse.org/technology/subversive/2.0/luna-site/ + + + tmf-xtext + p2 + http://download.eclipse.org/modeling/tmf/xtext/updates/milestones/head/S201403111428/ + + + webtools + p2 + http://download.eclipse.org/webtools/downloads/drops/R3.6.0/S-3.6.0M6-20140310170306/repository/ + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.6 + + UTF-8 + + + + org.eclipse.tycho + tycho-compiler-plugin + ${tycho-version} + + 1.6 + 1.6 + true + true + + + + org.eclipse.tycho + tycho-maven-plugin + ${tycho-version} + true + + + org.eclipse.tycho + target-platform-configuration + ${tycho-version} + + + + win32 + win32 + x86_64 + + + + + + org.eclipse.tycho + tycho-p2-repository-plugin + ${tycho-version} + + + org.eclipse.tycho + tycho-source-plugin + ${tycho-version} + + + plugin-source + + plugin-source + + + + + + org.eclipse.tycho.extras + tycho-source-feature-plugin + ${tychoExtrasVersion} + + + source-feature + package + + source-feature + + + + + + org.eclipse.tycho + tycho-p2-plugin + ${tycho-version} + + + attach-p2-metadata + package + + p2-metadata + + + + + + + \ No newline at end of file diff --git a/releng/top-pom-rcp.xml b/releng/top-pom-rcp.xml new file mode 100755 index 00000000000..1492d1aaa08 --- /dev/null +++ b/releng/top-pom-rcp.xml @@ -0,0 +1,146 @@ + + + 4.0.0 + org.eclipse.papyrus + org.eclipse.papyrus + 1.0.0-SNAPSHOT + pom + + rcp/org.eclipse.papyrus.rcp + rcp/org.eclipse.papyrus.rcp.feature + rcp/org.eclipse.papyrus.rcp.product + + + 0.20.0 + 0.20.0 + + + + + eclipse + p2 + http://download.eclipse.org/releases/luna + + + ep + p2 + http://download.eclipse.org/eclipse/updates/4.4 + + + emf-cdo + p2 + http://download.eclipse.org/modeling/emf/cdo/drops/S20140312-0256 + + + + + papyrus-main + p2 + ${papyrus.repo.main} + + + papyrus-extras + p2 + ${papyrus.repo.extras} + + + papyrus-dev + p2 + ${papyrus.repo.dev} + + + + + subversive + p2 + http://download.eclipse.org/technology/subversive/2.0/update-site/ + + + gmp-gmf-notation + p2 + http://download.eclipse.org/modeling/gmp/gmf-notation/updates/milestones + + + gmp-gmf-runtime + p2 + http://download.eclipse.org/modeling/gmp/gmf-runtime/updates/milestones + + + gmf-tooling + p2 + http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/milestones-3.2.M6a + + + otdt + p2 + http://download.eclipse.org/objectteams/updates/ot2.2/ + + + + + + + org.eclipse.tycho + tycho-maven-plugin + ${tycho-version} + true + + + org.eclipse.tycho + tycho-versions-plugin + ${tycho-version} + + + org.eclipse.tycho + target-platform-configuration + ${tycho-version} + + + + linux + gtk + x86_64 + + + linux + gtk + x86 + + + win32 + win32 + x86_64 + + + win32 + win32 + x86 + + + + + + + org.eclipse.tycho + tycho-source-plugin + ${tycho-version} + + + plugin-source + + plugin-source + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.5 + + UTF-8 + + + + + -- cgit v1.2.3