Difference between revisions of "Modeling Project Releng/Building/Signing And Packing"

From Eclipsepedia

Jump to: navigation, search
m (add catgs)
(Process: update site builder now includes pack.gz files!)
Line 25: Line 25:
 
* Example 2: [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.gef/org.eclipse.gef.releng/maps/gef.map?root=Tools_Project GEF map]
 
* Example 2: [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.gef/org.eclipse.gef.releng/maps/gef.map?root=Tools_Project GEF map]
  
3. Add a new builder/all/ folder in your .releng project.
+
3. Add a new builder/all/ folder in your .releng project. Your old builder/sdk, builder/doc, builder/examples folders are no longer required and can be deleted.
  
 
* Example 1: [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.m2t/org.eclipse.jet.releng/builder/all/?root=Modeling_Project JET's /builder/all/]
 
* Example 1: [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.m2t/org.eclipse.jet.releng/builder/all/?root=Modeling_Project JET's /builder/all/]
Line 35: Line 35:
 
* Example 2: [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.gef/org.eclipse.gef.releng/buildAll.xml?root=Tools_Project&view=markup GEF's buildAll.xml] [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.gef/org.eclipse.gef.releng/buildAll.xml?root=Tools_Project&r1=1.8&r2=1.43 changes]
 
* Example 2: [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.gef/org.eclipse.gef.releng/buildAll.xml?root=Tools_Project&view=markup GEF's buildAll.xml] [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.gef/org.eclipse.gef.releng/buildAll.xml?root=Tools_Project&r1=1.8&r2=1.43 changes]
  
5. Add pack200="true" to all your update site's site*.xml files:
+
5. Use the Master zip as input to the [http://dev.eclipse.org/viewcvs/index.cgi/releng-common/tools/scripts/buildUpdate.sh?root=Modeling_Project&view=markup buildUpdate.sh] script, by updating your [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.m2t/org.eclipse.jet.releng/promoteToEclipse.jet.properties?root=Modeling_Project&view=markup promoteToEclipse.*.properties] [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.gef/org.eclipse.gef.releng/promoteToEclipse.gef.properties?root=Tools_Project&view=markup file].
 +
 
 +
{{codeblock|<nowiki># zip(s) to use for update site generation
 +
filePrefixesToUnzipArray=( "GEF-Master-" );</nowiki>}}
 +
 
 +
6. Add pack200="true" to all your update site's [http://dev.eclipse.org/viewcvs/index.cgi/www/modeling/m2t/updates/site-interim.xml?root=Eclipse_Website&view=markup site*.xml] [http://dev.eclipse.org/viewcvs/index.cgi/www/gef/updates/site-interim.xml?root=Eclipse_Website&view=markup files]:
  
 
{{codeblock|<nowiki><site pack200="true" ...></nowiki>}}
 
{{codeblock|<nowiki><site pack200="true" ...></nowiki>}}
  
6. Use new update site builder (coming soon) -- see {{bug|173651}}.
+
7. Promote as before.
  
 
== Bugs ==
 
== Bugs ==

Revision as of 21:32, 7 February 2008

This document is a work in progress.

Contents

Requirements

1. You must have permission to ssh to build.eclipse.org. This is where the signing will occur.

2. You must be able to ssh from your build server to build.eclipse.org without being prompted for a host key or password. The first time you try to connect from your build server, accept the host key and you should never be prompted again. If you can ssh from your build server to dev.eclipse.org or download1.eclipse.org, you should be able to connect to build.eclipse.org using the same credentials and ssh key.

3. While on build.eclipse.org, you must be able to create files in your staging folder, eg., /home/data/httpd/download-staging.priv/modeling/emft.

4. While on build.eclipse.org, you must be able to run /usr/bin/jarsigner.

If you cannot do any of the above things, open a bug and ask for access. cc: your PMC for approval and optionally, User:Nickb.

Process

1. Create an "all" or "master" feature, which will build SDK, examples, and any other features you might build. This obsoletes the need for an SDK builder, runtime builder, doc builder, and examples builder. You can still use your custom doc plugin builder; this just cleans up some redundancies in your .releng project.

2. Add this new feature to your map file.

3. Add a new builder/all/ folder in your .releng project. Your old builder/sdk, builder/doc, builder/examples folders are no longer required and can be deleted.

4. Change your .releng/buildAll.xml to use new signing/packing code. You'll notice that many targets have been removed to buildAllHelper.xml to simplify this file, and some things have been reordered. The most important change is that you must now define your own packaging; however, by only doing a single PDE build for the whole "All" feature (and a second one for your tests), your build will run faster. This is important because jar signing can take a few minutes or as much as an hour, depending on the queue ahead of your build.

5. Use the Master zip as input to the buildUpdate.sh script, by updating your promoteToEclipse.*.properties file.

# zip(s) to use for update site generation
filePrefixesToUnzipArray=( "GEF-Master-" );

6. Add pack200="true" to all your update site's site*.xml files:

<site pack200="true" ...>

7. Promote as before.

Bugs

  • bug 173651: Support Pack200 in Modeling builds / update sites
  • bug 217929: M2T Signing & Packing
  • bug 217945: Problems with file permissions in signed/packed jars
  • bug 211613: JDK 6's Pack200 is not backward compatible with JDK 5 if packed jars contain no classfiles

References