Use p2 publisher for metadata, added stops for manual processing
diff --git a/releng/org.eclipse.rap.tools.releng/scripts/publish.sh b/releng/org.eclipse.rap.tools.releng/scripts/publish.sh
index b56fd29..f048a77 100755
--- a/releng/org.eclipse.rap.tools.releng/scripts/publish.sh
+++ b/releng/org.eclipse.rap.tools.releng/scripts/publish.sh
@@ -6,6 +6,7 @@
# http://wiki.eclipse.org/JarProcessor_Options
# http://java.sun.com/j2se/1.5.0/docs/api/java/util/jar/Pack200.Packer.html
# http://wiki.eclipse.org/Pack200
+# http://wiki.eclipse.org/Equinox/p2/Publisher
INPUT_ARCHIVE=
ZIP_DOWNLOAD_PATH=
@@ -213,28 +214,31 @@
rm -f "$inputDir/artifacts.jar" && rm -f "$inputDir/content.jar" || return 1
# create new metadata
if [ -e "$inputDir/site.xml" ]; then
- $JAVA_HOME/bin/java -Xmx512m -cp $ECLIPSE_LAUNCHER org.eclipse.core.launcher.Main \
- -application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator \
- -updateSite "$inputDir" \
- -site "file:$inputDir/site.xml" \
- -metadataRepository "file:$inputDir" \
+ $JAVA_HOME/bin/java -cp $ECLIPSE_LAUNCHER org.eclipse.core.launcher.Main \
+ -application org.eclipse.equinox.p2.publisher.UpdateSitePublisher \
+ -metadataRepository file://$inputDir \
+ -artifactRepository file://$inputDir \
-metadataRepositoryName "RAP Update Site" \
- -artifactRepository "file:$inputDir" \
-artifactRepositoryName "RAP Artifacts" \
+ -source $inputDir \
+ -configs gtk.linux.x86 \
+ -reusePackedFiles \
-compress \
- -reusePack200Files \
- -noDefaultIUs || return 1
+ -publishArtifacts
else
- $JAVA_HOME/bin/java -Xmx512m -cp $ECLIPSE_LAUNCHER org.eclipse.core.launcher.Main \
- -application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator \
- -updateSite "$inputDir" \
- -metadataRepository "file://$inputDir" \
- -metadataRepositoryName "RAP Update Site" \
- -artifactRepository "file://$inputDir" \
- -artifactRepositoryName "RAP Artifacts" \
- -reusePack200Files -noDefaultIUs || return 1
-# -compress
+ $JAVA_HOME/bin/java -cp $ECLIPSE_LAUNCHER org.eclipse.core.launcher.Main \
+ -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher \
+ -metadataRepository file://$inputDir \
+ -artifactRepository file://$inputDir \
+ -metadataRepositoryName "RAP Runtime SDK Repository" \
+ -artifactRepositoryName "RAP Runtime SDK Repository" \
+ -source $inputDir \
+ -configs gtk.linux.x86 \
+ -reusePackedFiles \
+ -compress \
+ -publishArtifacts
fi
+ test $? -eq 0 || return 1
echo ok
}
@@ -257,23 +261,20 @@
################################################################################
# MAIN
-if [ $# -gt 0 ]; then
-
- parseArguments "$@"
+# allow sourcing this script
+if [ -n "$PUBLISH_SCRIPT_INCLUDE" ]; then
findLauncher
- getUsername || exit 1
-
-else
-
- # do not call exit if no args - enables sourcing this script
- printUsage
-
+ return
fi
+parseArguments "$@"
+findLauncher
+getUsername || exit 1
+
if [ -n "$ZIP_DOWNLOAD_PATH" -o -n "$UPDATE_SITE_PATH" ]; then
# pack200 - normalize
- echo "=== normalize $INPUT_ARCHIVE (pack200)"
+ echo "=== normalize (pack200) $INPUT_ARCHIVE"
packBuild normalize "$INPUT_ARCHIVE" normalized-$INPUT_ARCHIVE_NAME || exit 1
# sign
@@ -302,6 +303,14 @@
mv newSite/eclipse _eclipse_ && rm -rf newSite && mv _eclipse_ newSite || exit 1
fi
+ # TODO manual processing necessary here:
+ if [ "${INPUT_ARCHIVE_NAME:0:11}" == "rap-runtime" ]; then
+ echo "--- manual processing needed here ---"
+ echo "replace folders with jars: both features and org.junit plug-in"
+ echo -n "press ok when finished "
+ read c
+ fi
+
# download old site
echo "=== merge repository dev.eclipse.org:$DOWNLOAD_LOCATION/$UPDATE_SITE_PATH/"
echo "update local copy of repository..."
@@ -325,6 +334,9 @@
# upload
echo "=== upload repository"
+ echo check local repository before uploading: $copySite
+ echo -n "press ok to upload "
+ read c
rsync -av --progress \
$copySite/ \
$BUILD_USER@dev.eclipse.org:$DOWNLOAD_LOCATION/$UPDATE_SITE_PATH/ || exit 1