Difference between revisions of "Athena Common Build"

From Eclipsepedia

Jump to: navigation, search
(System)
Line 17: Line 17:
 
== System ==
 
== System ==
  
* UI for running, exploring, validating & promoting builds; UI for killing / purging invalid builds
+
===Implemented ===
* automatic build cleanup / expiry
+
 
* configuration to be done in Portal
+
* [https://build.eclipse.org/hudson/view/Athena%20CBI/ UI for running, exploring, validating & promoting builds; UI for killing / purging invalid builds]
* solution for scheduling builds (eg. crontab-based)
+
* [https://build.eclipse.org/hudson/view/Athena%20CBI/ continuous builds (build queuing, repo watching)]
* continuous builds (build queuing, repo watching)
+
 
* support for java-only, simple project builds (not products)
+
* [[Common Build Infrastructure/Publishing|solution for scheduling builds (eg. crontab-based)]]
* support for building on Linux only (no Win or Mac shared libraries)
+
* [[Common Build Infrastructure/Publishing|automatic build cleanup / expiry]]
 +
 
 +
* support for building on Linux <strike>only</stike> (no Win or Mac shared libraries) - can build on Win/Lin/Mac
 
* builds must be reproduceable (tagging)
 
* builds must be reproduceable (tagging)
 
* one build per project or component
 
* one build per project or component
* mechanism for producing signed, packed, and digested update sites w/ p2 metadata
+
* mechanism for producing [http://bugs.eclipse.org/253286 signed, packed], and <strike>digested</strike> [http://bugs.eclipse.org/252035 update sites w/ p2 metadata] (digest no longer required in Eclipse 3.4+)
* support for Eclipse SCM systems (cvs + svn)
+
* support for Eclipse SCM systems ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=253276 cvs + svn])
 +
* <strike>configuration to be done in Portal</strike> - 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)
 +
 
 +
=== To Be Done ===
 +
 
 +
* See [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/dash/athena/project-info/plan.xml&component=Athena Project Plan] or [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=Dash&component=Common+Builder&target_milestone=---&target_milestone=Past&target_milestone=M1&target_milestone=M2&target_milestone=M3&target_milestone=M4&target_milestone=M5&target_milestone=M6&target_milestone=M7&target_milestone=RC&target_milestone=Future&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= Open Bugs]
  
 
== Cross-Project Integration ==
 
== Cross-Project Integration ==

Revision as of 02:32, 9 May 2009

Contents

Getting Started

Want to try out the Athena builder? Check out our Getting Started Guide.


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

System

Implemented

  • support for building on Linux only</stike> (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 <strike>digested update 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)

To Be Done

Cross-Project Integration

  • mechanism for optionally contributing update site feature(s) to a coordinated release site, a la Ganymede

Enhancements

  • support feeding dependencies to build from update site instead of from zips
  • 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 SVN
  • support Maven-based dependencies
  • convert bash scripts that “do work” to Ant scripts w/ custom tasks; submitting these back to PDE build or releng.basebuilder for reuse
  • convert bash scripts that “do calculations” to PHP-based web apis, so they can be called by web, shell, ant, or java

Sources

  • 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
  • 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
  • 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

Past Workshops