Commit 35f6dbc1 authored by Stephan Eberle's avatar Stephan Eberle
Browse files

Enhanced publishing shell script to automatically initialize Sphinx

.../updates/n.m.x update site when publishing n.m.0 releases at
.../releases/n.m.x
parent 6aba4f83
Loading
Loading
Loading
Loading
+75 −45
Original line number Diff line number Diff line
@@ -88,38 +88,51 @@ targetBackupLocation=$localRelengProjectLocation/backup
case $BUILD_TYPE in
    I) if [ $SERVICE_RELEASE_NUMBER == "0" ];
			then
				applicableTargetUpdateSitePath=$targetBasePath/previews
				applicableTargetJavadocSitePath=$targetBasePath/previews/javadoc
				targetUpdateSitePath=$targetBasePath/previews
				targetJavadocSitePath=$targetBasePath/previews/javadoc
			else
				applicableTargetUpdateSitePath=$targetBasePath/updates/$releaseStreamName
				applicableTargetJavadocSitePath=$targetBasePath/updates/$releaseStreamName/javadoc
				targetUpdateSitePath=$targetBasePath/updates/$releaseStreamName
				targetJavadocSitePath=$targetBasePath/updates/$releaseStreamName/javadoc
	   fi
       applicableUpdateSiteArchiveFileName=$updateSiteArchiveFileNamePrefix-$release.$BUILD_TYPE$BUILD_ID.zip
       updateSiteArchiveFileName=$updateSiteArchiveFileNamePrefix-$release.$BUILD_TYPE$BUILD_ID.zip
       ;;
    M|RC) if [ $SERVICE_RELEASE_NUMBER == "0" ];
			then
				applicableTargetUpdateSitePath=$targetBasePath/previews
				applicableTargetJavadocSitePath=$targetBasePath/previews/javadoc
				targetUpdateSitePath=$targetBasePath/previews
				targetJavadocSitePath=$targetBasePath/previews/javadoc
			else
				applicableTargetUpdateSitePath=$targetBasePath/updates/$releaseStreamName
				applicableTargetJavadocSitePath=$targetBasePath/updates/$releaseStreamName/javadoc
				targetUpdateSitePath=$targetBasePath/updates/$releaseStreamName
				targetJavadocSitePath=$targetBasePath/updates/$releaseStreamName/javadoc
		  fi
            applicableUpdateSiteArchiveFileName=$updateSiteArchiveFileNamePrefix-$release$BUILD_TYPE$BUILD_ID.zip
          updateSiteArchiveFileName=$updateSiteArchiveFileNamePrefix-$release$BUILD_TYPE$BUILD_ID.zip
          ;;
    R) applicableTargetUpdateSitePath=$targetBasePath/releases/$releaseStreamName
       applicableTargetJavadocSitePath=$targetBasePath/releases/$releaseStreamName/javadoc
       applicableUpdateSiteArchiveFileName=$updateSiteArchiveFileNamePrefix-$release.zip
    R) targetUpdateSitePath=$targetBasePath/releases/$releaseStreamName
       targetJavadocSitePath=$targetBasePath/releases/$releaseStreamName/javadoc
       if [ $SERVICE_RELEASE_NUMBER == "0" ];
			then
		       companionUpdateSitePath=$targetBasePath/updates/$releaseStreamName
		       companionJavadocSitePath=$targetBasePath/updates/$releaseStreamName/javadoc
	   fi
       updateSiteArchiveFileName=$updateSiteArchiveFileNamePrefix-$release.zip
       ;;
    T) applicableTargetUpdateSitePath=$targetBasePath/test/$releaseStreamName
       applicableTargetJavadocSitePath=$targetBasePath/test/$releaseStreamName/javadoc
       applicableUpdateSiteArchiveFileName=$updateSiteArchiveFileNamePrefix-$release.$BUILD_TYPE$BUILD_ID.zip
    T) targetUpdateSitePath=$targetBasePath/test/$releaseStreamName
       targetJavadocSitePath=$targetBasePath/test/$releaseStreamName/javadoc
       updateSiteArchiveFileName=$updateSiteArchiveFileNamePrefix-$release.$BUILD_TYPE$BUILD_ID.zip
       ;;
    *) exit 0
       ;;
