Jump to: navigation, search

Difference between revisions of "Eclipse Build Available RSS Feeds"

m (Latest Code)
(Sample Feeds)
Line 3: Line 3:
 
[http://wiki.eclipse.org/index.php?title=Eclipse_Build_Available_RSS_Feeds&action=history Recent changes to this document]
 
[http://wiki.eclipse.org/index.php?title=Eclipse_Build_Available_RSS_Feeds&action=history Recent changes to this document]
  
== Sample Hypothetical Feeds ==
+
== Sample Feeds ==
  
 
<ul>
 
<ul>
<li>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.</li>
+
<li>Samples feed files can be seen in CVS here: [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.releng.basebuilder/plugins/org.eclipse.build.tools/data/?only_with_tag=releng_test /cvsroot/eclipse/org.eclipse.releng.basebuilder/plugins/org.eclipse.build.tools/data/]
  
<li>Everything in the <tt style="color:DarkGreen">&lt;summary/&gt;</tt> 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).</li>
+
<li>Most of the contents of the <tt style="color:DarkGreen">&lt;build/&gt;</tt> node are optional. The schema for these examples is located [[Eclipse_Build_Available_RSS_Schema|here]]. For tasks used to create/modify/view or respond to feeds, see [[#Latest_Code]].</li>
 
+
<li>The ant task (for the moment, until I think of something else) will take the following parameters:</li>
+
 
+
<ul>
+
<li>feed URL to publish</li>
+
<li>user@dev.eclipse.org to use for scp'ing the file</li>
+
<li>overwrite existing feed (one build per feed) or insert new content (many builds per feed)</li>
+
</ul>
+
 
</ul>
 
</ul>
 
=== Sample Eclipse Platform Feed ===
 
 
<pre>
 
<?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>
 
</pre>
 
 
=== Sample EMF Feed ===
 
 
<pre>
 
<?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>
 
</pre>
 
 
=== Sample UML2 Feed ===
 
 
<pre>
 
<?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>
 
</pre>
 
  
 
== Support For Eclipse.org Jar Signing ==
 
== Support For Eclipse.org Jar Signing ==
  
So that we can identify which projects' builds are signed, I've implemented an additional node, <tt style="color:DarkGreen">&lt;build/&gt;</tt>, which can take an attribute for <tt style="color:DarkGreen">jars</tt>, thus:
+
So that we can identify which projects' builds are signed, the <tt style="color:DarkGreen">&lt;build/&gt;</tt> node can take an attribute for <tt style="color:DarkGreen">jars</tt>, thus:
  
<pre>
+
<feed xmlns="http://www.w3.org/2005/Atom">
<feed xmlns="http://www.w3.org/2005/Atom">
+
  ...
...
+
  <summary>
    <summary>
+
    <build  
      <build jars="UNSIGNED">http://download.eclipse.org/tools/emf/scripts/downloads-viewer.php?s=2.2.0/S200607081234</build>
+
      xmlns="http://www.eclipse.org/2006/BuildFeed"
...
+
      callisto="COMPLETE"
    </summary>
+
      href="http://download.eclipse.org/downloads/drops/S-3.2RC5-200605191206"
</feed>
+
      '''jars="''UNSIGNED''"'''
</pre>
+
      type="S">
 +
    ...
 +
  </summary>
 +
</feed>
  
 
I'm thinking of 5 status codes, assuming the current jar signing process continues as proposed:
 
I'm thinking of 5 status codes, assuming the current jar signing process continues as proposed:
Line 183: Line 38:
 
== Support For Build Type ==
 
== Support For Build Type ==
  
So that we can identify what type of build a given entry is, I propose these values for a <tt style="color:DarkGreen">type</tt> attribute:
+
So that we can identify what type of build a given entry is, these values can be specified for a <tt style="color:DarkGreen">type</tt> attribute:
  
  <build jars="UNSIGNED" callisto="COMPLETE" type="SC">
+
  <build  
   http://download.eclipse.org/tools/emf/scripts/downloads-viewer.php?s=2.2.0/S200607081234
+
  xmlns="http://www.eclipse.org/2006/BuildFeed"  
</build>
+
  callisto="COMPLETE"  
 +
   href="http://download.eclipse.org/downloads/drops/S-3.2RC5-200605191206"
 +
  jars="UNSIGNED"
 +
  '''type="''S''">
  
 
:*N : Nightly
 
:*N : Nightly
Line 219: Line 77:
 
== Support For Callisto Status ==
 
== Support For Callisto Status ==
  
So that we can identify which projects' have been posted to callisto, there's an attribute on the <tt style="color:DarkGreen">&lt;build/&gt;</tt> node, thus:
+
So that we can identify which projects' have been posted to Callisto, there's an attribute on the <tt style="color:DarkGreen">&lt;build/&gt;</tt> node, thus:
  
<pre>
+
<build
<feed xmlns="http://www.w3.org/2005/Atom">
+
  xmlns="http://www.eclipse.org/2006/BuildFeed"  
...
+
  '''callisto="''COMPLETE''"'''
    <summary>
+
  href="http://download.eclipse.org/downloads/drops/S-3.2RC5-200605191206"
      <build jars="UNSIGNED" callisto="COMPLETE">http://download.eclipse.org/tools/emf/scripts/downloads-viewer.php?s=2.2.0/S200607081234</build>
+
  jars="UNSIGNED"
...
+
  type="S">
    </summary>
+
</feed>
+
</pre>
+
  
 
Status codes here could be:
 
Status codes here could be:

Revision as of 16:19, 31 May 2006

Eclipse Build Available RSS Feeds

Recent changes to this document

Sample Feeds

Support For Eclipse.org Jar Signing

So that we can identify which projects' builds are signed, the <build/> node can take an attribute for jars, thus:

<feed xmlns="http://www.w3.org/2005/Atom">
  ...
  <summary>
    <build 
      xmlns="http://www.eclipse.org/2006/BuildFeed" 
      callisto="COMPLETE" 
      href="http://download.eclipse.org/downloads/drops/S-3.2RC5-200605191206" 
      jars="UNSIGNED" 
      type="S">
    ...
  </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, these values can be specified for a type attribute:

<build 
  xmlns="http://www.eclipse.org/2006/BuildFeed" 
  callisto="COMPLETE" 
  href="http://download.eclipse.org/downloads/drops/S-3.2RC5-200605191206" 
  jars="UNSIGNED"
  type="S">
  • 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:

<build 
  xmlns="http://www.eclipse.org/2006/BuildFeed" 
  callisto="COMPLETE" 
  href="http://download.eclipse.org/downloads/drops/S-3.2RC5-200605191206" 
  jars="UNSIGNED"
  type="S">

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 (but are NOT as recent as what's in CVS):

  • 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