<?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://shiro.apache.org">
        <created>2010-12-11</created>
        <license rdf:resource="http://usefulinc.com/doap/licenses/asl20"/>
        <name>Apache Shiro</name>
        <homepage rdf:resource="http://shiro.apache.org"/>
        <asfext:pmc rdf:resource="http://shiro.apache.org"/>
        <shortdesc>Apache Shiro is an easy-to-use Java security framework that performs authentication, authorization,
            cryptography, and session management.
        </shortdesc>
        <description>Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication,
            authorization, cryptography, and session management. With Shiro’s easy-to-understand API, you can quickly
            and easily secure any JVM-based application – from the smallest mobile applications to the largest web
            and enterprise applications.
        </description>
        <bug-database rdf:resource="http://shiro.apache.org/issues.html"/>
        <mailing-list rdf:resource="http://shiro.apache.org/mailing-lists.html"/>
        <download-page rdf:resource="http://shiro.apache.org/download.html"/>
        <programming-language>Java</programming-language>
        <category rdf:resource="http://projects.apache.org/category/library"/>
        <category rdf:resource="http://projects.apache.org/category/web-framework"/>
        <release>
            <Version>
                <name>Apache Shiro 1.0.0-incubating</name>
                <created>2010-06-01</created>
                <revision>1.0.0-incubating</revision>
            </Version>
        </release>
        <release>
            <Version>
                <name>Apache Shiro 1.1.0</name>
                <created>2010-11-01</created>
                <revision>1.1.0</revision>
            </Version>
        </release>
        <release>
            <Version>
                <name>Apache Shiro 1.2.0</name>
                <created>2012-01-24</created>
                <revision>1.2.0</revision>
            </Version>
        </release>
        <release>
            <Version>
                <name>Apache Shiro 1.2.1</name>
                <created>2012-07-28</created>
                <revision>1.2.1</revision>
            </Version>
        </release>
        <repository>
            <SVNRepository>
                <location rdf:resource="http://svn.apache.org/repos/asf/shiro"/>
                <browse rdf:resource="http://svn.apache.org/repos/asf/shiro"/>
            </SVNRepository>
        </repository>
        <maintainer>
            <foaf:Person>
                <foaf:name>Les Hazlewood</foaf:name>
                <foaf:mbox rdf:resource="mailto:lhazlewood@apache.org"/>
            </foaf:Person>
        </maintainer>
    </Project>
</rdf:RDF>