#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.8+ JVM).</p>

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

<h3>Code Signatures</h3>

<p>You may <a class="external-link" href="https://infra.apache.org/release-signing.html#verifying-signature">verify the
    authenticity</a> of all artifacts below by using the PGP <a class="external-link"
                                                                href="https://downloads.apache.org/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>

        <li><a href="#previous">Previous Releases</a>
            <ul>
                <li><a href="#1.4.xBinary">$shiro14x.version</a></li>
                <ul>
                    <li><a href="#1.4.xBinary">$shiro14x.version Binary Distribution</a></li>
                    <li><a href="#1.4.xSource">$shiro14x.version Source Code Distribution</a></li>
                    <li><a href="#1.4.xGit">$shiro14x.version Git Source repository</a></li>
                </ul>
            </ul>
            <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($shiro15x)

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

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

<p><a class="external-link" href="https://downloads.apache.org/shiro/${latestRelease}/shiro-root-${latestRelease}-source-release.zip">zip</a>
    (<a class="external-link"
        href="https://downloads.apache.org/shiro/${latestRelease}/shiro-root-${latestRelease}-source-release.zip.asc">pgp</a>, <a
            class="external-link"
            href="https://downloads.apache.org/${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="previous"></a>Previous Releases</h2>

<h3><a name="1.4.xBinary"></a>${shiro14x.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($shiro14x)

<h3><a name="1.4.xSource"></a>${shiro14x.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="https://downloads.apache.org/shiro/${shiro14x.version}/shiro-root-${shiro14x.version}-source-release.zip">zip</a>
    (<a class="external-link"
        href="https://downloads.apache.org/shiro/${shiro14x.version}/shiro-root-${shiro14x.version}-source-release.zip.asc">pgp</a>, <a
            class="external-link"
            href="https://downloads.apache.org/shiro/${shiro14x.version}/shiro-root-${shiro14x.version}-source-release.zip.md5">md5</a>, <a
            class="external-link"
            href="https://downloads.apache.org/shiro/${shiro14x.version}/shiro-root-${shiro14x.version}-source-release.zip.sha512">sha512</a>)
</p>

<h3><a name="1.4.xGit"></a>${shiro14x.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-${shiro14x.version} -b shiro-root-${shiro14x.version}
</code></pre>

<h3><a name="1.4.xBinary"></a>${shiro14x.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="https://downloads.apache.org/shiro/${shiro13x.version}/shiro-root-${shiro13x.version}-source-release.zip">zip</a>
    (<a class="external-link"
        href="https://downloads.apache.org/shiro/${shiro13x.version}/shiro-root-${shiro13x.version}-source-release.zip.asc">pgp</a>, <a
            class="external-link"
            href="https://downloads.apache.org/shiro/${shiro13x.version}/shiro-root-${shiro13x.version}-source-release.zip.md5">md5</a>, <a
            class="external-link"
            href="https://downloads.apache.org/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="https://downloads.apache.org/shiro/${shiro12x.version}/shiro-root-${shiro12x.version}-source-release.zip">zip</a>
    (<a class="external-link"
        href="https://downloads.apache.org/shiro/${shiro12x.version}/shiro-root-${shiro12x.version}-source-release.zip.asc">pgp</a>, <a
            class="external-link"
            href="https://downloads.apache.org/shiro/${shiro12x.version}/shiro-root-${shiro12x.version}-source-release.zip.md5">md5</a>, <a
            class="external-link"
            href="https://downloads.apache.org/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="https://archive.apache.org/dist/shiro/${shiro11x.version}/shiro-root-${shiro11x.version}-source-release.zip">zip</a> (<a
        class="external-link" href="https://archive.apache.org/dist/shiro/${shiro11x.version}/shiro-root-${shiro11x.version}-source-release.zip.asc">pgp</a>,
    <a class="external-link" href="https://archive.apache.org/dist/shiro/${shiro11x.version}/shiro-root-${shiro11x.version}-source-release.zip.md5">md5</a>,
    <a class="external-link" href="https://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>
