Bug 497067 - Remove old publish.sh script
- remove the publish script and its readme
Change-Id: Iddd7320885e35deedaeb210b7b42bf9db486e860
Signed-off-by: Benoit Maggi <benoit.maggi@cea.fr>
diff --git a/releng/org.eclipse.papyrus.information.modeling.p2/publish.README b/releng/org.eclipse.papyrus.information.modeling.p2/publish.README
deleted file mode 100755
index 66b977d..0000000
--- a/releng/org.eclipse.papyrus.information.modeling.p2/publish.README
+++ /dev/null
@@ -1,3 +0,0 @@
-The publish.sh script may be used to publish the build results (update site). The script may be called
-without parameters and prompts for everything it requires for publishing an update site, or it may be
-invoked with respective command line parameters.
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.information.modeling.p2/publish.sh b/releng/org.eclipse.papyrus.information.modeling.p2/publish.sh
deleted file mode 100755
index 973dce5..0000000
--- a/releng/org.eclipse.papyrus.information.modeling.p2/publish.sh
+++ /dev/null
@@ -1,406 +0,0 @@
-#!/bin/sh
-#Based upon Gef4 publish.sh script
-
-#causes the shell to exit if any subcommand or pipeline returns a non-zero status.
-#set -e
-
-# Script may take 10-11 command line parameters:
-# $1: Hudson job name: <name>
-# $2: Hudson build id: <id>
-# $3: Build type: i(ntegration), s(table), r(elease)
-# $4: Whether to promote to an update-site: (y)es, (n)o
-# $5: Whether to merge the site with an existing one: (y)es, (n)o
-# $6: Whether to generate drop files: (y)es, (n)o
-# $7: The release label used to label the drop files and (nested) update site, e.g. 3.10.0 or 3.10.1
-# $8: The eclipse target version, e.g. neon
-# $9: Whether to generate rcp files: (y)es, (n)o
-# $10: Papyrus component
-# $11: An optional release label suffix to be appended to drop files and (nested) update site name, e.g. M1, RC1
-
-#The publish.sh script may be used to publish the build results (update site and drop files and rcp). The script may be called
-#without parameters and prompts for everything it requires for publishing an update site, or it may be
-#invoked with respective command line parameters.
-if [ $# -eq 10 -o $# -eq 11 ];
-then
- jobName=${1}
- echo "jobName: $jobName"
- buildId=${2}
- echo "buildId: $buildId"
- buildType=${3}
- echo "buildType: $buildType"
- site=${4}
- echo "site: $site"
- merge=${5}
- echo "merge: $merge"
- dropFiles=${6}
- echo "dropFiles: $dropFiles"
- releaseLabel=${7}
- echo "releaseLabel: $releaseLabel"
- eclipseTarget=${8}
- echo "eclipseTarget: $eclipseTarget"
- rcpFiles=${9}
- echo "rcpFiles: $rcpFiles"
- component=${10}
- echo "component: $component"
- if [ -n "${11}" ];
- then
- releaseLabelSuffix=${11}
- echo "releaseLabelSuffix: $releaseLabelSuffix"
- fi
-else
- if [ $# -ne 0 ];
- then
- exit 1
- fi
-fi
-
-#The root url that enables to find the job with ${hudsonJobRootUrl}/$jobName/$buildId
-hudsonJobRootUrl="https://hudson.eclipse.org/papyrus/job/"
-
-#The localization of the local build target update site
-targetUpdateSite="archive/releng/org.eclipse.papyrus.${component}.p2/target/repository"
-targetRCPRoot="archive/releng/org.eclipse.papyrus.${component}.product/target/products/org.eclipse.papyrus.${component}.product"
-
-#The feature to parse to retrieve the qualifierversion
-feature2Parse4QualifierVersion="org.eclipse.papyrus.${component}.feature"
-
-#The specific localization
-hudsonRoot="/home/data/httpd/download.eclipse.org/"
-
-remoteUpdateSiteRoot="modeling/mdt/papyrus/components/${component}"
-remoteDropDir=${hudsonRoot}/${remoteUpdateSiteRoot}/downloads/${releaseLabel}/drops
-remoteUpdateSite="${hudsonRoot}/${remoteUpdateSiteRoot}/${remoteSite}"
-remoteRcpDir=${hudsonRoot}/${remoteUpdateSiteRoot}/downloads/${releaseLabel}/rcps
-
-
-
-if [ -z "$jobName" ];
-then
- echo -n "Please enter the name of the Hudson job you want to promote:"
- read jobName
-fi
-
-if [ -z "$buildId" ];
-then
- for i in $( find ~/.hudson/jobs/$jobName/builds -type l | sed 's!.*/!!' | sort)
- do
- echo -n "$i, "
- done
- echo "lastStable, lastSuccessful"
- echo -n "Please enter the id of the $jobName build you want to promote:"
- read buildId
-fi
-
-if [ "$buildId" = "lastStable" -o "$buildId" = "lastSuccessful" ];
-then
- # Reverse lookup the build id (in case lastSuccessful or lastStable was used)
- for i in $(find ~/.hudson/jobs/$jobName/builds/ -type l)
- do
- if [ "$(readlink -f $i)" = "$(readlink -f ~/.hudson/jobs/$jobName/$buildId)" ];
- then
- buildId=${i##*/}
- fi
- done
- echo "Reverse lookup (lastStable/lastSuccessful) yielded buildId: $buildId"
-fi
-
-# Determine the local update site we want to publish to
-jobDir=$(readlink -f ~/.hudson/jobs/${jobName}/builds/${buildId})
-if [ ! -d $jobDir ];
-then
- echo "The specified buildId does not refer to an existing build: $buildId"
- exit 1
-fi
-
-
-localUpdateSite=${jobDir}/${targetUpdateSite}
-echo "jobDir=${jobDir}"
-echo "targetUpdateSite=${targetUpdateSite}"
-echo "localUpdateSite=${localUpdateSite}"
-
-localRCPSiteRoot=${jobDir}/${targetRCPRoot}
-echo "localRCPSiteRoot=${localRCPSiteRoot}"
-
-echo "Publishing from local update site: $localUpdateSite"
-
-# Select the build type
-if [ -z "$buildType" ];
-then
- echo -n "Please select which type of build you want to publish to [i(integration), s(table), r(elease)]: "
- read buildType
-fi
-echo "Publishing as $buildType build"
-
-# check if we are going to promote to an update-site
-if [ -z "$site" ];
-then
- echo -n "Do you want to promote to an remote update site? [(y)es, (n)o]:"
- read site
-fi
-if [ "$site" != y -a "$site" != n ];
-then
- echo "Parameter site has to be 'y'(es) or 'n'(o) but was: $site"
- exit 0
-fi
-echo "Promoting to remote update site: $site"
-
-if [ "$site" = y ];
-then
- # Determine remote update site we want to promote to
- case $buildType in
- i|I) remoteSite=integration;;
- s|S) remoteSite=milestones;;
- r|R) remoteSite=releases;;
- *)
- echo "Parameter buildType has to be 'i'(ntegration), 's'(stable), or 'r'(elease), but was: $buildType"
- exit 1 ;;
- esac
-
- echo "Publishing to remote update-site: $remoteUpdateSite"
-
- if [ -d "$remoteUpdateSite" ];
- then
- if [ -z "$merge" ];
- then
- echo -n "Do you want to merge with the existing update-site? [(y)es, (n)o]:"
- read merge
- fi
- if [ "$merge" != y -a "$merge" != n ];
- then
- echo "Parameter merge has to be 'y'(es) or 'n'(o) but was: $merge"
- exit 1
- fi
- else
- merge=n
- fi
- echo "Merging with existing site: $merge"
-fi
-
-# check if we are going to create drop files
-if [ -z "$dropFiles" ];
-then
- echo -n "Do you want to create drop files? [(y)es, (n)o]:"
- read dropFiles
-fi
-if [ "$dropFiles" != y -a "$dropFiles" != n ];
-then
- echo "Parameter dropFiles has to be 'y'(es) or 'n'(o) but was: $dropFiles"
- exit 1
-fi
-echo "Generating drop files: $dropFiles"
-
-# Determine releaseLabel
-if [ -z "$releaseLabel" ];
-then
- echo -n "Please enter release label (e.g. 3.10.0, 3.10.1M2):"
- read releaseLabel
-fi
-
-# Prepare a temp directory
-mkdir -p target
-cd target
-tmpDir="$jobName-publish-tmp"
-rm -fr $tmpDir
-mkdir -p $tmpDir
-cd $tmpDir
-
-# Download and prepare Eclipse SDK, which is needed to merge update site and postprocess repository
-echo "Downloading eclipse to $PWD"
-
-cp /home/data/httpd/download.eclipse.org/eclipse/downloads/drops4/R-4.4.2-201502041700/eclipse-SDK-4.4.2-linux-gtk-x86_64.tar.gz .
-tar -xzf eclipse-SDK-4.4.2-linux-gtk-x86_64.tar.gz
-cd eclipse
-chmod 700 eclipse
-cd ..
-if [ ! -d "eclipse" ];
-then
- echo "Failed to download an Eclipse SDK, being needed for provisioning."
- exit
-fi
-# Prepare Eclipse SDK to provide WTP releng tools (used to postprocess repository, i.e set p2.mirrorsURL property)
-echo "Installing WTP Releng tools"
-./eclipse/eclipse -nosplash --launcher.suppressErrors -clean -debug -application org.eclipse.equinox.p2.director -repository http://download.eclipse.org/webtools/releng/repository/ -installIUs org.eclipse.wtp.releng.tools.feature.feature.group
-# Clean up
-echo "Cleaning up"
-rm eclipse-SDK-4.4.2-linux-gtk-x86_64.tar.gz
-
-# Generate drop files
-if [ "$dropFiles" = y ];
- then
-
- # Prepare local update site (for drop files)
- mkdir -p update-site
- cp -R $localUpdateSite/* update-site/
- echo "Copied $localUpdateSite to local directory update-site."
-
- qualifiedVersion=$(find update-site/features/ -maxdepth 1 | grep "${feature2Parse4QualifierVersion}")
- qualifiedVersion=${qualifiedVersion%.jar}
- qualifiedVersion=${qualifiedVersion#*_}
- qualifier=${qualifiedVersion##*.}
- dropDir="${releaseLabel}/$(echo $buildType | tr '[:lower:]' '[:upper:]')$qualifier"
- localDropDir=drops/$dropDir
- echo "Creating drop files in local directory $localDropDir"
- mkdir -p $localDropDir
-
- cd update-site
- zip -r ../$localDropDir/${component}-Update-${releaseLabel}${releaseLabelSuffix}.zip features plugins artifacts.jar content.jar
- md5sum ../$localDropDir/${component}-Update-${releaseLabel}${releaseLabelSuffix}.zip > ../$localDropDir/${component}-Update-${releaseLabel}${releaseLabelSuffix}.zip.md5
- echo "Created ${component}-Update-Site-${releaseLabel}${releaseLabelSuffix}.zip"
- cd ..
-
- # Cleanup local update site (for drop files generation)
- rm -fr update-site
-
- #generating build.cfg file to be referenced from downloads web page
- echo "generating build.cfg file to be referenced from downloads web page"
- echo "hudson.job.name=$jobName" > $localDropDir/build.cfg
- echo "hudson.job.id=$buildId (${jobDir##*/})" >> $localDropDir/build.cfg
- echo "hudson.job.url= ${hudsonJobRootUrl}/$jobName/$buildId" >> $localDropDir/build.cfg
-
- mkdir -p ${remoteDropDir}
- cp -R $localDropDir/* ${remoteDropDir}/
-
-fi
-
-# Generate RCP files
-if [ "$rcpFiles" = y ];
- then
-
- # Prepare local rcp site (for rcp files)
- mkdir -p rcp-site
- cp ${localRCPSiteRoot}-linux.gtk.x86_64.zip rcp-site/org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-linux.gtk.x86_64.zip
- echo "Copied ${localRCPSiteRoot}-linux.gtk.x86_64.zip to local directory rcp-site."
- cp ${localRCPSiteRoot}-macosx.cocoa.x86_64.tar.gz rcp-site/org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-macosx.cocoa.x86_64.tar.gz
- echo "Copied ${localRCPSiteRoot}-macosx.cocoa.x86_64.tar.gz to local directory rcp-site."
- cp ${localRCPSiteRoot}-win32.win32.x86_64.zip rcp-site/org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-win32.win32.x86_64.zip
- echo "Copied ${localRCPSiteRoot}-win32.win32.x86_64.zip to local directory rcp-site."
-
- qualifiedVersion=$(find update-site/features/ -maxdepth 1 | grep "${feature2Parse4QualifierVersion}")
- qualifiedVersion=${qualifiedVersion%.jar}
- qualifiedVersion=${qualifiedVersion#*_}
- qualifier=${qualifiedVersion##*.}
- dropDir="${releaseLabel}/$(echo $buildType | tr '[:lower:]' '[:upper:]')$qualifier"
-
- localRcpDir=rcps/$dropDir
- echo "Creating rcp files in local directory $localRcpDir"
- mkdir -p $localRcpDir
-
- cd rcp-site
- cp * ../$localRcpDir/
-
- echo "Created org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-linux.gtk.x86_64.zip in ../$localRcpDir/"
- cd ..
-
- # Cleanup local update site (for drop files generation)
- rm -fr rcp-site
-
- mkdir -p ${remoteRcpDir}/
- cp -R $localRcpDir/* ${remoteRcpDir}/
-
-fi
-
-if [ "$site" = y ];
-then
- mkdir -p update-site
- updateSiteLabel=${releaseLabel}${releaseLabelSuffix}_${jobName}_${buildId}
- # Prepare composite local update site (transfer into composite if needed)
- if [ "$merge" = y ];
- then
- # check if the remote site is a composite update site
- echo "Merging existing site into local one."
- #if [ -e "$remoteUpdateSite/compositeArtifacts.xml" ];
- #then
- cp -R $remoteUpdateSite/* update-site/
- #else
- # mkdir -p update-site/pre_${updateSiteLabel}
- # cp -R $remoteUpdateSite/* update-site/pre_${updateSiteLabel}/
- #fi
- else
- echo "Skipping merge operation."
- fi
- # move local update site below composite one
- mkdir -p update-site/${updateSiteLabel}
- cp -R $localUpdateSite/* update-site/${updateSiteLabel}/
-
- cd update-site
- children=$(find . -maxdepth 1 -type d -print | wc -l)
- children=$(($children-1))
- timestamp=$(date +%s000)
-
-content="
-<?xml version='1.0' encoding='UTF-8'?>
-<?compositeMetadataRepository version='1.0.0'?>
-<repository name='${component} ${remoteSite}' type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1.0.0'>
-<properties size='1'>
-<property name='p2.timestamp' value='${timestamp}'/>
-</properties>
-<children size='${children}'>
-$(
-for file in *; do
- if [ -d $file ]; then
-printf "<child location='${file}'/>"
- fi
-done
-)
-</children>
-</repository>
-"
- echo $content > compositeContent.xml
-
-artifact="
-<?xml version='1.0' encoding='UTF-8'?>
-<?compositeArtifactRepository version='1.0.0'?>
-<repository name='${component} ${remoteSite}' type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1.0.0'>
-<properties size='1'>
-<property name='p2.timestamp' value='${timestamp}'/>
-</properties>
-<children size='${children}'>
-$(
-for file in *; do
- if [ -d $file ]; then
-printf "<child location='${file}'/>"
- fi
-done
-)
-</children>
-</repository>
-"
- echo $artifact > compositeArtifacts.xml
-
- cd ..
-
- # Ensure p2.mirrorURLs property is used in update site
- echo "Updating p2.mirrorURLs property."
- ./eclipse/eclipse -nosplash --launcher.suppressErrors -clean -debug -application org.eclipse.wtp.releng.tools.addRepoProperties -vmargs -DartifactRepoDirectory=$PWD/update-site/${updateSiteLabel} -Dp2MirrorsURL="http://www.eclipse.org/downloads/download.php?format=xml&file=/${remoteUpdateSiteRoot}/${remoteSite}/${updateSiteLabel}"
-
- # Create p2.index file
- if [ ! -e "update-site/p2.index" ];
- then
- echo "Creating p2.index file."
- echo "version = 1" > update-site/p2.index
- echo "metadata.repository.factory.order=compositeContent.xml,\!" >> update-site/p2.index
- echo "artifact.repository.factory.order=compositeArtifacts.xml,\!" >> update-site/p2.index
- fi
-
- # Backup then clean remote update site
- echo "Creating backup of remote update site."
- if [ -d "$remoteUpdateSite" ];
- then
- if [ -d BACKUP ];
- then
- rm -fr BACKUP
- fi
- mkdir BACKUP
- cp -R $remoteUpdateSite/* BACKUP/
- rm -fr $remoteUpdateSite
- fi
-
- echo "Publishing contents of local update-site directory to remote update site $remoteUpdateSite"
- mkdir -p $remoteUpdateSite
- cp -R update-site/* $remoteUpdateSite/
-fi
-
-# Clean up
-echo "Cleaning up"
-rm -fr eclipse
-rm -fr update-site
\ No newline at end of file