esac
applicableTargetUpdateSiteLocation="$eclipseDownloadsLocation/$applicableTargetUpdateSitePath"
applicableTargetJavadocSiteLocation="$eclipseDownloadsLocation/$applicableTargetJavadocSitePath"
applicableLocalUpdateSiteArchiveLocation=$localDownloadSiteLocation/$applicableUpdateSiteArchiveFileName
targetUpdateSiteLocation="$eclipseDownloadsLocation/$targetUpdateSitePath"
targetJavadocSiteLocation="$eclipseDownloadsLocation/$targetJavadocSitePath"
if [ -n "$companionUpdateSitePath" ];
	then
		companionUpdateSiteLocation="$eclipseDownloadsLocation/$companionUpdateSitePath"
fi
if [ -n "$companionJavadocSitePath" ];
	then
		companionJavadocSiteLocation="$eclipseDownloadsLocation/$companionJavadocSitePath"
fi
localUpdateSiteArchiveLocation=$localDownloadSiteLocation/$updateSiteArchiveFileName

#############################################################################################
# Eclipse installation (required to create merged update site and set p2.mirrorsURL property)
@@ -171,36 +184,36 @@ echo "------------------------------------------------------------------------"
echo "Creating archived update site"
echo "------------------------------------------------------------------------"

