From dab24cbeea9ff7aba7c56c68c2e58dce28054710 Mon Sep 17 00:00:00 2001
From: ndai <ndai>
Date: Fri, 28 Jul 2006 15:22:38 +0000
Subject: [PATCH] [152153] All-in-one packaging

---
 releng.control/committer.properties           |   1 +
 releng.wtpbuilder/build.xml                   |   6 +
 .../components/jst-sdk/customTargets.xml      | 160 ++++++++++++------
 .../distribution/wtp.site/build.xml           |   3 +
 releng.wtpbuilder/scripts/build/build.xml     |   1 +
 .../scripts/dependency/template.xml           |  12 +-
 6 files changed, 131 insertions(+), 52 deletions(-)

diff --git a/releng.control/committer.properties b/releng.control/committer.properties
index 13e042225..e111009a4 100644
--- a/releng.control/committer.properties
+++ b/releng.control/committer.properties
@@ -19,5 +19,6 @@ basews=gtk
 basearch=x86
 
 build.clean=true
+build.pack-all-in-one=false
 
 java15-home=/shared/webtools/apps/ibm-java2-ppc-50
\ No newline at end of file
diff --git a/releng.wtpbuilder/build.xml b/releng.wtpbuilder/build.xml
index 5b5127ac0..baee54ede 100644
--- a/releng.wtpbuilder/build.xml
+++ b/releng.wtpbuilder/build.xml
@@ -6,6 +6,8 @@
 		<ant antfile="${wtp.builder.home}/distribution/${build.distribution}.build/build.xml">
 			<property name="wtp.builder.home" value="${wtp.builder.home}" />
 			<property name="buildBranch" value="${buildBranch}" />
+        	<property name="build.pack-all-in-one" value="${build.pack-all-in-one}"/>
+
 		</ant>
 	</target>
 
@@ -14,6 +16,7 @@
 		<ant antfile="${wtp.builder.home}/distribution/${build.distribution}.site/build.xml">
 			<property name="wtp.builder.home" value="${wtp.builder.home}" />
 			<property name="buildBranch" value="${buildBranch}" />
+        	<property name="build.pack-all-in-one" value="${build.pack-all-in-one}"/>
 		</ant>
 	</target>
 
@@ -22,6 +25,7 @@
 		<ant antfile="${wtp.builder.home}/distribution/${build.distribution}.tests/build.xml">
 			<property name="wtp.builder.home" value="${wtp.builder.home}" />
 			<property name="buildBranch" value="${buildBranch}" />
+        	<property name="build.pack-all-in-one" value="${build.pack-all-in-one}"/>
 			<property name="testRoot" value="${build.home}/${build.tests}-${build.distribution}-${buildBranch}-${buildType}" />
 			<property name="dependencyTargets" value="${wtp.builder.home}/scripts/dependency/build.xml" />
 			<property name="local.cache.dir" value="${build.home}/${build.local.repository}" />
@@ -32,6 +36,7 @@
 		<ant antfile="${wtp.builder.home}/distribution/${build.distribution}.upload/build.xml">
 			<property name="wtp.builder.home" value="${wtp.builder.home}" />
 			<property name="buildBranch" value="${buildBranch}" />
+        	<property name="build.pack-all-in-one" value="${build.pack-all-in-one}"/>
 		</ant>
 	</target>
 
@@ -39,6 +44,7 @@
 		<ant antfile="${wtp.builder.home}/distribution/${build.distribution}.whatisfixed/build.xml">
 			<property name="wtp.builder.home" value="${wtp.builder.home}" />
 			<property name="buildBranch" value="${buildBranch}" />
+        	<property name="build.pack-all-in-one" value="${build.pack-all-in-one}"/>
 		</ant>
 	</target>
 	
diff --git a/releng.wtpbuilder/components/jst-sdk/customTargets.xml b/releng.wtpbuilder/components/jst-sdk/customTargets.xml
index 5285b87da..03f339fad 100644
--- a/releng.wtpbuilder/components/jst-sdk/customTargets.xml
+++ b/releng.wtpbuilder/components/jst-sdk/customTargets.xml
@@ -1,8 +1,6 @@
-<project name="Build specific targets and properties"
-         default="noDefault">
+<project name="Build specific targets and properties" default="noDefault">
 
-	<property name="buildDirectory"
-              value="${buildDirectory}" />
+	<property name="buildDirectory" value="${buildDirectory}" />
 
 	<!-- ===================================================================== -->
 	<!-- Run a given ${target} on all elements being built -->
@@ -16,8 +14,7 @@
 		<echo message="baseLocation: ${baseLocation}" />
 		<ant antfile="${genericTargets}" target="${target}">
 			<property name="type" value="feature" />
