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.
Eclipse Build Available RSS Feeds
Contents
Eclipse Build Available RSS Feeds
Recent changes to this document
Sample Hypothetical Feeds
- Below are a few sample feeds which will hopefully be implemented within the Eclipse 3.2M6 timeframe. As this spec evolves this document will too, including revised URLs where applicable.
- Everything in the <summary/> field is optional. A schema that backs these examples will be available soon, along with an Ant task to generate these during a build (after tests have run).
- The ant task (for the moment, until I think of something else) will take the following parameters:
- feed URL to publish
- user@dev.eclipse.org to use for scp'ing the file
- overwrite existing feed (one build per feed) or insert new content (many builds per feed)
Sample Eclipse Platform Feed
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title>Eclipse Builds</title> <link href="http://download.eclipse.org/downloads/builds-eclipse.xml" rel="self" type="application/atom+xml"/> <updated>2006-05-29T16:31:27Z</updated> <author> <name>Eclipse Build Team</name> </author> <id>http://download.eclipse.org/downloads/builds-eclipse.xml</id> <entry> <title>[announce] Eclipse 3.2RC5 (3.2.0.S-3.2RC5-200605191206) is available</title> <link href="http://download.eclipse.org/downloads/drops/S-3.2RC5-200605191206"/> <id>http://download.eclipse.org/downloads/drops/S-3.2RC5-200605191206</id> <updated>2006-05-29T16:31:27Z</updated> <summary> <build xmlns="http://www.eclipse.org/2006/BuildFeed" callisto="COMPLETE" href="http://download.eclipse.org/downloads/drops/S-3.2RC5-200605191206" jars="SIGNED" type="S"> <update>http://download.eclipse.org/updates/3.2milestones</update> <downloads>http://download.eclipse.org/eclipse/downloads/</downloads> <releasenotes>http://download.eclipse.org/eclipse/downloads/drops/S-3.2RC5-200605191206/buildNotes.php </releasenotes> <releases> <release os="win32" type="SDK" ws="win">eclipse-SDK-3.2RC5-win32.zip</release> <release os="linux" type="SDK" ws="gtk">eclipse-SDK-3.2RC5-linux-gtk.tar.gz</release> </releases> <tests> <test href="http://download.eclipse.org/downloads/drops/S-3.2RC5-200605191206/testResults.php" type="junit"> <result os="win32" ws="win">PASS</result> <result os="linux" ws="gtk">PASS</result> <result os="linux" ws="gtk-x86_64">PASS</result> <result os="linux" ws="gtk-ppc">PASS</result> <result os="linux" ws="motif">PASS</result> <result os="solaris8" ws="gtk">PASS</result> <result os="solaris8" ws="motif">PASS</result> <result os="AIX" ws="motif">PASS</result> <result os="HP-UX" ws="motif">PASS</result> <result os="macosx" ws="carbon">PASS</result> </test> <test href="http://download.eclipse.org/downloads/drops/S-3.2RC5-200605191206/performance/performance.php" type="performance"> <result os="RHEL4-3GHz-2.5GB" ws="gtk">PENDING</result> <result os="win32-3GHz-2GB" ws="winxp">AVAILABLE</result> <result os="RHEL3-3GHz-2GB" ws="gtk">AVAILABLE</result> <result os="win32-2GHz-512MB" ws="winxp">AVAILABLE</result> </test> </tests> </build> </summary> </entry> </feed>
Sample EMF Feed
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title>EMF Builds</title> <link href="http://www.eclipse.org/emf/news/builds.xml" rel="self" type="application/atom+xml"/> <updated>2006-05-25T21:25:43Z</updated> <author> <name>EMF Build Team</name> </author> <id>http://www.eclipse.org/emf/news/builds.xml</id> <entry> <title>[announce] EMF 2.2.0RC7 (S200607081234) is available</title> <link href="http://download.eclipse.org/tools/emf/scripts/downloads-viewer.php?s=2.2.0/S200607081234"/> <id>http://download.eclipse.org/tools/emf/scripts/downloads-viewer.php?s=2.2.0/S200607081234</id> <updated>2006-05-25T21:25:43Z</updated> <summary> <build xmlns="http://www.eclipse.org/2006/BuildFeed" callisto="COMPLETE" href="http://download.eclipse.org/tools/emf/scripts/downloads-viewer.php?s=2.2.0/S200607081234" jars="SIGNED" type="SC"> <update>http://download.eclipse.org/tools/emf/updates/</update> <downloads>http://download.eclipse.org/tools/emf/scripts/downloads.php</downloads> <releasenotes>http://www.eclipse.org/emf/news/release-notes.php?version=2.2.0 </releasenotes> <releases> <release os="ALL" type="SDK" ws="ALL">emf-sdo-xsd-SDK-2.2.0RC7.zip</release> </releases> <tests> <test href="http://download.eclipse.org/tools/emf/downloads/drops/2.2.0/S200607081234/testResults.php" type="junit"> <result os="ALL" ws="ALL">PASS</result> </test> <test href="http://download.eclipse.org/tools/emf/downloads/drops/2.2.0/S200607081234/testResults.php" type="performance"/> <test href="http://download.eclipse.org/tools/emf/downloads/drops/2.2.0/S200607081234/testResults.php" type="api"/> </tests> <dependencies> <dependency>http://download.eclipse.org/downloads/drops/S-3.2M2-200509231000/eclipse-SDK-3.2M2-linux-gtk.tar.gz</dependency> </dependencies> </build> </summary> </entry> </feed>
Sample UML2 Feed
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title>UML2 Builds</title> <link href="http://www.eclipse.org/uml2/news/builds.xml" rel="self" type="application/atom+xml"/> <updated>2006-05-25T21:26:19Z</updated> <author> <name>UML2 Build Team</name> </author> <id>http://www.eclipse.org/uml2/news/builds.xml</id> <entry> <title>[announce] UML2 2.2.0RC3 (2.0.0.S200607082345) is available</title> <link href="http://download.eclipse.org/tools/uml2/scripts/downloads-viewer.php?s=2.0.0/S200607082345"/> <id>http://download.eclipse.org/tools/uml2/scripts/downloads-viewer.php?s=2.0.0/S200607082345</id> <updated>2006-05-25T21:26:19Z</updated> <summary> <build xmlns="http://www.eclipse.org/2006/BuildFeed" callisto="COMPLETE" href="http://download.eclipse.org/tools/uml2/scripts/downloads-viewer.php?s=2.0.0/S200607082345" jars="SIGNED" type="SC"> <update>http://download.eclipse.org/tools/uml2/updates/</update> <downloads>http://download.eclipse.org/tools/uml2/scripts/downloads.php</downloads> <releasenotes>http://www.eclipse.org/uml2/news/release-notes.php?version=2.0.0 </releasenotes> <releases> <release os="ALL" type="SDK" ws="ALL">uml2-SDK-2.2.0RC3.zip</release> </releases> <tests> <test href="http://download.eclipse.org/tools/uml2/downloads/drops/2.0.0/S200607082345/testResults.php" type="junit"> <result os="ALL" ws="ALL">PASS</result> </test> </tests> <dependencies> <dependency>http://download.eclipse.org/downloads/drops/S-3.2M2-200509231000/eclipse-SDK-3.2M6-linux-gtk.tar.gz</dependency> <dependency>http://download.eclipse.org/tools/emf/downloads/drops/2.2.0/S200607081234/emf-sdo-xsd-SDK-2.2.0M6.tar.gz</dependency> </dependencies> </build> </summary> </entry> </feed>
Support For Eclipse.org Jar Signing
So that we can identify which projects' builds are signed, I've implemented an additional node, <build/>, which can take an attribute for jars, thus:
<feed xmlns="http://www.w3.org/2005/Atom"> ... <summary> <build jars="UNSIGNED">http://download.eclipse.org/tools/emf/scripts/downloads-viewer.php?s=2.2.0/S200607081234</build> ... </summary> </feed>
I'm thinking of 5 status codes, assuming the current jar signing process continues as proposed:
- NONE (or "") - no status available or not participating
- UNSIGNED - no jar signage available or done yet
- SIGNREADY - jars promoted to eclipse.org, ready for signing
- BUILDREADY - signed on eclipse.org, ready to be collected and bundled as zips and copied to UM site
- SIGNED - signed & bundled on download page and on UM site
Support For Build Type
So that we can identify what type of build a given entry is, I propose these values for a type attribute:
<build jars="UNSIGNED" callisto="COMPLETE" type="SC"> http://download.eclipse.org/tools/emf/scripts/downloads-viewer.php?s=2.2.0/S200607081234 </build>
- N : Nightly
- I : Integration
- M : Maintenance
- S : Stable (Milestone or Release Candidate)
- R : Release
- MC : Maintenance-Callisto
- SC : Stable-Callisto
- RC : Release-Callisto
If the property buildType is not specified, the ant task will attempt to guess the build type based on the buildID, like this:
public void setBuildType(String buildType) { if (!isNullString(buildType)) { this.buildType = buildType; } else { this.buildType = buildID.replaceAll("[^NIMSR]", NS); //$NON-NLS-1$ if (this.buildType.length()>1) { this.buildType=this.buildType.substring(0, 1); } } }
Support For Callisto Status
So that we can identify which projects' have been posted to callisto, there's an attribute on the <build/> node, thus:
<feed xmlns="http://www.w3.org/2005/Atom"> ... <summary> <build jars="UNSIGNED" callisto="COMPLETE">http://download.eclipse.org/tools/emf/scripts/downloads-viewer.php?s=2.2.0/S200607081234</build> ... </summary> </feed>
Status codes here could be:
Code | Purpose/Description |
NONE (or "") | not part of Callisto or unknown status |
BUILDCOMPLETE | Have you finished your RC1 bits? |
2006-05-02T20:50:00Z | When do you expect to finish them? |
TPTP | If you're waiting for another project, which one(s)? |
UMSITEREADY | Have you placed those bits in your update site? |
CALLISTOSITEREADY | Have you updated the features.xml file in the Callisto CVS directory? |
COMPLETE | Are you ready for RC1 to be declared? |
Latest Code
The latest code can be found in CVS, currently in the releng_test branch:
The latest XML Schema is here:
Additionally, zips are available here:
- Shell & Ant tasks to create, update, query & publish feeds (CVS, SCP)
- Shell & Ant tasks to respond to feed changes (eg., sending an email, firing another ant task, launching a shell process with <exec>)
- Ant task (and shell wrapper) to validate a feed against the latest schema
Additional Information
- For more on the Atom 1.0 spec, see http://www.ietf.org/rfc/rfc4287.txt.