Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cross-project-issues-dev] Re: Europa Build Workshop Report - RSS Feeds

New code and schema for RSS publishing and watching are in CVS. Please
review it, and per the dates set forth at the Europa Build Workshop,
provide any comments or feedback before Oct 13, after which point the
schema will be considered "mostly" frozen.

http://wiki.eclipse.org/index.php/Europa_Build_Workshop_Report#RSS_Action_Items
http://wiki.eclipse.org/index.php/Eclipse_Build_Available_RSS_Schema
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.releng.basebuilder/plugins/org.eclipse.build.tools/schema/?only_with_tag=releng_test

Thanks!

--
Nick Boldt :: Software Developer, IBM Toronto Lab
Eclipse Modeling Framework :: http://eclipse.org/emf
905/413/4308 (t/l 969) :: codeslave@xxxxxxxxxx



                                                                           
             Nick                                                          
             Boldt/Toronto/IBM                                             
                                                                        To 
             09/26/2006 12:02          cross-project-issues-dev@xxxxxxxxxx 
             AM                        g                                   
                                                                        cc 
                                                                           
                                                                   Subject 
                                       Europa Build Workshop Report - RSS  
                                       Feeds                               
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           



As per the action items from the Europa Build Workshop in Portland earlier
this month (
http://wiki.eclipse.org/index.php/Europa_Build_Workshop_Report#Action_Items
), I've been asked to revise the existing spec and define a more strict
vocabulary list for test and build status codes. The new schema is ready,
but I need a little more time to test the tools that create and read based
on that schema; once that's ready I'll release the whole thing here:

http://wiki.eclipse.org/index.php/Eclipse_Build_Available_RSS_Schema

Currently that page contains links to the current schema used by Eclipse,
EMF and UML2. The new schema is *mostly* compatible with the old but due to
tighter restrictions on vocabulary, some attribute values will have to
change to comply with the restrictions. In addition, I've added a few new
attributes to <build cvsbranch="" branch="" datetime=""/>, a new id
attribute to <test><result id=""/></test>, and turned the callisto
attribute on <build/> into a nested node, <coordinated
status="">...</coordinated> so that it's both restricted and extensible
(with additional comments), if needs be.
http://wiki.eclipse.org/index.php/Eclipse_Build_Available_RSS_Feeds#Support_For_Coordinated_Releases

In the meantime, for those who are interested, here's the new schema,
complete with comments about what's new. The restricted grammar
enumerations are at the end. I welcome comments, suggestions, or any other
feedback either in this mailing list or in the wiki:
http://wiki.eclipse.org/index.php/Eclipse_Build_Available_RSS_Schema.

Thanks!

--
Nick Boldt :: Software Developer, IBM Toronto Lab
Eclipse Modeling Framework :: http://eclipse.org/emf
905/413/4308 (t/l 969) :: codeslave@xxxxxxxxxx


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns="
http://www.eclipse.org/2006/BuildFeed"; elementFormDefault="qualified"
targetNamespace="http://www.eclipse.org/2006/BuildFeed";>

  <xs:element name="build">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="1" minOccurs="0" ref="update"/>
        <xs:element maxOccurs="1" minOccurs="0" ref="downloads"/>
        <xs:element maxOccurs="1" minOccurs="0" ref="releasenotes"/>

        <xs:element maxOccurs="1" minOccurs="0" ref="releases"/>

        <xs:element maxOccurs="1" minOccurs="0" ref="tests"/>

        <xs:element maxOccurs="1" minOccurs="0" ref="dependencies"/>
        <xs:element maxOccurs="1" minOccurs="0" ref="coordinated"/>
      </xs:sequence>
      <!--  TODO: NEW 060923: implement build:cvsbranch, build:branch,
build:datetime -->
      <xs:attribute name="branch" type="buildBranch" use="required"/>
      <xs:attribute name="type" type="enumBuildType" use="required"/>
      <xs:attribute name="datetime" type="buildDatetime" use="required"/>
      <xs:attribute name="href" type="xs:anyURI" use="required"/>
      <xs:attribute name="cvsbranch" type="xs:token" use="optional"/>
      <xs:attribute name="jars" type="enumJarSigningStatus" use="optional"