-			<property name="id"
-                      value="org.eclipse.jst.sdk" />
+			<property name="id" value="org.eclipse.jst.sdk" />
 		</ant>
 	</target>
 
@@ -29,41 +26,37 @@
 	<!-- ===================================================================== -->
 
 	<target name="assemble.org.eclipse.jst.sdk">
-		<property name="archiveName"
-                  value="wtp-jst-sdk-${buildLabel}.zip" />
-		<ant antfile="${assembleScriptName}"
-             dir="${buildDirectory}" />
+		<property name="archiveName" value="wtp-jst-sdk-${buildLabel}.zip" />
+		<ant antfile="${assembleScriptName}" dir="${buildDirectory}" />
 	</target>
 
 	<target name="prePackage" />
 
 	<target name="postPackage">
 
-		<property name="archiveName"
-                  value="wtp-jst-sdk-${buildLabel}.zip" />
+		<property name="archiveName" value="wtp-jst-sdk-${buildLabel}.zip" />
 
 		<ant antfile="${wtp.builder.home}/scripts/build/buildutilities.xml" target="unpackUpdateJarsAndCreateZippedPackages">
-			<property name="buildDirectory" value="${buildDirectory}"/>
-			<property name="buildLabel" value="${buildLabel}"/>
-			<property name="archiveName" value="${archiveName}"/>
+			<property name="buildDirectory" value="${buildDirectory}" />
+			<property name="buildLabel" value="${buildLabel}" />
+			<property name="archiveName" value="${archiveName}" />
 		</ant>
 
 
 		<!-- post, post packaging, for WTP -->
 
-		<property name="wtparchiveName"
-    	                  value="wtp-sdk-${buildLabel}.zip" />
+		<property name="wtparchiveName" value="wtp-sdk-${buildLabel}.zip" />
 
 		<zip destfile="${buildDirectory}/${buildLabel}/${wtparchiveName}" duplicate="preserve">
-			<zipfileset src="${buildDirectory}/${buildLabel}/wtp-wst-sdk-${buildLabel}.zip"/>
-			<zipfileset src="${buildDirectory}/${buildLabel}/wtp-jst-sdk-${buildLabel}.zip"/>
+			<zipfileset src="${buildDirectory}/${buildLabel}/wtp-wst-sdk-${buildLabel}.zip" />
+			<zipfileset src="${buildDirectory}/${buildLabel}/wtp-jst-sdk-${buildLabel}.zip" />
 		</zip>
 
 
 		<ant antfile="${wtp.builder.home}/scripts/build/buildutilities.xml" target="createChecksums">
 			<property name="buildDirectory" value="${buildDirectory}" />
-			<property name="buildLabel" value="${buildLabel}"/>
-			<property name="archiveName" value="${wtparchiveName}"/>
+			<property name="buildLabel" value="${buildLabel}" />
+			<property name="archiveName" value="${wtparchiveName}" />
 		</ant>
 
 
@@ -76,34 +69,24 @@
 	<!-- Replace values for cvsRoot, package and mapVersionTag as desired. -->
 	<!-- ===================================================================== -->
 	<target name="checkLocal">
-		<available property="mapsLocal"
-                   file="${buildDirectory}/maps/releng" />
+		<available property="mapsLocal" file="${buildDirectory}/maps/releng" />
 	</target>
-	<target name="getMapFiles"
-            depends="checkLocal"
-            unless="mapsLocal">
+	<target name="getMapFiles" depends="checkLocal" unless="mapsLocal">
 
 		<!-- ***  change the repo info -->
-		<property name="mapCvsRoot"
-                  value=":${cvsProtocol}:${cvsUser}@${cvsServer}:${cvsRoot}" />
+		<property name="mapCvsRoot" value=":${cvsProtocol}:${cvsUser}@${cvsServer}:${cvsRoot}" />
 		<property name="mapVersionTag" value="HEAD" />
 		<echo message="${mapCvsRoot} ${mapVersionTag} ">
 		</echo>
-		<cvs cvsRoot="${mapCvsRoot}"
-             package="releng"
-             dest="${buildDirectory}/maps"
-             tag="${mapVersionTag}" />
+		<cvs cvsRoot="${mapCvsRoot}" package="releng" dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
 		<!--tag the map files project-->
 		<antcall target="tagMapFiles">
-			<param name="mapCvsRoot"
-                   value="${mapCvsRoot}" />
+			<param name="mapCvsRoot" value="${mapCvsRoot}" />
 		</antcall>
 	</target>
 
 	<target name="tagMapFiles" if="tagMaps">
-		<cvs cvsRoot="${mapCvsRoot}"
-             dest="${buildDirectory}/maps"
-             command="tag v${buildType}${timestamp}" />
+		<cvs cvsRoot="${mapCvsRoot}" dest="${buildDirectory}/maps" command="tag v${buildType}${timestamp}" />
 	</target>
 
 
