Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Platform-releng-pack200

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 (except those in test features). This jars within this feature are then signed (optional) and packed.

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" />
.....




The target <strong>signMasterFeature<strong> below currently just processes 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">
		<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>


Reference docs

Pack200 Pack200

Update_Site_Optimization Update Site Optimization

Back to the top