/>
    </xs:complexType>
  </xs:element>

  <xs:element name="update" type="xs:anyURI"/>
  <xs:element name="downloads" type="xs:anyURI"/>
  <xs:element name="releasenotes" type="xs:anyURI"/>

  <xs:element name="releases">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" minOccurs="1" ref="release"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="release">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:anyURI">
          <xs:attribute name="os" type="enumOS" use="required"/>
          <xs:attribute name="ws" type="enumWS" use="required"/>
          <xs:attribute name="arch" type="enumArch" use="optional"/>
          <xs:attribute name="type" type="enumReleaseType" use="required"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>

  <xs:element name="tests">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" minOccurs="1" ref="test"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="test">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" minOccurs="1" ref="result"/>
      </xs:sequence>
      <xs:attribute name="href" type="xs:anyURI" use="optional"/>
      <xs:attribute name="type" type="enumTestType" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="result">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="enumTestStatus">
          <!--  TODO: NEW 060923: implement test:result:id -->
          <xs:attribute name="id" type="xs:token" use="optional"/>
          <xs:attribute name="os" type="enumOS" use="required"/>
          <xs:attribute name="ws" type="enumWS" use="required"/>
          <xs:attribute name="arch" type="enumArch" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>

  <xs:element name="dependencies">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" minOccurs="1" ref="dependency"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="dependency" type="xs:anyURI"/>

  <!--  TODO: NEW 060923: implement coordinated as an elem -->
  <!--  TODO: NEW 060923: change the way to store delay/problem info
related to coordinated releases - use anyType -->
  <xs:element name="coordinated">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
        <xs:attribute name="status" type="enumCoordinatedStatus" use=
"optional"/>
      </xs:extension>
    </xs:simpleContent>
    </xs:complexType>
  </xs:element>

  <!-- TODO: NEW 060923: implement new schema restrictions (enums) -->
  <xs:simpleType name="enumBuildType">
    <xs:restriction base="xs:token">
      <!--  TODO: NEW 060923: drop "C" suffix for "Callisto (coordinated)"
(redundant info) -->
      <xs:enumeration value="N"/>
      <xs:enumeration value="I"/>
      <xs:enumeration value="M"/>
      <xs:enumeration value="S"/>
      <xs:enumeration value="R"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="enumTestType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="junit"/>
      <xs:enumeration value="performance"/>
      <xs:enumeration value="api"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="enumJarSigningStatus">
    <xs:restriction base="xs:token">
      <xs:enumeration value=""/>
      <xs:enumeration value="NONE"/>
      <xs:enumeration value="UNSIGNED"/>
      <xs:enumeration value="SIGNREADY"/>
      <xs:enumeration value="BUILDREADY"/>
      <xs:enumeration value="SIGNED"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="enumCoordinatedStatus">
    <xs:restriction base="xs:token">
      <xs:enumeration value=""/>
      <xs:enumeration value="NONE"/>
      <xs:enumeration value="BUILDCOMPLETE"/>
      <xs:enumeration value="UMSITEREADY"/>
      <xs:enumeration value="CALLISTOSITEREADY"/>
      <xs:enumeration value="COMPLETE"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="enumTestStatus">
    <xs:restriction base="xs:token">
      <xs:enumeration value=""/>
      <xs:enumeration value="PASS"/>
      <xs:enumeration value="PENDING"/>
      <xs:enumeration value="FAIL"/>
      <xs:enumeration value="AVAILABLE"/>
      <xs:enumeration value="SKIPPED"/>
      <xs:enumeration value="UNKNOWN"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="enumOS">
    <xs:restriction base="xs:token">
      <xs:enumeration value="aix"/>
      <xs:enumeration value="hp-ux"/>
      <xs:enumeration value="linux"/>
      <xs:enumeration value="macosx"/>
      <xs:enumeration value="qnx"/>
      <xs:enumeration value="solaris8"/>
      <xs:enumeration value="wce"/>
      <xs:enumeration value="win32"/>
      <xs:enumeration value="ALL"/>
      <xs:enumeration value="OTHER"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="enumWS">
    <xs:restriction base="xs:token">
      <xs:enumeration value="carbon"/>
      <xs:enumeration value="gtk"/>
      <xs:enumeration value="motif"/>
      <xs:enumeration value="photon"/>
      <xs:enumeration value="win"/>
      <xs:enumeration value="ALL"/>
      <xs:enumeration value="OTHER"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="enumArch">
    <xs:restriction base="xs:token">
      <xs:enumeration value="arm"/>
      <xs:enumeration value="hp9000"/>
      <xs:enumeration value="ppc"/>
      <xs:enumeration value="sparc"/>
      <xs:enumeration value="x86"/>
      <xs:enumeration value="x86_64"/>
      <xs:enumeration value="ALL"/>
      <xs:enumeration value="OTHER"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="enumReleaseType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="SDK"/>
      <xs:enumeration value="runtime"/>
      <xs:enumeration value="tests"/>
      <xs:enumeration value="examples"/>
      <xs:enumeration value="OTHER"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="buildDatetime">
    <xs:restriction base="xs:token">
      <xs:pattern value="\d{8}-{0,1}\d{0,4}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="buildBranch">
    <xs:restriction base="xs:token">
      <xs:pattern value="\d{1,2}.\d{1,2}.\d{1,2}"/>
    </xs:restriction>
  </xs:simpleType>

</xs:schema>




Back to the top