<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2015 Stormpath, Inc.
  ~
  ~ Licensed 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>

    <parent>
        <groupId>org.sonatype.oss</groupId>
        <artifactId>oss-parent</artifactId>
        <version>7</version>
    </parent>

    <groupId>com.stormpath.sdk</groupId>
    <artifactId>stormpath-sdk-root</artifactId>
    <version>1.0.RC9.2</version>
    <packaging>pom</packaging>

    <name>Stormpath Java SDK</name>
    <description>
        The Stormpath Java SDK enables JVM-based applications to easily interact with Stormpath's REST API.
    </description>
    <url>https://github.com/stormpath/stormpath-sdk-java</url>
    <inceptionYear>2012</inceptionYear>

    <licenses>
        <license>
            <name>Apache License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <scm>
        <connection>scm:git:git@github.com:stormpath/stormpath-sdk-java.git</connection>
        <developerConnection>scm:git:git@github.com:stormpath/stormpath-sdk-java.git</developerConnection>
        <url>git@github.com:stormpath/stormpath-sdk-java.git</url>
        <tag>stormpath-sdk-root-1.0.RC9.2</tag>
    </scm>
    <issueManagement>
        <system>GitHub</system>
        <url>https://github.com/stormpath/stormpath-sdk-java/issues</url>
    </issueManagement>

    <developers>
        <developer>
            <id>lhazlewood</id>
            <name>Les Hazlewood</name>
            <email>les@stormpath.com</email>
            <url>http://www.leshazlewood.com</url>
            <timezone>-8</timezone>
            <organization>Stormpath, Inc.</organization>
            <organizationUrl>http://www.stormpath.com</organizationUrl>
        </developer>
        <developer>
            <id>jwysong</id>
            <name>Jeff Wysong</name>
            <email>jeff@stormpath.com</email>
            <timezone>-5</timezone>
            <organization>Stormpath, Inc.</organization>
            <organizationUrl>http://www.stormpath.com</organizationUrl>
        </developer>
        <developer>
            <id>ecrisostomo</id>
            <name>Elder Crisostomo</name>
            <email>elder@stormpath.com</email>
            <timezone>-8</timezone>
            <organization>Stormpath, Inc.</organization>
            <organizationUrl>http://www.stormpath.com</organizationUrl>
        </developer>
    </developers>

    <modules>
        <module>api</module>
        <module>impl</module>
        <module>extensions</module>
        <module>examples</module>
        <module>tutorials</module>
        <module>clover</module>
    </modules>

    <properties>

        <jdk.version>1.6</jdk.version>

        <slf4j.version>1.7.8</slf4j.version>
        <hazelcast.version>3.6.1</hazelcast.version>
        <httpClient.version>4.5.2</httpClient.version>
        <jackson.version>2.4.4</jackson.version>
        <jjwt.version>0.5.1</jjwt.version>
        <oltu.version>1.0.0</oltu.version>
        <joda-time.version>2.1</joda-time.version>

        <!-- We cannot use servlet-api 3.1 without breaking JDK 6 compatibility because servlet-api 3.1 requires JDK7.
             See: http://stackoverflow.com/questions/22314453/unsupported-major-minor-version-51-0-error-when-using-1-6-in-pom-and-openjdk6-fo -->
        <servlet.version>3.0.1</servlet.version>
        <spring.version>4.2.3.RELEASE</spring.version>
        <spring.boot.version>1.3.3.RELEASE</spring.boot.version>
        <spring.security.version>4.0.3.RELEASE</spring.security.version>

        <!-- Test Dependencies: Only required for testing when building the SDK.  Not required by SDK users at runtime: -->
        <groovy.version>1.8.8</groovy.version>
        <logback.version>1.1.2</logback.version>
        <powermock.version>1.6.4</powermock.version>
        <easymock.version>3.1</easymock.version>
        <testng.version>6.8</testng.version>
        <!-- false in JDK 6 profile (i.e. JDK 6 build has ITs turned on): -->
        <skipITs>true</skipITs>

        <!-- Sample App Dependencies: only required when running a sample app. Not required by SDK users at runtime: -->
        <jstl.version>1.2</jstl.version>

    </properties>

    <dependencies>

        <!-- Test Dependencies for _all_ children modules: -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </dependency>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>${testng.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>${groovy.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <version>${easymock.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-module-testng</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>

            <!-- 'Pool' of dependencies available to any sub-module, but not included automatically.
                 They must be explicitly referenced in the children POMs, but _don't_ include
                 version numbers in the child POMs.  Define them here only to guarantee version
                 compatibility across children modules! -->

            <!-- Stormpath Java SDK sub-module .jars (alphabetized by artifactId for easy scanning please!): -->
            <dependency>
                <groupId>com.stormpath.sdk</groupId>
                <artifactId>stormpath-sdk-api</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.stormpath.sdk</groupId>
                <artifactId>stormpath-sdk-impl</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.stormpath.sdk</groupId>
                <artifactId>stormpath-sdk-oauth</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.stormpath.sdk</groupId>
                <artifactId>stormpath-sdk-servlet</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.stormpath.sdk</groupId>
                <artifactId>stormpath-sdk-httpclient</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.stormpath.sdk</groupId>
                <artifactId>stormpath-servlet-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.stormpath.spring</groupId>
                <artifactId>stormpath-spring</artifactId>
                <version>${project.version}</version>
            </dependency>
            <!--
                Need the dup here in order to make tests in one module available to the other modules.
                Known issue since 2005. http://jira.codehaus.org/browse/MNG-1378
            -->
            <dependency>
                <groupId>com.stormpath.spring</groupId>
                <artifactId>stormpath-spring</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.stormpath.spring</groupId>
                <artifactId>stormpath-spring-security</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.stormpath.spring</groupId>
                <artifactId>stormpath-spring-security-webmvc</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.stormpath.spring</groupId>
                <artifactId>stormpath-spring-webmvc</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.stormpath.spring</groupId>
                <artifactId>stormpath-spring-boot-starter</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.stormpath.spring</groupId>
                <artifactId>stormpath-webmvc-spring-boot-starter</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.stormpath.spring</groupId>
                <artifactId>stormpath-thymeleaf-spring-boot-starter</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.stormpath.spring</groupId>
                <artifactId>stormpath-spring-security-spring-boot-starter</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.stormpath.spring</groupId>
                <artifactId>stormpath-spring-security-webmvc-spring-boot-starter</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.stormpath.spring</groupId>
                <artifactId>stormpath-default-spring-boot-starter</artifactId>
                <version>${project.version}</version>
            </dependency>


            <!-- 3rd party dependencies: -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpClient.version}</version>
                <!-- The Stormpath Java SDK project uses SLF4J: -->
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt</artifactId>
                <version>${jjwt.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${slf4j.version}</version>
                <!-- Runtime only - replaces commons-logging runtime need for HTTPClient: -->
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.oltu.oauth2</groupId>
                <artifactId>org.apache.oltu.oauth2.authzserver</artifactId>
                <version>${oltu.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.oltu.oauth2</groupId>
                <artifactId>org.apache.oltu.oauth2.resourceserver</artifactId>
                <version>${oltu.version}</version>
            </dependency>
            <dependency>
                <groupId>com.hazelcast</groupId>
                <artifactId>hazelcast</artifactId>
                <version>${hazelcast.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
                <version>${jstl.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${servlet.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>javax.servlet.jsp-api</artifactId>
                <version>2.2.1</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-expression</artifactId>
                <version>${spring.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-core</artifactId>
                <version>${spring.security.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-web</artifactId>
                <version>${spring.security.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-config</artifactId>
                <version>${spring.security.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring.version}</version>
                <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>
                <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>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-test</artifactId>
                <version>${spring.security.version}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring.boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${joda-time.version}</version>
            </dependency>

        </dependencies>

    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.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-jar-plugin</artifactId>
                <version>2.4</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <archive>
                        <manifest>
                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <!-- For unit tests: -->
                <groupId>org.codehaus.gmavenplus</groupId>
                <artifactId>gmavenplus-plugin</artifactId>
                <version>1.5</version>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-all</artifactId>
                        <version>${groovy.version}</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <goals>
                            <goal>addSources</goal>
                            <goal>addTestSources</goal>
                            <goal>generateStubs</goal>
                            <goal>compile</goal>
                            <goal>testGenerateStubs</goal>
                            <goal>testCompile</goal>
                            <goal>removeStubs</goal>
                            <goal>removeTestStubs</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>2.16</version>
                <configuration>
                    <skipITs>${skipITs}</skipITs>
                    <includes>
                        <include>**/*IT.java</include>
                        <include>**/*IT.groovy</include>
                        <include>**/*ITCase.java</include>
                        <include>**/*ITCase.groovy</include>
                    </includes>
                    <excludes>
                        <exclude>**/*ManualIT.java</exclude>
                        <exclude>**/*ManualIT.groovy</exclude>
                    </excludes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>1.4</version>
                <executions>
                    <execution>
                        <id>enforce-banned-dependencies</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <bannedDependencies>
                                    <excludes>
                                        <exclude>commons-logging</exclude>
                                    </excludes>
                                </bannedDependencies>
                            </rules>
                            <fail>true</fail>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.4.2</version>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.scm</groupId>
                        <artifactId>maven-scm-provider-gitexe</artifactId>
                        <version>1.8.1</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <mavenExecutorId>forked-path</mavenExecutorId>
                    <useReleaseProfile>false</useReleaseProfile>
                    <arguments>-DskipTests -Pdocs,stormpath-signature</arguments>
                    <autoVersionSubmodules>true</autoVersionSubmodules>
                </configuration>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.10.1</version>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>${spring.boot.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <profiles>
        <profile>
            <id>jdk8</id>
            <activation>
                <jdk>[1.8,)</jdk>
            </activation>
            <properties>
                <!-- Issue 84: JDK 8 requires strict HTML.  We'll disable this strictness until we can
                     clean up the HTML source in JavaDoc comments: -->
                <additionalparam>-Xdoclint:none</additionalparam>
            </properties>
        </profile>
        <profile>
            <id>clover.all</id>
            <!-- NOTE: if you want to use this profile and have ITs run, set -DskipITs=false on the command line -->
            <!--
                NOTE: This is an older style of config, but currently, clover is unable
                to work with deeply nested modules.
            -->
            <!-- clover - for internal use -->
            <properties>
                <clover.coverage.percentage>52%</clover.coverage.percentage>
                <clover.base.dir>${user.home}/.stormpath/clover</clover.base.dir>
                <maven.clover.licenseLocation>${clover.base.dir}/clover.license</maven.clover.licenseLocation>
                <clover.project.dir>${clover.base.dir}/stormpath-sdk-java</clover.project.dir>
                <clover.history.dir>${clover.project.dir}/history</clover.history.dir>
                <clover.database.dir>${clover.project.dir}/database</clover.database.dir>
                <clover.database>${clover.database.dir}/clover.db</clover.database>
                <clover.version>4.1.1</clover.version>
            </properties>

            <modules>
                <module>api</module>
                <module>impl</module>
                <module>extensions</module>
                <module>examples</module>
                <module>tutorials</module>
                <!-- clover *must* be the last module referenced here in order to properly aggregate test results -->
                <module>clover</module>
            </modules>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-failsafe-plugin</artifactId>
                            <version>${failsafe.plugin.version}</version>
                            <configuration>
                                <systemProperties>
                                    <clover.showUniqueCoverage>true</clover.showUniqueCoverage>
                                </systemProperties>
                            </configuration>
                            <executions>
                                <execution>
                                    <id>integration-tests</id>
                                    <goals>
                                        <goal>integration-test</goal>
                                    </goals>
                                    <phase>integration-test</phase>
                                    <configuration>
                                        <encoding>${project.build.sourceEncoding}</encoding>
                                        <includes>
                                            <include>**/*IT*</include>
                                        </includes>
                                        <argLine>-Dfile.encoding=UTF-8</argLine>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>com.atlassian.maven.plugins</groupId>
                        <artifactId>clover-maven-plugin</artifactId>
                        <version>${clover.version}</version>
                        <configuration>
                            <generateHistorical>true</generateHistorical>
                            <historyDir>${clover.history.dir}</historyDir>
                            <!--<cloverMergeDatabase>${clover.database}</cloverMergeDatabase>-->
                            <cloverDatabase>${clover.database}</cloverDatabase>
                            <singleCloverDatabase>true</singleCloverDatabase>
                            <excludes>
                                <exclude>**/*Test*</exclude>
                                <exclude>**/*IT*</exclude>
                                <!-- leaving out lang as it mostly comes from other sources -->
                                <exclude>com/stormpath/sdk/lang/*</exclude>
                                <!-- leaving out MediaType as it's borrowed from Spring -->
                                <exclude>com/stormpath/sdk/impl/http/MediaType*</exclude>
                                <!-- leaving out JwtHeaderParameters - it's only used for static fields -->
                                <exclude>com/stormpath/sdk/impl/jwt/JwtHeaderParameters*</exclude>
                            </excludes>
                            <useCloverClassifier>true</useCloverClassifier>
                            <!--See https://confluence.atlassian.com/display/CLOVERKB/Java+8+code+instrumented+by+Clover+fails+to+compile-->
                            <instrumentLambda>none</instrumentLambda>
                        </configuration>
                        <executions>
                            <execution>
                                <id>clover.setup</id>
                                <phase>process-sources</phase>
                                <goals>
                                    <goal>setup</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
            <reporting>
                <plugins>
                    <plugin>
                        <groupId>com.atlassian.maven.plugins</groupId>
                        <artifactId>clover-maven-plugin</artifactId>
                        <version>${clover.version}</version>
                    </plugin>
                </plugins>
            </reporting>
        </profile>
        <profile>
            <id>stormpath-signature</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.4</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>docs</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>2.10.1</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>
                        <version>2.1.2</version>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                        <inherited>true</inherited>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>travis-docs</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>2.10.1</version>
                        <executions>
                            <execution>
                                <id>attach-api-docs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                        <inherited>true</inherited>
                        <configuration>
                            <top><![CDATA[
    <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
      ga('create', 'UA-29159574-1', 'auto');
      ga('send', 'pageview');
    </script>
    <script type="text/javascript">
      (function(d,s,i,r) {
        if (d.getElementById(i)){return;}
        var n=d.createElement(s),e=d.getElementsByTagName(s)[0];
        n.id=i;n.src='//js.hs-analytics.net/analytics/'+(Math.ceil(new Date()/r)*r)+'/475298.js';
        e.parentNode.insertBefore(n, e);
      })(document,"script","hs-analytics",300000);
    </script>
    <script type="text/javascript">
      var _kmq = _kmq || [];
      var _kmk = _kmk || '684b854336bd3a6523260ebd991eec06b18b929a';
      function _kms(u){
        setTimeout(function(){
            var d = document, f = d.getElementsByTagName('script')[0],
                    s = d.createElement('script');
            s.type = 'text/javascript'; s.async = true; s.src = u;
            f.parentNode.insertBefore(s, f);
        }, 1);
      }
      _kms('//i.kissmetrics.com/i.js');
      _kms('//doug1izaerwt3.cloudfront.net/' + _kmk + '.1.js');
    </script>
    <script src="//cdn.optimizely.com/js/225847041.js"></script>
                                ]]></top>
                            <excludePackageNames>
                                *com.stormpath.sdk.servlet.oauth.impl*:
                                *com.stormpath.sdk.servlet.http.impl*:
                                *com.stormpath.sdk.servlet.event.impl:
                                *com.stormpath.sdk.servlet.config.impl:
                                *com.stormpath.sdk.servlet.authc.impl:
                                *com.stormpath.sdk.servlet.account.event.impl:
                                *com.stormpath.sdk.impl.*:
                                *.examples:
                                *.tutorial.*:
                                *quickstart
                            </excludePackageNames>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>2.1.2</version>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                        <inherited>true</inherited>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>
