Skip to main content
Jump to: navigation, search

Difference between revisions of "Platform-releng-pack200"

(start doc describing how platform incorporated pack200 into build process)
 
m
Line 1: Line 1:
How the platform releng team incorporated pack200 technology into our build process?
+
<h4>How did the platform releng team incorporated pack200 technology into our build process?</h4>
  
 
During our build process, we build a giant feature that includes all the jars that are required by the build, with the exception of ones required by the test features. Here is an except from the script that runs the process...
 
During our build process, we build a giant feature that includes all the jars that are required by the build, with the exception of ones required by the test features. Here is an except from the script that runs the process...
Line 5: Line 5:
 
(Example is from org.eclipse.releng.eclipsebuilder/buildAll.xml v20060426a)
 
(Example is from org.eclipse.releng.eclipsebuilder/buildAll.xml v20060426a)
  
 +
<pre>
 
<target name="main" depends="init">
 
<target name="main" depends="init">
 
<antcall target="buildEclipseSourceDrops" />
 
<antcall target="buildEclipseSourceDrops" />
Line 30: Line 31:
 
</parallel>
 
</parallel>
 
</target>
 
</target>
 
+
</pre>
  
  
 
The target signMasterFeature below currently just packs the master feature. (The signing portion will probably not be in place for 3.2 because there isn't enough time for other teams to adapt).
 
The target signMasterFeature below currently just packs the master feature. (The signing portion will probably not be in place for 3.2 because there isn't enough time for other teams to adapt).
  
 +
<pre>
 
<target name="signMasterFeature" if="sign">
 
<target name="signMasterFeature" if="sign">
 
<property name="archiveName" value="eclipse-master-${buildId}.zip" />
 
<property name="archiveName" value="eclipse-master-${buildId}.zip" />
Line 54: Line 56:
 
<delete dir="${packtmp}" />
 
<delete dir="${packtmp}" />
 
</target>
 
</target>
 +
</pre>
  
  
Line 60: Line 63:
 
We then build an update site with the  
 
We then build an update site with the  
  
Reference docs
+
<h4>Reference docs</h4>
 +
<p>
 
[[Pack200 Pack200]]
 
[[Pack200 Pack200]]
 +
</p>
 +
<p>
 
[[Update_Site_Optimization Update Site Optimization]]
 
[[Update_Site_Optimization Update Site Optimization]]
 +
</p>

Revision as of 17:42, 26 April 2006

How did the platform releng team incorporated pack200 technology into our build process?

During our build process, we build a giant feature that includes all the jars that are required by the build, with the exception of ones required by the test features. Here is an except from the script that runs the process...

(Example is from org.eclipse.releng.eclipsebuilder/buildAll.xml v20060426a)

<target name="main" depends="init">
		<antcall target="buildEclipseSourceDrops" />
		<antcall target="buildMasterFeature" />
		<parallel failonany="true">
			<sequential>
				<antcall target="signMasterFeature" />
				<antcall target="unpackUpdateJarsForPackaging" />
				<antcall target="buildUpdateSite" />
			</sequential>
			<sequential>
				<antcall target="buildMasterRootFeature" />
				<antcall target="buildSdkTestFeature" />
				<ant antfile="${eclipse.build.configs}/../helper.xml" target="verifyCompile" />
			</sequential>
		</parallel>
		<parallel failonany="true">
			<sequential>
				<antcall target="packageEclipseDistributables" />
				<antcall target="packageEquinoxDistributables" />
				<antcall target="publishEclipse" />
				<antcall target="publishEquinox" />
			</sequential>
			<antcall target="testEclipse" />
		</parallel>
	</target>


The target signMasterFeature below currently just packs the master feature. (The signing portion will probably not be in place for 3.2 because there isn't enough time for other teams to adapt).

<target name="signMasterFeature" if="sign">
		<property name="archiveName" value="eclipse-master-${buildId}.zip" />
		<property name="packtmp" value="${buildDirectory}/packtmp" />
		<mkdir dir="${packtmp}" />	
		<move file="${buildDirectory}/${buildLabel}/${archiveName}" tofile="${packtmp}/${archiveName}"/>
		
		<!--pack200-->
	     <java jar="${eclipse.home}/startup.jar"
	           fork="true"
        	   jvm="${java15-home}/bin/java"
	           failonerror="true"
	           maxmemory="128m"
		   dir="${buildDirectory}">
	         <arg line="-application org.eclipse.update.core.siteOptimizer"/>
	         <arg line="-jarProcessor -outputDir ${buildLabel} -repack ${packtmp}/${archiveName}"/>
	       </java>
	
		<delete dir="${packtmp}" />
	</target>


The unpackUpdateJarsForPackaging task unpacks the jars with unpack=false in their features.

We then build an update site with the

Reference docs

Pack200 Pack200

Update_Site_Optimization Update Site Optimization

Back to the top