@@ -117,15 +100,95 @@
 	<!-- Steps to do after setup but before starting the build proper -->
 	<!-- ===================================================================== -->
 	<target name="postSetup">
-		<dirname file="${ant.file}"
-                 property="component.dir" />
-		<ant antfile="${component.dir}/dependency.xml"
-             target="get">
-			<property name="dependency.properties"
-                      value="${buildDirectory}/maps/releng/maps/dependencies.properties" />
-			<property name="base.install.dir"
-                      value="${buildRoot}" />
+		<dirname file="${ant.file}" property="component.dir" />
+		<ant antfile="${component.dir}/dependency.xml" target="get">
+			<property name="dependency.properties" value="${buildDirectory}/maps/releng/maps/dependencies.properties" />
+			<property name="base.install.dir" value="${buildRoot}" />
+		</ant>
+
+		<condition property="packAllInOne" value="true">
+			<and>
+				<equals arg1="true" arg2="${build.pack-all-in-one}" />
+			</and>
+		</condition>
+
+		<antcall target="all-in-one">
+			<param name="bos" value="win32" />
+			<param name="bws" value="win32" />
+			<param name="barch" value="x86" />
+			<param name="iszip" value="true" />
+		</antcall>
+
+		<antcall target="all-in-one">
+			<param name="bos" value="linux" />
+			<param name="bws" value="gtk" />
+			<param name="barch" value="x86" />
+			<param name="istar" value="true" />
+		</antcall>
+
+		<antcall target="all-in-one">
+			<param name="bos" value="macosx" />
+			<param name="bws" value="carbon" />
+			<param name="barch" value="ppc" />
+			<param name="istar" value="true" />
+		</antcall>
+
+
+
+	</target>
+
+	<target name="all-in-one" if="packAllInOne">
+		<delete dir="${buildDirectory}/${buildLabel}/temp" failonerror="false" />
+		<mkdir dir="${buildDirectory}/${buildLabel}/temp" />
+		<ant antfile="${component.dir}/dependency.xml" target="get">
+
+			<property name="basearch" value="${barch}" />
+			<property name="baseos" value="${bos}" />
+			<property name="basews" value="${bws}" />
+
+			<property name="dependency.properties" value="${buildDirectory}/maps/releng/maps/dependencies.properties" />
+			<property name="base.install.dir" value="${buildDirectory}/${buildLabel}/temp" />
 		</ant>
+		<unzip src="${buildDirectory}/${buildLabel}/wtp-sdk-${buildLabel}.zip" dest="${buildDirectory}/${buildLabel}/temp" />
+		<copy todir="${buildDirectory}/${buildLabel}/temp">
+			<fileset dir="${component.dir}/prod">
+				<include name="**/*" />
+			</fileset>
+		</copy>
+
+
+		<antcall target="pack-all-in-one-tar">
+		</antcall>
+		<antcall target="pack-all-in-one-zip">
+		</antcall>
+	</target>
+
+	<target name="pack-all-in-one-tar" if="istar">
+		<property name="packName" value="wtp-all-in-one-sdk-${buildLabel}-${bos}-${bws}.tar.gz" />
+		<tar longfile="gnu" compression="gzip" destfile="${buildDirectory}/${buildLabel}/${packName}" excludes="installmanifest.properties" basedir="${buildDirectory}/${buildLabel}/temp" />
+		<antcall target="checksum-all-in-one">
+			<param name="packName" value="${packName}" />
+		</antcall>
+	</target>
+	<target name="pack-all-in-one-zip" if="iszip">
+		<property name="packName" value="wtp-all-in-one-sdk-${buildLabel}-${bos}.zip" />
+
+		<zip destfile="${buildDirectory}/${buildLabel}/${packName}">
+			<fileset dir="${buildDirectory}/${buildLabel}/temp">
+				<include name="**/*" />
+				<exclude name="installmanifest.properties" />
+			</fileset>
+		</zip>
+		<antcall target="checksum-all-in-one">
+			<param name="packName" value="${packName}" />
+		</antcall>
+	</target>
+	<target name="checksum-all-in-one">
+		<mkdir dir="${buildDirectory}/${buildLabel}/checksum" />
+		<checksum file="${buildDirectory}/${buildLabel}/${packName}" property="md5" />
+		<echo message="${md5} *${archiveName}" file="${buildDirectory}/${buildLabel}/checksum/${packName}.md5" />
+		<echo message="${md5}" file="${buildDirectory}/${buildLabel}/checksum/${packName}.md5antformat" />
+
 	</target>
 
 	<!-- ===================================================================== -->
@@ -157,9 +220,7 @@
 	<!-- Steps to do before running the build.xmls for the elements being built. -->
 	<!-- ===================================================================== -->
 	<target name="preProcess">
