#parse("templates/includes.vtl")
#mdStyle()

#macro(artifactTable, $versionObject)

<table style="width: 100%" class="table">
    <thead>
    <tr>
        <th class="col-md-1">Artifact</th>
        <th class="col-md-3">Maven Usage</th>
        <th class="col-md-3">Notes</th>
    </tr>
    </thead>
    <tbody>
        #foreach($artifact in $versionObject.artifacts)
        <tr>
            #set($version = $versionObject.version)

            #if($artifact.c)
                #set($classifier = "-$artifact.c")
            #else
                #set($classifier = "")
            #end

            <td style="white-space: nowrap;">
                <a href="http://repo1.maven.org/maven2/$artifact.g.replace('.', '/')/${artifact.a}/${version}/${artifact.a}-${version}${classifier}.${artifact.type}">$artifact.a</a>
            </td>

            <td>
                #if($artifact.gavAlt)
                    $artifact.gavAlt
                #else
<pre><code class="xml">&lt;dependency&gt;
  &lt;groupId&gt;$artifact.g&lt;/groupId&gt;
  &lt;artifactId&gt;$artifact.a&lt;/artifactId&gt;
  &lt;version&gt;$version&lt;/version&gt;
&lt;/dependency&gt;
</code></pre>
                #end
            </td>

            <td>$artifact.description.replace('%version%', "$version")</td>

        </tr>
        #end
    </tbody>
</table>
#end

<h1><a name="Download-DownloadApacheShiro"></a>Download Apache Shiro</h1>

<p>Apache Shiro ${latestRelease} is the current stable release (Java 1.6+ JVM).</p>

<p>To download Shiro please follow the instructions below.</p>

<h3>Code Signatures</h3>

<p>You may <a class="external-link" href="http://www.apache.org/dev/release-signing.html#verifying-signature">verify the
    authenticity</a> of all artifacts below by using the PGP <a class="external-link"
                                                                href="http://www.apache.org/dist/shiro/KEYS">KEYS</a>
    file. </p>

<h3>Releases</h3>

<div>
    <ul>
        <li>
            <a href="#latest">Latest Stable Release (${latestRelease})</a>
            <ul>
                <li><a href="#latestBinary">${latestRelease} Binary Distribution</a></li>
                <li><a href="#latestSource">${latestRelease} Source Code Distribution</a></li>
                <li><a href="#latestGit">${latestRelease} Git Source repository</a></li>
            </ul>
        </li>
        #if( $earlyRelease )
        <li>
            <a href="#early">Early Access Release (${earlyRelease})</a>
            <ul>
                <li><a href="#earlyBinary">${earlyRelease} Binary Distribution</a></li>
                <li><a href="#earlySource">${earlyRelease} Source Code Distribution</a></li>
                <li><a href="#earlyGit">${earlyRelease} Git Source repository</a></li>
            </ul>
        </li>
        #end

        <li><a href="#previous">Previous Releases</a>
            <ul>
                <li><a href="#1.3.xBinary">$shiro13x.version</a></li>
                <ul>
                    <li><a href="#1.3.xBinary">$shiro13x.version Binary Distribution</a></li>
                    <li><a href="#1.3.xSource">$shiro13x.version Source Code Distribution</a></li>
                    <li><a href="#1.3.xGit">$shiro13x.version Git Source repository</a></li>
                </ul>
            </ul>
            <ul>
                <li><a href="#1.2.xBinary">$shiro12x.version</a></li>
                <ul>
                    <li><a href="#1.2.xBinary">$shiro12x.version Binary Distribution</a></li>
                    <li><a href="#1.2.xSource">$shiro12x.version Source Code Distribution</a></li>
                    <li><a href="#1.2.xGit">$shiro12x.version Git Source repository</a></li>
                </ul>
            </ul>
            <ul>
                <li><a href="#1.1.0Binary">$shiro11x.version</a></li>
                <ul>
                    <li><a href="#1.1.0Binary">$shiro11x.version Binary Distribution</a></li>
                    <li><a href="#1.1.0Source">$shiro11x.version Source Code Distribution</a></li>
                    <li><a href="#1.1.0Git">$shiro11x.version Git Source repository</a></li>
                </ul>
            </ul>
        </li>
    </ul>
</div>


<h2><a name="latest"></a>Latest Stable Release (${latestRelease})</h2>

