Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 264579 - define a better workflow for build steps
Summary: define a better workflow for build steps
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Dash Athena (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Nick Boldt CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 251929 271186 272991
Blocks: 252035
  Show dependency tree
 
Reported: 2009-02-11 14:39 EST by Nick Boldt CLA
Modified: 2012-01-30 11:32 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nick Boldt CLA 2009-02-11 14:39:48 EST
Rather than forcing everthing to happen, we can set up a control flow logic such that individual "build steps" are performed, in order, if specified in the user's project's .releng properties file.

So, by default, a project may want to do some or all of these:

build.steps=basic.zips,tests,all.in.one.zip,packed.jars,update.site,archived.update.site,p2.repo,archived.p2.repo

Clearly not every project will need all of that, and to produce all of it for every project is grievous overkill. But to support migration of existing projects to the new builder, we will need to facilitate creation of the old artifacts.

Currently, the GEF build does basic.zips and tests, and there is code in buildAllHelper.xml to support creation of an All-In-One zip for Windows 32, Linux 32, and Mac OS X, but it has not yet been tested, only ported from the PDT build into Athena.

The other steps are coupled together w/ shell, and will need to be ant'ified. 

Creation of an archived.p2.repo is new:

http://wiki.eclipse.org/Equinox/p2/Metadata_Consumption

The added bonus here is that it'll be easier to turn tests on/off without having to pass in specific ant targets to skip building and/or running tests, as a user gets up to speed on using their new build system.
Comment 1 Nick Boldt CLA 2009-02-16 12:59:34 EST
In progress. So far I have the following build.steps defined and implemented in the GEF and LT builds:

build.steps=buildZips,buildTests,generateDigests,test,publish,cleanUp

Coming soon (see TODOs in buildAll.xml):

			    0. TODO: create source tarball 
			 	1. create 3 All-In-One bundles from platform runtime binary (win32, lin32, macosx) + dependencies + project runtime + optional extras
			 		See buildAllHelper.xml#packAllInOnes for configuration options.
			 		:: build.step = "packAllInOnes"
			 	2. TODO: create classic update site with packed & normal jars + site.xml (for Eclipse 3.2+; packed jars require Java 5+)
			 		:: build.step = "update.site"
			 	3. TODO: create update site zip archive with normal jars + site.xml (for Eclipse 3.2+)
			 		:: build.step = "update.site.archive"
			 	4. TODO: create p2 repo with packed jars + artifacts.jar + content.jar (for Eclipse 3.4+)
			 		:: build.step = "p2.repo"
			 	5. TODO: create zipped p2 repo with packed or unpacked jars + artifacts.jar + content.jar (for Eclipse 3.5+; packed jars require Java 5+)
			 		:: build.step = "p2.repo.archive"
Comment 2 Nick Boldt CLA 2009-03-20 02:20:53 EDT
(In reply to comment #1)
> In progress. So far I have the following build.steps defined and implemented 

2. TODO: create classic update site
3. TODO: create update site zip
4. TODO: create p2 repo
5. TODO: create zipped p2 repo

Instead of creating 4 artifacts, I've decided to make this simpler:

one zip which is both p2 site and "classic" update site w/ generated site.xml

If people want to publish an unpacked site, they can take that zip, scp it somewhere, and run unzip on it.

---------

0. TODO: create source tarball 
1. TODO: create 3 All-In-One bundles from platform

Still TBD.

Also, we need to support feeding in a site.xml to the update site generator, but if one is not supplied, a default one will be generated from the list of available features in the Master zip.

Comment 3 Nick Boldt CLA 2009-04-21 19:46:44 EDT
> 0. TODO: create source tarball 

See bug 251929

> 1. TODO: create 3 All-In-One bundles from platform

See bug 271186

> Also, we need to support feeding in a site.xml to the update site generator,
> but if one is not supplied, a default one will be generated from the list of
> available features in the Master zip.

See bug 272991. If no site.xml is provided in root of the .releng project, one will be generated containing all the features in the update zip.

Closing. See above bugs for subsequent work.