<!--
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.
-->
<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/">
  <Project rdf:about="http://Maven.rdf.apache.org/">
    <created>2001</created>
    <license rdf:resource="http://www.apache.org/licenses/LICENSE-2.0.txt"/>
    <name>Apache Maven</name>
    <homepage rdf:resource="http://maven.apache.org/"/>
    <asfext:pmc rdf:resource="http://maven.apache.org/"/>
    <shortdesc>Maven is a project development management and comprehension tool.</shortdesc>
    <description>Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process.</description>
    <bug-database rdf:resource="https://issues.apache.org/jira/browse/MNG"/>
    <mailing-list rdf:resource="http://maven.apache.org/mail-lists.html"/>
    <download-page rdf:resource="http://maven.apache.org/download.html"/>
    <programming-language>Java</programming-language>
    <category rdf:resource="http://projects.apache.org/category/build-management"/>
    <release>
      <Version>
        <name>Latest stable release</name>
        <created>2017-10-24</created>
        <revision>3.5.2</revision>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.5.2/source/apache-maven-3.5.2-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.5.2/source/apache-maven-3.5.2-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.5.0</name>
        <created>2017-04-07</created>
        <revision>3.5.0</revision>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.5.0/source/apache-maven-3.5.0-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.5.0/source/apache-maven-3.5.0-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.3.9</name>
        <created>2015-11-14</created>
        <revision>3.3.9</revision>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.9/source/apache-maven-3.3.9-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.9/source/apache-maven-3.3.9-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.3.3</name>
        <created>2015-04-28</created>
        <revision>3.3.3</revision>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.3/source/apache-maven-3.3.3-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.3/source/apache-maven-3.3.3-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.3.1</name>
        <created>2015-03-18</created>
        <revision>3.3.1</revision>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.1/binaries/apache-maven-3.3.1-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.1/binaries/apache-maven-3.3.1-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.1/source/apache-maven-3.3.1-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.3.1/source/apache-maven-3.3.1-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.2.5</name>
        <created>2014-12-20</created>
        <revision>3.2.5</revision>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.5/source/apache-maven-3.2.5-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.5/source/apache-maven-3.2.5-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.2.3</name>
        <created>2014-08-17</created>
        <revision>3.2.3</revision>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.3/source/apache-maven-3.2.3-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.3/source/apache-maven-3.2.3-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.2.2</name>
        <created>2014-06-25</created>
        <revision>3.2.2</revision>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.2/binaries/apache-maven-3.2.2-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.2/binaries/apache-maven-3.2.2-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.2/source/apache-maven-3.2.2-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.2/source/apache-maven-3.2.2-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.2.1</name>
        <created>2014-02-21</created>
        <revision>3.2.1</revision>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.1/binaries/apache-maven-3.2.1-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.1/binaries/apache-maven-3.2.1-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.1/source/apache-maven-3.2.1-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.2.1/source/apache-maven-3.2.1-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.1.1</name>
        <created>2013-10-04</created>
        <revision>3.1.1</revision>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.1.1/source/apache-maven-3.1.1-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.1.1/source/apache-maven-3.1.1-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.1.0</name>
        <created>2013-07-15</created>
        <revision>3.1.0</revision>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.1.0/binaries/apache-maven-3.1.0-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.1.0/binaries/apache-maven-3.1.0-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.1.0/source/apache-maven-3.1.0-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.1.0/source/apache-maven-3.1.0-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.0.5</name>
        <created>2013-02-23</created>
        <revision>3.0.5</revision>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.0.5/source/apache-maven-3.0.5-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/maven-3/3.0.5/source/apache-maven-3.0.5-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.0.4</name>
        <created>2012-01-20</created>
        <revision>3.0.4</revision>
        <file-release>http://archive.apache.org/dist/maven/binaries/apache-maven-3.0.4-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/binaries/apache-maven-3.0.4-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/source/apache-maven-3.0.4-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/source/apache-maven-3.0.4-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.0.3</name>
        <created>2011-03-03</created>
        <revision>3.0.3</revision>
        <file-release>http://archive.apache.org/dist/maven/binaries/apache-maven-3.0.3-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/binaries/apache-maven-3.0.3-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/source/apache-maven-3.0.3-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/source/apache-maven-3.0.3-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.0.2</name>
        <created>2011-01-12</created>
        <revision>3.0.2</revision>
        <file-release>http://archive.apache.org/dist/maven/binaries/apache-maven-3.0.2-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/binaries/apache-maven-3.0.2-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/source/apache-maven-3.0.2-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/source/apache-maven-3.0.2-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.0.1</name>
        <created>2010-11-23</created>
        <revision>3.0.1</revision>
        <file-release>http://archive.apache.org/dist/maven/binaries/apache-maven-3.0.1-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/binaries/apache-maven-3.0.1-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/source/apache-maven-3.0.1-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/source/apache-maven-3.0.1-src.tar.gz</file-release>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Maven 3.0</name>
        <created>2010-10-04</created>
        <revision>3.0</revision>
        <file-release>http://archive.apache.org/dist/maven/binaries/apache-maven-3.0-bin.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/binaries/apache-maven-3.0-bin.tar.gz</file-release>
        <file-release>http://archive.apache.org/dist/maven/source/apache-maven-3.0-src.zip</file-release>
        <file-release>http://archive.apache.org/dist/maven/source/apache-maven-3.0-src.tar.gz</file-release>
      </Version>
    </release>
    <repository>
      <GitRepository>
        <location rdf:resource="https://git-wip-us.apache.org/repos/asf/maven.git"/>
        <browse rdf:resource="https://git-wip-us.apache.org/repos/asf/maven.git"/>
      </GitRepository>
    </repository>
    <repository>
      <GitRepository>
        <location rdf:resource="https://git-wip-us.apache.org/repos/asf/maven-integration-testing.git"/>
        <browse rdf:resource="https://git-wip-us.apache.org/repos/asf/maven-integration-testing.git"/>
      </GitRepository>
    </repository>
    <maintainer>
      <foaf:Person>
        <foaf:name>Apache Maven PMC</foaf:name>
          <foaf:mbox rdf:resource="mailto:dev@maven.apache.org"/>
      </foaf:Person>
    </maintainer>
  </Project>
</rdf:RDF>
