Jump to: navigation, search

Difference between revisions of "Athena Common Build"

(Sources)
(Getting Started)
 
(15 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
= Getting Started =
 
= Getting Started =
  
Want to try out the Athena builder? Check out our [[Common_Build_Infrastructure/Getting_Started|Getting Started Guide]].
+
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:
 +
 +
* [[Common_Build_Infrastructure/Getting_Started|Getting Started Guide]]
 +
* [[Common_Build_Infrastructure/Getting_Started/Build In Eclipse|Getting Started In Eclipse]]
 +
* [[Common_Build_Infrastructure/Getting_Started/Build In Hudson|Getting Started In Hudson]]
 +
 +
* [[:Category:Athena_Common_Build|All Other Documents]]
 +
 +
Who's using Athena? [https://build.eclipse.org/hudson/view/Athena%20CBI/ Here's the list]. See also [[:Category:Athena_Common_Build_Users|Common Build Users]].
  
 
= Requirements =
 
= Requirements =
Line 8: Line 17:
 
Order of listed items below should not be taken as priority sequence. For prioritization, see [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/dash/athena/project-info/plan.xml&component=Athena Project Plan (Draft)], or the following bugzilla queries:
 
Order of listed items below should not be taken as priority sequence. For prioritization, see [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/dash/athena/project-info/plan.xml&component=Athena Project Plan (Draft)], or the following bugzilla queries:
  
* [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&product=Dash&component=Common+Builder&order=bugs.status_whiteboard%2Cbugs.resolution&status_whiteboard=m&status_whiteboard_type=substring Committed Bugs]
+
* [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&product=Dash+Athena&order=bugs.target_milestone%2Cbugs.resolution&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 Committed Bugs]
* [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&product=Dash&component=Common+Builder&order=bugs.status_whiteboard%2Cbugs.resolution&status_whiteboard=m&status_whiteboard_type=notregexp Proposed Bugs]
+
* [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&product=Dash+Athena&order=bugs.target_milestone%2Cbugs.resolution&target_milestone=---&target_milestone=Future Proposed Bugs]
  
 
== End User ==
 
== End User ==
Line 18: Line 27:
  
 
===Implemented ===
 
===Implemented ===
 
+
[[Image:Athena-CBI-Hudson.png|thumb|right]]
 
* [https://build.eclipse.org/hudson/view/Athena%20CBI/ UI for running, exploring, validating & promoting builds; UI for killing / purging invalid builds]
 
* [https://build.eclipse.org/hudson/view/Athena%20CBI/ UI for running, exploring, validating & promoting builds; UI for killing / purging invalid builds]
 
* [https://build.eclipse.org/hudson/view/Athena%20CBI/ continuous builds (build queuing, repo watching)]
 
* [https://build.eclipse.org/hudson/view/Athena%20CBI/ continuous builds (build queuing, repo watching)]
Line 25: Line 34:
 
* [[Common Build Infrastructure/Publishing|automatic build cleanup / expiry]]
 
* [[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
+
* support for building on Linux <strike>only (no Win or Mac shared libraries)</strike> - 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
Line 33: Line 42:
  
 
* support for java-only, simple project builds (not products)
 
* support for java-only, simple project builds (not products)
* Other [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=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&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= Closed Bugs]
+
* Other [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=Dash+Athena&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=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&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= Closed Bugs]
  
 
=== To Be Done ===
 
=== 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]
+
* 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+Athena&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 ==
  
* mechanism for optionally contributing update site feature(s) to a coordinated release site, a la [[Ganymede]]
+
* mechanism for optionally contributing update site feature(s) to a coordinated release site, a la [[Galileo]]
  
 
= Enhancements =
 
= Enhancements =
Line 87: Line 96:
 
We're always looking for people to contribute. You can drop us a line at dash-dev@eclipse.org.  
 
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 [mailto:dash.commonbuilder-inbox@eclipse.org Dash Commonbuilder Bugzilla inbox], [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Technology&product=Dash&component=Common+Builder&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&resolution=---&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= find an open bug to work on] (we love patches!), or [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Dash&component=Common+Builder open a new bug].
+
You can also subscribe to the [mailto:dash.commonbuilder-inbox@eclipse.org Dash Commonbuilder Bugzilla inbox], [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Technology&product=Dash+Athena&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&resolution=---&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= find an open bug to work on] (we love patches!), or [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Dash+Athena open a new bug].
  
 
= Ongoing Development =
 
= Ongoing Development =
Line 94: Line 103:
 
* [[Build Workshop Report]] - updated (bi)weekly
 
* [[Build Workshop Report]] - updated (bi)weekly
 
* [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/dash/athena/project-info/plan.xml&component=Athena Project Plan (Draft)]
 
* [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/dash/athena/project-info/plan.xml&component=Athena Project Plan (Draft)]
 +
* [[:Category:Athena_Common_Build|More Wiki Docs]]
  
 
== Past Workshops ==
 
== Past Workshops ==
Line 104: Line 114:
 
[[Category:Dash Project]]
 
[[Category:Dash Project]]
 
[[Category:Eclipse Technology Project]]
 
[[Category:Eclipse Technology Project]]
[[Category:Common Builder]]
+
[[Category:Athena Common Build]]
 
[[Category:Releng]]
 
[[Category:Releng]]

Latest revision as of 14:06, 23 March 2010

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

System

Implemented

Athena-CBI-Hudson.png
  • 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 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)
  • Other Closed Bugs

To Be Done

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

Past Workshops