echo "Archiving $localUpdateSiteLocation/* into $applicableLocalUpdateSiteArchiveLocation"
echo "Archiving $localUpdateSiteLocation/* into $localUpdateSiteArchiveLocation"
rm -rf $localDownloadSiteLocation
mkdir $localDownloadSiteLocation
zip -rq $applicableLocalUpdateSiteArchiveLocation $localUpdateSiteLocation/*
zip -rq $localUpdateSiteArchiveLocation $localUpdateSiteLocation/*

echo "------------------------------------------------------------------------"
echo "Publishing archived update site"
echo "------------------------------------------------------------------------"

echo "Copying $applicableLocalUpdateSiteArchiveLocation to $targetDownloadsLocation"
echo "Copying $localUpdateSiteArchiveLocation to $targetDownloadsLocation"
mkdir -p $targetDownloadsLocation
cp $applicableLocalUpdateSiteArchiveLocation $targetDownloadsLocation
cp $localUpdateSiteArchiveLocation $targetDownloadsLocation

if [ $MERGE_UPDATE_SITE != "false" ] && [ -f $applicableTargetUpdateSiteLocation/content.* ];
if [ $MERGE_UPDATE_SITE != "false" ] && [ -f $targetUpdateSiteLocation/content.* ];
	then
		echo "------------------------------------------------------------------------"
		echo "Merging project update site into build update site"
		echo "------------------------------------------------------------------------"

        echo "Merging $applicableTargetUpdateSiteLocation into $localUpdateSiteLocation"
        $eclipseInstallLocation/eclipse -nosplash --launcher.suppressErrors -clean -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source file:$applicableTargetUpdateSiteLocation -destination file:$localUpdateSiteLocation
        $eclipseInstallLocation/eclipse -nosplash --launcher.suppressErrors -clean -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -source file:$applicableTargetUpdateSiteLocation -destination file:$localUpdateSiteLocation
        echo "Merging $targetUpdateSiteLocation into $localUpdateSiteLocation"
        $eclipseInstallLocation/eclipse -nosplash --launcher.suppressErrors -clean -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source file:$targetUpdateSiteLocation -destination file:$localUpdateSiteLocation
        $eclipseInstallLocation/eclipse -nosplash --launcher.suppressErrors -clean -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -source file:$targetUpdateSiteLocation -destination file:$localUpdateSiteLocation
fi

echo "------------------------------------------------------------------------"
echo "Setting p2.mirrorsURL property"
echo "------------------------------------------------------------------------"

echo "Setting p2.mirrorsURL property of $localUpdateSiteLocation to http://www.eclipse.org/downloads/download.php?format=xml&file=/$applicableTargetUpdateSitePath (see https://wiki.eclipse.org/WTP/Releng/Tools/addRepoProperties for details)"
$eclipseInstallLocation/eclipse -nosplash --launcher.suppressErrors -clean -application org.eclipse.wtp.releng.tools.addRepoProperties -vmargs -DartifactRepoDirectory=$localUpdateSiteLocation -Dp2MirrorsURL="http://www.eclipse.org/downloads/download.php?format=xml&file=/$applicableTargetUpdateSitePath"
echo "Setting p2.mirrorsURL property of $localUpdateSiteLocation to http://www.eclipse.org/downloads/download.php?format=xml&file=/$targetUpdateSitePath (see https://wiki.eclipse.org/WTP/Releng/Tools/addRepoProperties for details)"
$eclipseInstallLocation/eclipse -nosplash --launcher.suppressErrors -clean -application org.eclipse.wtp.releng.tools.addRepoProperties -vmargs -DartifactRepoDirectory=$localUpdateSiteLocation -Dp2MirrorsURL="http://www.eclipse.org/downloads/download.php?format=xml&file=/$targetUpdateSitePath"

if [ ! -f "$localUpdateSiteLocation/p2.index" ];
    then
@@ -214,34 +227,51 @@ if [ ! -f "$localUpdateSiteLocation/p2.index" ];
        echo "artifact.repository.factory.order = artifacts.xml,\!" >> $localUpdateSiteLocation/p2.index
fi

if [ -f "$applicableTargetUpdateSiteLocation/content.jar" ];
if [ -f "$targetUpdateSiteLocation/content.jar" ];
    then
		echo "------------------------------------------------------------------------"
		echo "Creating backup of target update site and JavaDoc"
		echo "------------------------------------------------------------------------"

		echo "Copying $applicableTargetUpdateSiteLocation/* to $targetBackupLocation"
		echo "Copying $targetUpdateSiteLocation/* to $targetBackupLocation"
        rm -rf $targetBackupLocation
        mkdir $targetBackupLocation
        cp -r $applicableTargetUpdateSiteLocation/* $targetBackupLocation/
        cp -r $targetUpdateSiteLocation/* $targetBackupLocation/
fi

echo "------------------------------------------------------------------------"
echo "Publishing update site"
echo "------------------------------------------------------------------------"

echo "Removing $applicableTargetUpdateSiteLocation"
rm -rf $applicableTargetUpdateSiteLocation
echo "Copying $localUpdateSiteLocation/* to $applicableTargetUpdateSiteLocation"
mkdir -p $applicableTargetUpdateSiteLocation
cp -r $localUpdateSiteLocation/* $applicableTargetUpdateSiteLocation
echo "Removing $targetUpdateSiteLocation"
rm -rf $targetUpdateSiteLocation
echo "Copying $localUpdateSiteLocation/* to $targetUpdateSiteLocation"
mkdir -p $targetUpdateSiteLocation
cp -r $localUpdateSiteLocation/* $targetUpdateSiteLocation
if [ -n "$companionUpdateSitePath" ];
	then
		echo "Removing $companionUpdateSiteLocation"
		rm -rf $companionUpdateSiteLocation
		echo "Copying $localUpdateSiteLocation/* to $companionUpdateSiteLocation"
		mkdir -p $companionUpdateSiteLocation
		cp -r $localUpdateSiteLocation/* $companionUpdateSiteLocation
fi


echo "------------------------------------------------------------------------"
echo "Publishing JavaDoc"
echo "------------------------------------------------------------------------"

echo "Removing $applicableTargetJavadocSiteLocation"
rm -rf $applicableTargetJavadocSiteLocation
echo "Copying $buildJavadocSiteLocation/* to $applicableTargetJavadocSiteLocation"
mkdir -p $applicableTargetJavadocSiteLocation
cp -r $buildJavadocSiteLocation/* $applicableTargetJavadocSiteLocation
echo "Removing $targetJavadocSiteLocation"
rm -rf $targetJavadocSiteLocation
echo "Copying $buildJavadocSiteLocation/* to $targetJavadocSiteLocation"
mkdir -p $targetJavadocSiteLocation
cp -r $buildJavadocSiteLocation/* $targetJavadocSiteLocation
if [ -n "$companionJavadocSitePath" ];
	then
		echo "Removing $companionJavadocSiteLocation"
		rm -rf $companionJavadocSiteLocation
		echo "Copying $buildJavadocSiteLocation/* to $companionJavadocSiteLocation"
		mkdir -p $companionJavadocSiteLocation
		cp -r $buildJavadocSiteLocation/* $companionJavadocSiteLocation
fi
 No newline at end of file