<h3><a name="latestBinary"></a>${latestRelease} Binary Distribution</h3>

<p>Associated documentation can be found <a href="documentation.html" title="Documentation">here</a></p>

<p>To download the files directly as one .jar file just click the link in the "Artifact" column. If you would like
    acquire Shiro through Maven, then please use the markup listed under "Maven Usage"</p>

<p>
</p>

#artifactTable($shiro14x)

<h3><a name="latestSource"></a>${latestRelease} Source Code Distribution</h3>

<p>The source bundle requires JDK 1.6 and Maven 3.0.3+ to build:</p>

<p><a class="external-link" href="http://www.apache.org/dyn/closer.cgi/shiro/${latestRelease}/shiro-root-${latestRelease}-source-release.zip">zip</a>
    (<a class="external-link"
        href="http://www.apache.org/dyn/closer.cgi/shiro/${latestRelease}/shiro-root-${latestRelease}-source-release.zip.asc">pgp</a>, <a
            class="external-link"
            href="http://www.apache.org/dyn/closer.cgi/shiro/${latestRelease}/shiro-root-${latestRelease}-source-release.zip.sha512">sha512</a>)
</p>

<h3><a name="latestGit"></a>${latestRelease} Git Source repository</h3>

<p>The source can be cloned anonymously from Git with this command:</p>
<pre><code style="bash">git clone https://github.com/apache/shiro.git
git checkout shiro-root-${latestRelease} -b shiro-root-${latestRelease}
</code>
</pre>


<h2><a name="early"></a>Early Access Release (${earlyRelease})</h2>
<h3><a name="earlyBinary"></a>${earlyRelease} Binary Distribution</h3>

<p>Associated documentation can be found <a href="documentation.html" title="Documentation">here</a></p>

<p>To download the files directly as one .jar file just click the link in the "Artifact" column. If you would like
    acquire Shiro through Maven, then please use the markup listed under "Maven Usage"</p>

<p>
</p>

#artifactTable($shiro141)

<h3><a name="earlySource"></a>${earlyRelease} Source Code Distribution</h3>

<p>The source bundle requires JDK 1.6 and Maven 3.0.3+ to build:</p>

<p><a class="external-link" href="http://www.apache.org/dyn/closer.cgi/shiro/${earlyRelease}/shiro-root-${earlyRelease}-source-release.zip">zip</a>
    (<a class="external-link"
        href="http://www.apache.org/dyn/closer.cgi/shiro/${earlyRelease}/shiro-root-${earlyRelease}-source-release.zip.asc">pgp</a>, <a
            class="external-link"
            href="http://www.apache.org/dyn/closer.cgi/shiro/${earlyRelease}/shiro-root-${earlyRelease}-source-release.zip.sha512">sha512</a>)
</p>

<h3><a name="earlyGit"></a>${earlyRelease} Git Source repository</h3>

<p>The source can be cloned anonymously from Git with this command:</p>
<pre><code style="bash">git clone https://github.com/apache/shiro.git
git checkout shiro-root-${earlyRelease} -b shiro-root-${earlyRelease}
</code>
</pre>


<h2><a name="previous"></a>Previous Releases</h2>

<h3><a name="1.3.xBinary"></a>${shiro13x.version} Binary Distribution</h3>

<p>Associated documentation can be found <a href="documentation.html" title="Documentation">here</a></p>

<p>To download the files directly as one .jar file just click the link in the "Artifact" column. If you would like
    acquire Shiro through Maven, then please use the markup listed under "Maven Usage"</p>

<p>
</p>

#artifactTable($shiro13x)

<h3><a name="1.3.xSource"></a>${shiro13x.version} Source Code Distribution</h3>

<p>The source bundle requires JDK 1.6 and Maven 3.0.3+ to build:</p>

<p><a class="external-link" href="http://www.apache.org/dyn/closer.cgi/shiro/${shiro13x.version}/shiro-root-${shiro13x.version}-source-release.zip">zip</a>
    (<a class="external-link"
        href="http://www.apache.org/dyn/closer.cgi/shiro/${shiro13x.version}/shiro-root-${shiro13x.version}-source-release.zip.asc">pgp</a>, <a
            class="external-link"
            href="http://www.apache.org/dyn/closer.cgi/shiro/${shiro13x.version}/shiro-root-${shiro13x.version}-source-release.zip.md5">md5</a>, <a
            class="external-link"
            href="http://www.apache.org/dyn/closer.cgi/shiro/${shiro13x.version}/shiro-root-${shiro13x.version}-source-release.zip.sha1">sha1</a>)
