Community
Participate
Working Groups
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.
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"
(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.
> 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.