-		<replace dir="${buildDirectory}/plugins"
-                 value="${timestamp}"
-                 token="@build@">
+		<replace dir="${buildDirectory}/plugins" value="${timestamp}" token="@build@">
 			<include name="**/about.mappings" />
 		</replace>
 	</target>
@@ -229,8 +290,7 @@
 			<param name="target" value="gatherLogs" />
 		</antcall>
 
-		<unzip dest="${buildDirectory}/${buildLabel}/compilelogs"
-               overwrite="true">
+		<unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true">
 			<fileset dir="${buildDirectory}/features/org.eclipse.jst.sdk">
 				<include name="*.log.zip" />
 			</fileset>
diff --git a/releng.wtpbuilder/distribution/wtp.site/build.xml b/releng.wtpbuilder/distribution/wtp.site/build.xml
index f22d196ec..900ba460e 100644
--- a/releng.wtpbuilder/distribution/wtp.site/build.xml
+++ b/releng.wtpbuilder/distribution/wtp.site/build.xml
@@ -10,6 +10,7 @@
             <jvmarg value="-Dbuild.home=${build.home}" />
             <jvmarg value="-Dbuild.trial=${build.trial}" />
             <jvmarg value="-DbuildBranch=${buildBranch}" />
+            <jvmarg value="-Dbuild.pack-all-in-one=${build.pack-all-in-one}" />
             <jvmarg value="-DbuildType=${buildType}" />
             <jvmarg value="-DbuildId=${buildId}" />
             <jvmarg value="-DjavacDebugInfo=on" />
@@ -53,6 +54,8 @@
             <property name="webtoolsDownloadURL" value="http://www.eclipse.org/downloads/download.php?file=/webtools/committers/drops"/>
 
             <property name="buildBranch" value="${buildBranch}" />
+        	<property name="build.pack-all-in-one" value="${build.pack-all-in-one}"/>
+
             <property name="isBuildTested" value="${isBuildTested}" />
             <property name="indexTemplateFilename" value="${indexTemplateFilename}" />
         </ant>
diff --git a/releng.wtpbuilder/scripts/build/build.xml b/releng.wtpbuilder/scripts/build/build.xml
index 11bc1e8cd..7d95ab5bb 100644
--- a/releng.wtpbuilder/scripts/build/build.xml
+++ b/releng.wtpbuilder/scripts/build/build.xml
@@ -47,6 +47,7 @@
 			<property name="local.cache.dir" value="${build.home}/${build.local.repository}" />
 			<property name="baseLocation" value="${build.home}/${build.current}-${build.distribution}-${buildBranch}-${buildType}/${base.location}" />
 			<property name="buildBranch" value="${buildBranch}" />
+        	<property name="build.pack-all-in-one" value="${build.pack-all-in-one}"/>
 			<property name="buildRoot" value="${build.home}/${build.current}-${build.distribution}-${buildBranch}-${buildType}" />
 			<property name="testRoot" value="${build.home}/${build.tests}-${build.distribution}-${buildBranch}-${buildType}" />
 			<property name="performanceRoot" value="${build.home}/${build.perf.tests}-${buildType}" />
diff --git a/releng.wtpbuilder/scripts/dependency/template.xml b/releng.wtpbuilder/scripts/dependency/template.xml
index 20fa9cca3..e88495049 100644
--- a/releng.wtpbuilder/scripts/dependency/template.xml
+++ b/releng.wtpbuilder/scripts/dependency/template.xml
@@ -33,6 +33,7 @@
 					<isset property="@dependencyGroupId@file.linux-gtk-x86" />
 					<isset property="@dependencyGroupId@file.linux-gtk-ppc" />
 					<isset property="@dependencyGroupId@file.win32-win32-x86" />
+					<isset property="@dependencyGroupId@file.macosx-carbon-ppc" />
 				</or>
 			</not>
 		</condition>
@@ -60,6 +61,14 @@
 				<equals arg1="ppc" arg2="${basearch}" />
 			</and>
 		</condition>
+		<condition property="dependency.file" value="${@dependencyGroupId@file.macosx-carbon-ppc}">
+			<and>
+				<isset property="@dependencyGroupId@file.macosx-carbon-ppc" />
+				<equals arg1="macosx" arg2="${baseos}" />
+				<equals arg1="carbon" arg2="${basews}" />
+				<equals arg1="ppc" arg2="${basearch}" />
+			</and>
+		</condition>
 		<condition property="dependency.autodownload" value="${@dependencyGroupId@autodownload}">
 			<isset property="@dependencyGroupId@autodownload" />
 		</condition>
@@ -109,5 +118,4 @@
 		<ant antfile="@dependencyDir@/build.xml" target="install" />
 	</target>
 
-</project>
-
+</project>
\ No newline at end of file
-- 
GitLab