Build Workshop 3: Build Hard With A Purpose/Inputs and Outputs

From Eclipsepedia

Jump to: navigation, search

Discussion regarding new form of the CBI as morphed from the Modeling Common Build.

Intent is simplest input, standard output, with options to produce more/different outputs FROM that output.

Inputs

  • current specification (Modeling Common Build)
  • .releng project
  • defines feature(s) to build -- generally all-in-one/SDK feature + tests feature
  • contains map files(s) to define where to get sources
  • additional instructions (packaging / runtime 3rd party libs / ... )
  • website meta / crontab details
  • branch/version/JDKpath/basebuildertag/testsRunTrueFalse/dependencies (zips or orbit map)
  • desired specification: one master properties file
  • defines input zips (dependencies)
  • defines 3rd party libs (incl. Orbit)
  • hook to additional build.xml scripts for post-build repackaging (Master -> SDK -> Runtime, Examples, ...)

Outputs

  • Current:
  • .releng/buildAll.xml defines build, test, and packaging for Master, SDK, Runtimes, Examples, Tests zips, including tweaking input/output for 3rd party libs (GPL stuff needed to build but which can't be distributed)
  • follow up process (promoteToEclipse.sh) creates archived update site from Master, including p2 metadata, then pushes zips, update site, RSS feed to eclipse.org; Update site is a merged site including up to 3 integration builds, 2 milestones, 1 release (per branch/release) which grows/shrinks over time
  • Desired:
one zip out (p2 repo format - signed/packed master zip)
features/*.jar
features/*.jar.pack.gz
plugins/*.jar
plugins/*.jar.pack.gz
binaries/ (other artifacts, eg., from Platform or CDT)
artifacts.jar
content.jar
hooks for producing other zips & unpacked p2-enabled update site/repo
...

Potential PDE changes

  • specifying more than one input zip (?)