<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<rdf:RDF xml:lang="en"
         xmlns="http://usefulinc.com/ns/doap#" 
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:asfext="http://projects.apache.org/ns/asfext#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/">
<!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at
   
         http://www.apache.org/licenses/LICENSE-2.0
   
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
  <Project rdf:about="http://continuum.apache.org">
    <created>2012-04-14</created>
    <license rdf:resource="http://usefulinc.com/doap/licenses/asl20" />
    <name>Apache Continuum</name>
    <homepage rdf:resource="http://continuum.apache.org" />
    <asfext:pmc rdf:resource="http://attic.apache.org" />
    <shortdesc>Apache Continuum software is an enterprise-ready continuous integration server with features such as automated builds, release management, role-based security, and integration with popular build tools and source control management systems.</shortdesc>
    <description>Whether you have a centralized build team or want to put control of releases in the hands of developers, Apache Continuum can help you improve quality and maintain a consistent build environment. Follow us on Twitter @apachecontinuum to get the latest news and updates!</description>
    <bug-database rdf:resource="http://jira.codehaus.org/browse/CONTINUUM" />
    <mailing-list rdf:resource="http://continuum.apache.org/mail-lists.html" />
    <download-page rdf:resource="http://continuum.apache.org/download.html" />
    <programming-language>Java</programming-language>
    <category rdf:resource="http://projects.apache.org/category/build-management" />
    <category rdf:resource="http://projects.apache.org/category/retired"/>
    <release>
      <Version>
        <name>Apache Continuum 1.4.2</name>
        <created>2014-06-13</created>
        <revision>1.4.2</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Continuum 1.4.1</name>
        <created>2013-01-07</created>
        <revision>1.4.1</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Continuum 1.3.8</name>
        <created>2011-09-18</created>
        <revision>1.3.8</revision>
      </Version>
    </release>
    <repository>
      <SVNRepository>
        <location rdf:resource="http://svn.apache.org/repos/asf/continuum"/>
        <browse rdf:resource="http://svn.apache.org/viewvc/continuum"/>
      </SVNRepository>
    </repository>
    <maintainer>
      <foaf:Person>
        <foaf:name>Apache Continuum PMC</foaf:name>
          <foaf:mbox rdf:resource="mailto:dev@continuum.apache.org"/>
      </foaf:Person>
    </maintainer>
  </Project>
</rdf:RDF>
