Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Athena Common Build
Contents
Getting Started
Getting started with a PDE build can be daunting. Athena aims to make that simpler by streamlining the setup process by setting & creating logical defaults, but you can always extend and override.
To get started with Athena, you can read the following:
Who's using Athena? Here's the list. See also Common Build Users.
Requirements
Order of listed items below should not be taken as priority sequence. For prioritization, see Project Plan (Draft), or the following bugzilla queries:
End User
- properly-defined plugins and features (see JET Transforms/Wizards for creating project meta data)
- a .releng project (see JET Transforms/Wizards for creating project meta data)
System
Implemented
- UI for running, exploring, validating & promoting builds; UI for killing / purging invalid builds
- continuous builds (build queuing, repo watching)
- support for building on Linux
only (no Win or Mac shared libraries)- can build on Win/Lin/Mac - builds must be reproduceable (tagging)
- one build per project or component
- mechanism for producing signed, packed, and
digestedupdate sites w/ p2 metadata (digest no longer required in Eclipse 3.4+) - support for Eclipse SCM systems (cvs + svn)
-
configuration to be done in Portal- cancelled to allow Athena to be portable enough to run at home, not just at eclipse.org
- support for java-only, simple project builds (not products)
- Other Closed Bugs
To Be Done
- See Project Plan or Open Bugs
Cross-Project Integration
- mechanism for optionally contributing update site feature(s) to a coordinated release site, a la Galileo
Enhancements
Implemented
- support feeding dependencies to build from update site instead of from zips (Linux Tools uses CDT's update site zip as input; tests use generated project Update zip as runtime)
- support SVN (map files are supported, psf support may be coming one day)
In Progress
- convert bash scripts that “do work” to Ant scripts w/ custom tasks; submit these back to PDE build or releng.basebuilder for reuse
To Be Done
- support getting latest dependencies from RSS feeds
- support building & testing against multiple versions of target platform
- provide source builds to facilitate the build-from-source scenario (eg., Linux distros)
- automatic cleanup of downloaded/cached dependencies
- support Buckminster
- support Maven-based dependencies
- convert bash scripts that “do calculations” to PHP-based web apis, so they can be called by web, shell, ant, or java (since UI is now Hudson is probably no longer required)
Sources
In order of currency:
- Dash Common Build (beta, in progress, v4, 2009?)
- cvs -d :pserver:anonymous@dev.eclipse.org:/cvsroot/technology -Q co -d org.eclipse.dash.commonbuilder org.eclipse.dash/athena/org.eclipse.dash.commonbuilder
- Metagen Wizards for creating plugin, feature, and .releng projects (GSoC 2008 project, incubating)
- cvs -d :pserver:anonymous@dev.eclipse.org:/cvsroot/technology -Q co -d org.eclipse.metagen org.eclipse.soc/athena
- Modeling Common Build (stable release, v3, 2008)
- cvs -d :pserver:anonymous@dev.eclipse.org:/cvsroot/modeling -Q co -d org.eclipse.modeling.common.releng releng-common
- EMFT Common Build (stable release, v2, 2007)
- deprecated by Modeling Common Build
- EMF Build (stable release, v1, 2006)
- cvs -d :pserver:anonymous@dev.eclipse.org:/cvsroot/modeling -Q co -d org.eclipse.emf.releng org.eclipse.emf/org.eclipse.emf.releng
Contributing
We're always looking for people to contribute. You can drop us a line at dash-dev@eclipse.org.
You can also subscribe to the Dash Commonbuilder Bugzilla inbox, find an open bug to work on (we love patches!), or open a new bug.
Ongoing Development
- Getting Started Guide
- Build Workshop Report - updated (bi)weekly
- Project Plan (Draft)
- More Wiki Docs