<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ 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 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <!-- pick up Apache distributionManagement for releasing (snapshots, releases, etc): -->
    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>17</version>
    </parent>

    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-root</artifactId>
    <packaging>pom</packaging>
    <version>1.3.2</version>

    <name>Apache Shiro</name>
    <url>http://shiro.apache.org/</url>
    <description>
        Apache Shiro is a powerful and flexible open-source security framework that cleanly handles
        authentication, authorization, enterprise session management, single sign-on and cryptography services.
    </description>
    <inceptionYear>2004</inceptionYear>

    <scm>
        <connection>scm:git:https://git-wip-us.apache.org/repos/asf/shiro.git</connection>
        <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/shiro.git</developerConnection>
        <url>https://github.com/apache/shiro/tree/${project.scm.tag}</url>
        <tag>shiro-root-1.3.2</tag>
    </scm>
    <issueManagement>
        <system>Jira</system>
        <url>http://issues.apache.org/jira/browse/SHIRO</url>
    </issueManagement>
    <ciManagement>
        <system>Hudson</system>
        <url>http://hudson.zones.apache.org/hudson/view/Shiro/</url>
    </ciManagement>

    <distributionManagement>
        <site>
            <id>shiro.website</id>
            <name>Apache Shiro Site</name>
            <url>scm:svn:https://svn.apache.org/repos/asf/shiro/site/publish/static/latest</url>
        </site>
    </distributionManagement>

    <properties>

        <!-- Replaced by the build number plugin at build time: -->
        <buildNumber>${user.name}-${maven.build.timestamp}</buildNumber>

        <!-- non-dependency-based properties: -->
        <shiro.osgi.importRange>[1.2, 2)</shiro.osgi.importRange>

        <!-- Compile 3rd party dependencies: -->
        <!-- Don't change this version without also changing the shiro-aspect and shiro-features
             modules' OSGi metadata: -->
        <aspectj.version>1.8.6</aspectj.version>
        <commons.cli.version>1.2</commons.cli.version>
        <commons.codec.version>1.4</commons.codec.version>
        <crowd.version>1.5.2</crowd.version>
        <!-- Don't change this version without also changing the shiro-ehcache and shiro-features
             modules' OSGi metadata: -->
        <ehcache.version>2.5.3</ehcache.version>
        <!-- Don't change this version without also changing the shiro-hazelcast and shiro-features OSGi metadata: -->
        <hazelcast.version>2.4.1</hazelcast.version>
        <hsqldb.version>1.8.0.7</hsqldb.version>
        <jdk.version>1.6</jdk.version>
        <jetty.version>6.1.26</jetty.version>
        <!-- Don't change this version without also changing the shiro-quartz and shiro-features
             modules' OSGi metadata: -->
        <quartz.version>1.6.1</quartz.version>
        <slf4j.version>1.6.4</slf4j.version>
        <spring.version>3.1.0.RELEASE</spring.version>
        <guice.version>3.0</guice.version>

        <!-- Test 3rd-party dependencies: -->
        <easymock.version>3.1</easymock.version>
        <gmaven.version>1.3</gmaven.version>
        <groovy.version>1.8.5</groovy.version>
        <junit.version>4.8.2</junit.version>
        <!-- so we can mock static methods in 3rd party libraries that sometimes don't use proper interfaces
             ahem, hazelcast, ahem... -->
        <powermock.version>1.5</powermock.version>

    </properties>

    <mailingLists>
        <mailingList>
            <name>Apache Shiro Users Mailing List</name>
            <subscribe>user-subscribe@shiro.apache.org</subscribe>
            <unsubscribe>user-unsubscribe@shiro.apache.org</unsubscribe>
            <post>user@shiro.apache.org</post>
            <!--archive/-->
            <!--otherArchives-->
        </mailingList>
        <mailingList>
            <name>Apache Shiro Developers Mailing List</name>
            <subscribe>dev-subscribe@shiro.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@shiro.apache.org</unsubscribe>
            <post>dev@shiro.apache.org</post>
            <!--archive/-->
            <!--otherArchives-->
        </mailingList>
    </mailingLists>


    <developers>
        <developer>
            <id>aditzel</id>
            <name>Allan Ditzel</name>
            <email>aditzel@apache.org</email>
            <url>http://www.allanditzel.com</url>
            <organization>Apache Software Foundation</organization>
            <timezone>-5</timezone>
        </developer>
        <developer>
            <id>jhaile</id>
            <name>Jeremy Haile</name>
            <email>jhaile@apache.org</email>
            <url>http://www.jeremyhaile.com</url>
            <organization>Mobilization Labs</organization>
            <organizationUrl>http://www.mobilizationlabs.com</organizationUrl>            
            <timezone>-5</timezone>
        </developer>
        <developer>
            <id>lhazlewood</id>
            <name>Les Hazlewood</name>
            <email>lhazlewood@apache.org</email>
            <url>http://www.leshazlewood.com</url>
            <organization>Katasoft</organization>
            <organizationUrl>http://www.katasoft.com</organizationUrl>
            <timezone>-8</timezone>
        </developer>
        <developer>
            <id>kaosko</id>
            <name>Kalle Korhonen</name>
            <email>kaosko@apache.org</email>
            <url>http://tynamo.org</url>
            <organization>Apache Software Foundation</organization>
            <timezone>-8</timezone>
        </developer>
        <developer>
            <id>pledbrook</id>
            <name>Peter Ledbrook</name>
            <email>p.ledbrook@cacoethes.co.uk</email>
            <url>http://www.cacoethes.co.uk/blog/</url>
            <organization>SpringSource</organization>
            <organizationUrl>http://www.springsource.com/</organizationUrl>
            <timezone>0</timezone>
        </developer>
        <developer>
            <id>tveil</id>
            <name>Tim Veil</name>
            <email>tveil@apache.org</email>
        </developer>
        <developer>
            <id>bdemers</id>
            <name>Brian Demers</name>
            <email>bdemers@apache.org</email>
            <url>http://about.me/brian.demers</url>
            <organization>Sonatype</organization>
            <organizationUrl>http://www.sonatype.com/</organizationUrl>
            <timezone>-5</timezone>
        </developer>
        <developer>
            <id>jbunting</id>
            <name>Jared Bunting</name>
            <email>jbunting@apache.org</email>
            <organization>Apache Software Foundation</organization>
            <timezone>-6</timezone>
        </developer>
    </developers>

    <modules>
        <module>core</module>
        <module>web</module>
        <module>support</module>
        <module>samples</module>
        <module>tools</module>
        <module>all</module>
    </modules>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>2.1.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-scm-publish-plugin</artifactId>
                    <version>1.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.rat</groupId>
                    <artifactId>apache-rat-plugin</artifactId>
                    <version>0.11</version>
                    <configuration>
                    		<!-- note that this configuration needs to be maintain both in pluginManagement and reporting sections -->
                        <excludes>
                            <exclude>**/.externalToolBuilders/*</exclude>
                            <exclude>**/infinitest.filters</exclude>
                            <!-- Apparently some test in samples/spring-client generates velocity log - would better to reconfigure to output to target/ -->
                            <exclude>velocity.log</exclude>
                        </excludes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>versions-maven-plugin</artifactId>
                    <version>1.2</version>
                </plugin>
                <!-- Allow writing tests in Groovy: -->
                <plugin>
                    <groupId>org.codehaus.gmaven</groupId>
                    <artifactId>gmaven-plugin</artifactId>
                    <version>${gmaven.version}</version>
                    <configuration>
                        <providerSelection>1.7</providerSelection>
                        <source>src/main/groovy</source>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.codehaus.gmaven.runtime</groupId>
                            <artifactId>gmaven-runtime-1.7</artifactId>
                            <version>${gmaven.version}</version>
                            <exclusions>
                                <exclusion>
                                    <groupId>org.codehaus.groovy</groupId>
                                    <artifactId>groovy-all</artifactId>
                                </exclusion>
                            </exclusions>
                        </dependency>
                        <dependency>
                            <groupId>org.codehaus.groovy</groupId>
                            <artifactId>groovy-all</artifactId>
                            <version>${groovy.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
                <plugin>
                	<groupId>org.eclipse.m2e</groupId>
                	<artifactId>lifecycle-mapping</artifactId>
                	<version>1.0.0</version>
                	<configuration>
                		<lifecycleMappingMetadata>
                			<pluginExecutions>
                				<pluginExecution>
                					<pluginExecutionFilter>
                						<groupId>
                							org.codehaus.mojo
                						</groupId>
                						<artifactId>
                							aspectj-maven-plugin
                						</artifactId>
                						<versionRange>
                							[1.3,)
                						</versionRange>
                						<goals>
                							<goal>test-compile</goal>
                							<goal>compile</goal>
                						</goals>
                					</pluginExecutionFilter>
                					<action>
                						<ignore />
                					</action>
                				</pluginExecution>
                				<pluginExecution>
                					<pluginExecutionFilter>
                						<groupId>
                							org.apache.maven.plugins
                						</groupId>
                						<artifactId>
                							maven-antrun-plugin
                						</artifactId>
                						<versionRange>
                							[1.3,)
                						</versionRange>
                						<goals>
                							<goal>run</goal>
                						</goals>
                					</pluginExecutionFilter>
                					<action>
                						<ignore />
                					</action>
                				</pluginExecution>
                				<pluginExecution>
                					<pluginExecutionFilter>
                						<groupId>
                							org.codehaus.mojo
                						</groupId>
                						<artifactId>
                							dependency-maven-plugin
                						</artifactId>
                						<versionRange>
                							[1.0,)
                						</versionRange>
                						<goals>
                							<goal>unpack</goal>
                						</goals>
                					</pluginExecutionFilter>
                					<action>
                						<ignore />
                					</action>
                				</pluginExecution>
                			</pluginExecutions>
                		</lifecycleMappingMetadata>
                	</configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.7</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>dependency-maven-plugin</artifactId>
                    <version>1.0</version>
                </plugin>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.7.7.201606060606</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>${jdk.version}</source>
                    <target>${jdk.version}</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12</version>
                <configuration>
                    <printSummary>true</printSummary>
                </configuration>
            </plugin>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>prepare-agent</id>
                            <phase>process-test-classes</phase>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            <!-- Allow Groovy tests to run: -->
            <plugin>
                <groupId>org.codehaus.gmaven</groupId>
                <artifactId>gmaven-plugin</artifactId>
                <version>${gmaven.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <!-- Add Git sha1 To A JAR Manifest
                     - http://maven.apache.org/plugin-developers/cookbook/add-svn-revision-to-manifest.html
                -->
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>1.4</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>create</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <doCheck>false</doCheck>
                    <doUpdate>false</doUpdate>
                    <revisionOnScmFailure>${project.version}</revisionOnScmFailure>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.3.1</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                        </manifest>
                        <manifestEntries>
                            <SCM-Revision>${buildNumber}</SCM-Revision>
                            <SCM-url>${project.scm.url}</SCM-url>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <configuration>
                    <!-- do not update upstream, with a pending release. -->
                    <pushChanges>false</pushChanges>
                    <localCheckout>true</localCheckout>
                    <!-- "install" needed because we have interrelated dependencies between the modules and we are releasing them all the same - especially consider shiro-all -->
                    <preparationGoals>clean apache-rat:check install</preparationGoals>
                    <autoVersionSubmodules>true</autoVersionSubmodules>
                    <!-- This configuration copied from apache:apache:7 parent pom -->
                    <useReleaseProfile>false</useReleaseProfile>
                    <goals>deploy site site:stage</goals>
                    <arguments>-Pdocs,apache-release</arguments>
                    <mavenExecutorId>forked-path</mavenExecutorId>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.sonatype.plugins</groupId>
                <artifactId>nexus-staging-maven-plugin</artifactId>
                <version>1.6</version>
                <extensions>true</extensions>
                <configuration>
                    <nexusUrl>https://repository.apache.org</nexusUrl>
                    <serverId>apache.releases.https</serverId>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <!-- Automatically inherited dependencies.  The only ones that should be in here
             are test dependencies.  Actual compile or runtime dependencies should be
             explicitly declared in a child module, referencing the dependency defined
             in this file's <dependencyManagement> section. -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <version>${easymock.version}</version>
            <scope>test</scope>
        </dependency>
        <!-- Writing tests in groovy is fast!: -->
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>${groovy.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-module-junit4</artifactId>
            <version>${powermock.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-api-easymock</artifactId>
            <version>${powermock.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <!-- Intra project dependencies -->
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-web</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-ehcache</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-quartz</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-spring</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-guice</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-aspectj</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-all</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro.samples</groupId>
                <artifactId>samples-spring-client</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- Intra project test dependencies: -->
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-core</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
                <scope>test</scope>
            </dependency>

            <!-- 3rd party dependencies -->
            <dependency>
                <!-- used for the 'hasher' command line tool: -->
                <groupId>commons-cli</groupId>
                <artifactId>commons-cli</artifactId>
                <version>${commons.cli.version}</version>
            </dependency>
            <dependency>
                <!-- runtime dependency for the shiro-cas module: -->
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${commons.codec.version}</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjrt</artifactId>
                <version>${aspectj.version}</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>${aspectj.version}</version>
            </dependency>
            <dependency>
                <!-- Used for Atlassian Crowd Realm - not required for the framework: -->
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>crowd-integration-client</artifactId>
                <version>${crowd.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
                <version>${slf4j.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <!-- Required in the sample apps only for 3rd-party libraries that expect to call
                     the commons logging APIs -->
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${slf4j.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
                <version>1.8.3</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>hsqldb</groupId>
                <artifactId>hsqldb</artifactId>
                <version>${hsqldb.version}</version>
                <scope>runtime</scope>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>jsp-api</artifactId>
                <version>2.1</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
                <version>1.1.2</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>2.5</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.16</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>javax.mail</groupId>
                        <artifactId>mail</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.jms</groupId>
                        <artifactId>jms</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jdmk</groupId>
                        <artifactId>jmxtools</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jmx</groupId>
                        <artifactId>jmxri</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-all</artifactId>
                <version>${groovy.version}</version>
            </dependency>
            <dependency>
                <groupId>net.sf.ehcache</groupId>
                <artifactId>ehcache-core</artifactId>
                <version>${ehcache.version}</version>
                <optional>true</optional>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.hazelcast</groupId>
                <artifactId>hazelcast</artifactId>
                <version>2.4.1</version>
            </dependency>
            <dependency>
                <!-- Used for sample applications only - not required for the framework: -->
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate</artifactId>
                <version>3.2.6.ga</version>
                <optional>true</optional>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>ant</groupId>
                        <artifactId>ant</artifactId>
                    </exclusion>
                    <exclusion>
                        <!--suppress MavenModelInspection -->
                        <groupId>ant-launcher</groupId>
                        <!--suppress MavenModelInspection -->
                        <artifactId>ant-launcher</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>c3p0</groupId>
                        <artifactId>c3p0</artifactId>
                    </exclusion>
                    <exclusion>
                        <!--suppress MavenModelInspection -->
                        <groupId>javax.security</groupId>
                        <!--suppress MavenModelInspection -->
                        <artifactId>jacc</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>servlet-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jboss</groupId>
                        <!--suppress MavenModelInspection -->
                        <artifactId>jboss-cache</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>net.sf.ehcache</groupId>
                        <artifactId>ehcache</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>asm</groupId>
                        <!--suppress MavenModelInspection -->
                        <artifactId>asm-attrs</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.transaction</groupId>
                        <artifactId>jta</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!-- Used to support Hibernate's JTA runtime dependency in the sample application(s) only.
                 Not required for Shiro -->
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-jta_1.1_spec</artifactId>
                <version>1.1.1</version>
                <scope>runtime</scope>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-annotations</artifactId>
                <version>3.2.1.ga</version>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
                <optional>true</optional>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${spring.version}</version>
                <optional>true</optional>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>${spring.version}</version>
                <optional>true</optional>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.version}</version>
                <optional>true</optional>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>${spring.version}</version>
                <scope>test</scope>
                <optional>true</optional>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
                <version>${guice.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.inject.extensions</groupId>
                <artifactId>guice-multibindings</artifactId>
                <version>${guice.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.inject.extensions</groupId>
                <artifactId>guice-servlet</artifactId>
                <version>${guice.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opensymphony.quartz</groupId>
                <artifactId>quartz</artifactId>
                <version>${quartz.version}</version>
                <optional>true</optional>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>taglibs</groupId>
                <artifactId>standard</artifactId>
                <version>1.1.2</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    <!-- Note that reporting may fail with lower settings than something like: MAVEN_OPTS="-X512m -XX:MaxPermSize=128m" -->
    <reporting>
        <plugins>
            <plugin>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <source>${jdk.version}</source>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <linksource>true</linksource>
                    <links>
                        <link>http://java.sun.com/javase/6/docs/api/</link>
                        <link>http://java.sun.com/javaee/5/docs/api/</link>
                        <link>http://www.slf4j.org/api/</link>
                        <link>http://static.springframework.org/spring/docs/2.5.x/api/</link>
                        <link>http://junit.org/junit/javadoc/4.4/</link>
                        <link>http://easymock.org/api/easymock/2.4</link>
                        <link>http://www.quartz-scheduler.org/docs/api/1.8.0/</link>
                    </links>
                    <!-- Don't include the sample apps - they're not part of Shiro's API: -->
                    <excludePackageNames>org.apache.shiro.samples.*</excludePackageNames>
                    <top><![CDATA[
  <!-- Begin Google Analytics code -->
  <script type="text/javascript">
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-11551827-1']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();
  </script>
  <!-- End Google Analytics code -->
                    ]]></top>
                </configuration>
                <reportSets>
                    <reportSet>
                        <id>javadoc-aggregate</id>
                        <reports>
                            <report>aggregate</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                    <aggregate>true</aggregate>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>2.5</version>
                <configuration>
                    <sourceEncoding>utf-8</sourceEncoding>
                    <targetJdk>1.5</targetJdk>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>2.2</version>
                <!-- Disable, just to make it go faster -->
                <configuration>
                    <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.rat</groupId>
                <artifactId>apache-rat-plugin</artifactId>
                <version>0.11</version>
                <!-- only run at the root -->
                <inherited>false</inherited>
                <configuration>
                		<!-- note that this configuration needs to be maintain both in pluginManagement and reporting sections -->
                    <excludes>
                        <exclude>**/.externalToolBuilders/*</exclude>
                        <exclude>**/infinitest.filters</exclude>
                        <!-- Apparently some test in samples/spring-client generates velocity log - would better to reconfigure to output to target/ -->
                        <exclude>velocity.log</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.5</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>taglist-maven-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <tagListOptions>
                        <tagClasses>
                            <tagClass>
                                <displayName>Todo Work</displayName>
                                <tags>
                                    <tag>
                                        <matchString>todo</matchString>
                                        <matchType>ignoreCase</matchType>
                                    </tag>
                                    <tag>
                                        <matchString>FIXME</matchString>
                                        <matchType>exact</matchType>
                                    </tag>
                                </tags>
                            </tagClass>
                            <tagClass>
                                <displayName>Deprecated</displayName>
                                <tags>
                                    <tag>
                                        <matchString>@Deprecated</matchString>
                                        <matchType>exact</matchType>
                                    </tag>
                                </tags>
                            </tagClass>
                        </tagClasses>
                    </tagListOptions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jdepend-maven-plugin</artifactId>
                <version>2.0-beta-2</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>dashboard-maven-plugin</artifactId>
                <version>1.0.0-beta-1</version>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <reportSets>
                    <reportSet>
                        <id>javadoc-aggregate</id>
                        <reports>
                            <report>report</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
        </plugins>
    </reporting>

    <profiles>
        <profile>
            <id>jdk8</id>
            <activation>
                <jdk>[1.8,)</jdk>
            </activation>
            <properties>
                <!-- Needed for the javadoc plugin when using JDK 1.8 -->
                <additionalparam>-Xdoclint:none</additionalparam>
            </properties>
        </profile>
        <profile>
            <id>docs</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>2.7</version>
                        <executions>
                            <execution>
                                <id>attach-api-docs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                        <inherited>true</inherited>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                        <inherited>true</inherited>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>apache-release</id>
            <distributionManagement>
                <site>
                    <id>shiro.website</id>
                    <name>Apache Shiro Site</name>
                    <url>scm:svn:https://svn.apache.org/repos/asf/shiro/site/publish/static/${project.version}</url>
                </site>
            </distributionManagement>
        </profile>
    </profiles>
</project>