</p>

<h3><a name="1.3.xGit"></a>${shiro13x.version} Git Source repository</h3>

<p>The source can be cloned anonymously from Git with this command:</p>
<pre><code class="bash">git clone https://github.com/apache/shiro.git
git checkout shiro-root-${shiro13x.version} -b shiro-root-${shiro13x.version}
</code></pre>

<h3><a name="1.2.xBinary"></a>${shiro12x.version} Binary Distribution</h3>

<p>Associated documentation can be found <a href="documentation.html" title="Documentation">here</a></p>

<p>To download the files directly as one .jar file just click the link in the "Artifact" column. If you would like
    acquire Shiro through Maven, then please use the markup listed under "Maven Usage"</p>

<p>
</p>

#artifactTable($shiro12x)

<h3><a name="1.2.xSource"></a>${shiro12x.version} Source Code Distribution</h3>

<p>The source bundle requires JDK 1.6 and Maven 3.0.3+ to build:</p>

<p><a class="external-link" href="http://www.apache.org/dyn/closer.cgi/shiro/${shiro12x.version}/shiro-root-${shiro12x.version}-source-release.zip">zip</a>
    (<a class="external-link"
        href="http://www.apache.org/dyn/closer.cgi/shiro/${shiro12x.version}/shiro-root-${shiro12x.version}-source-release.zip.asc">pgp</a>, <a
            class="external-link"
            href="http://www.apache.org/dyn/closer.cgi/shiro/${shiro12x.version}/shiro-root-${shiro12x.version}-source-release.zip.md5">md5</a>, <a
            class="external-link"
            href="http://www.apache.org/dyn/closer.cgi/shiro/${shiro12x.version}/shiro-root-${shiro12x.version}-source-release.zip.sha1">sha1</a>)
</p>

<h3><a name="1.2.xGit"></a>${shiro12x.version} Git Source repository</h3>

<p>The source can be cloned anonymously from Git with this command:</p>
<pre><code class="bash">git clone https://github.com/apache/shiro.git
git checkout shiro-root-${shiro12x.version} -b shiro-root-${shiro12x.version}
</code></pre>


<h3><a name="1.1.0"></a>${shiro11x.version}</h3>

<h4><a name="1.1.0Binary"></a>${shiro11x.version} Binary Distribution</h4>

<p>Associated documentation can be found <a href="documentation.html" title="Documentation">here</a></p>

<p>To download the files directly as one .jar file just click the link in the "Artifact" column. If you would like
    acquire Shiro through Maven, then please use the markup listed under "Maven Usage"</p>

<p>
</p>

#artifactTable($shiro11x)

<h4><a name="1.1.0Source"></a>${shiro11x.version} Source Code Distribution</h4>

<p>The ${shiro11x.version} source bundle requires JDK 1.5+ and Maven 2.2+ to build:</p>

<p><a class="external-link"
      href="http://archive.apache.org/dist/shiro/${shiro11x.version}/shiro-root-${shiro11x.version}-source-release.zip">zip</a> (<a
        class="external-link" href="http://archive.apache.org/dist/shiro/${shiro11x.version}/shiro-root-${shiro11x.version}-source-release.zip.asc">pgp</a>,
    <a class="external-link" href="http://archive.apache.org/dist/shiro/${shiro11x.version}/shiro-root-${shiro11x.version}-source-release.zip.md5">md5</a>,
    <a class="external-link" href="http://archive.apache.org/dist/shiro/${shiro11x.version}/shiro-root-${shiro11x.version}-source-release.zip.sha1">sha1</a>)
</p>

<h4><a name="1.1.0Git"></a>${shiro11x.version} Git Source repository</h4>

<p>The source can be cloned anonymously from Git with this command:</p>
<pre><code class="bash">git clone https://github.com/apache/shiro.git
git checkout shiro-root-${shiro11x.version} -b shiro-root-${shiro11x.version}
</code></pre>


<input type="hidden" id="ghEditPage" value="download.html.vtl"></input>
