<?xml version="1.0" encoding="UTF-8"?>
<!-- -->
<!-- SMART COSMOS Framework -->
<!-- Copyright (C) 2013-2015, Smartrac Technology Fletcher, Inc. -->
<!-- 267 Cane Creek Rd, Fletcher, NC, 28732, USA -->
<!-- All Rights Reserved. -->
<!-- -->
<!-- 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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>net.smartcosmos</groupId>
    <artifactId>smartcosmos-framework-root</artifactId>
    <version>2.14.0</version>
    <packaging>pom</packaging>
    <name>SMART COSMOS Framework Root</name>
    <description>SMART COSMOS™ Objects Core Interfaces, Extension API, Java Client, and helpful Maven Starter POMs</description>
    <prerequisites>
        <maven>3.0.0</maven>
    </prerequisites>
    <modules>
        <module>smartcosmos-build-tools</module>
        <module>smartcosmos-core</module>
        <module>smartcosmos-dependencies</module>
        <module>smartcosmos-documentation</module>
        <module>smartcosmos-extension-api</module>
        <module>smartcosmos-extension-starter-parent</module>
        <module>smartcosmos-framework-parent</module>
        <module>smartcosmos-java-client</module>
    </modules>
    <properties>

        <apacheds-shared-ldap.version>1.0.0-M31</apacheds-shared-ldap.version>
        <apacheds.version>2.0.0-M20</apacheds.version>
        <assertj-core.version>3.2.0</assertj-core.version>
        <aws-java-sdk.version>1.10.22</aws-java-sdk.version>
        <commons-io.version>2.4</commons-io.version>
        <commons-lang.version>2.6</commons-lang.version>
        <dropwizard-metrics.version>3.1.2</dropwizard-metrics.version>
        <dropwizard.version>0.7.1</dropwizard.version>
        <formatter-maven-plugin.version>0.5.2</formatter-maven-plugin.version>
        <freemarker.version>2.3.23</freemarker.version>
        <groovy.version>2.4.5</groovy.version>
        <guava.version>18.0</guava.version>
        <h2.version>1.4.189</h2.version>
        <hamcrest.version>1.3</hamcrest.version>
        <jackson.version>2.6.2</jackson.version>
        <jadira.version>4.0.0.GA</jadira.version>
        <java-uuid-generator.version>3.1.4</java-uuid-generator.version>
        <java.version>1.8</java.version>
        <javax.inject.version>1</javax.inject.version>
        <javax.jsr.version>1.1.1</javax.jsr.version>
        <javax.validation.version>1.1.0.Final</javax.validation.version>
        <jersey-server.version>2.22</jersey-server.version>
        <jetty.version>9.0.7.v20131107</jetty.version>
        <joda-time-hibernate.version>1.4</joda-time-hibernate.version>
        <maven-enforcer-plugin.version>1.3.1</maven-enforcer-plugin.version>
        <maven-sortpom-plugin.version>2.3.0</maven-sortpom-plugin.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <metrics-spring.version>3.1.2</metrics-spring.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
        <prometheus.version>0.0.14</prometheus.version>
        <quartz.version>2.2.1</quartz.version>
        <querydsl.version>4.0.5</querydsl.version>
        <!-- Override this for public releases. -->
        <release.nexusUrl>https://nexus.smartcosmos.net/nexus</release.nexusUrl>
        <!-- Override this for public releases. -->
        <release.serverId>deployment</release.serverId>
        <restlet.version>2.3.5</restlet.version>
        <slf4j.version>1.7.12</slf4j.version>
        <spring-security-ldap.version>2.0.4.RELEASE</spring-security-ldap.version>
        <spring.framework.version>4.2.1.RELEASE</spring.framework.version>
        <spring.security.version>4.0.2.RELEASE</spring.security.version>
    </properties>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>

                    <groupId>org.asciidoctor</groupId>
                    <artifactId>asciidoctor-maven-plugin</artifactId>
                    <version>1.5.2.1</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.asciidoctor</groupId>
                            <artifactId>asciidoctorj-pdf</artifactId>
                            <version>1.5.0-alpha.9</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.9.1</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>1.4.0</version>
                </plugin>
                <plugin>
                    <groupId>net.revelc.code</groupId>
                    <artifactId>formatter-maven-plugin</artifactId>
                    <version>${formatter-maven-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-archetype-plugin</artifactId>
                    <version>2.4</version>
                </plugin>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.5.5</version>
                </plugin>
                <plugin>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>2.15</version>
                </plugin>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>2.6.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <configuration>
                        <downloadSources>true</downloadSources>
                        <downloadJavadocs>true</downloadJavadocs>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>${maven-enforcer-plugin.version}</version>
                    <configuration>
                        <rules>
                            <requireMavenVersion>
                                <message>You are running an older version of Maven. SMART COSMOS requires at least Maven 3.0</message>
                                <version>[3.0.0,)</version>
                            </requireMavenVersion>
                            <requireJavaVersion>
                                <message>You are running an older version of Java. SMART COSMOS requires at least JDK ${java.version}</message>
                                <version>[${java.version}.0,)</version>
                            </requireJavaVersion>
                        </rules>
                    </configuration>
                    <executions>
                        <execution>
                            <id>enforce-versions</id>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.6</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.10.3</version>
                </plugin>
                <plugin>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.5.2</version>
                    <configuration>
                        <!-- During release:perform, enable the "release" profile -->
                        <releaseProfiles>release,docs</releaseProfiles>
                        <scmCommentPrefix>SMART COSMOS Release (Build ${buildNumber})</scmCommentPrefix>
                        <tagNameFormat>v@{project.version}</tagNameFormat>
                        <resume>false</resume>
                        <goals>deploy</goals>
                        <mavenExecutorId>forked-path</mavenExecutorId>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.7</version>
                </plugin>
                <plugin>
                    <groupId>com.google.code.sortpom</groupId>
                    <artifactId>maven-sortpom-plugin</artifactId>
                    <version>${maven-sortpom-plugin.version}</version>
                    <configuration>
                        <pomFile>pom.xml</pomFile>
                        <predefinedSortOrder>custom_1</predefinedSortOrder>
                        <lineSeparator>\n</lineSeparator>
                        <nrOfIndentSpace>4</nrOfIndentSpace>
                        <encoding>${project.build.sourceEncoding}</encoding>
                        <sortProperties>true</sortProperties>
                        <keepBlankLines>true</keepBlankLines>
                        <sortDependencies>scope,artifactId</sortDependencies>
                        <sortPlugins>artifactId</sortPlugins>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>sort</goal>
                            </goals>
                            <phase>verify</phase>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.4</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.18.1</version>
                </plugin>
                <!-- This replaces the standard maven deploy plugin. -->
                <plugin>
                    <groupId>org.sonatype.plugins</groupId>
                    <artifactId>nexus-staging-maven-plugin</artifactId>
                    <version>1.6.5</version>
                    <extensions>true</extensions>
                    <configuration>
                        <nexusUrl>${release.nexusUrl}</nexusUrl>
                        <serverId>${release.serverId}</serverId>
                        <autoReleaseAfterClose>true</autoReleaseAfterClose>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <!-- Non-JAR related plugins that are necessary for everything across the ecosystem. -->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>com.google.code.sortpom</groupId>
                <artifactId>maven-sortpom-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.sonatype.plugins</groupId>
                <artifactId>nexus-staging-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    <url>http://smartcosmos.net</url>
    <inceptionYear>2015</inceptionYear>
    <organization>
        <name>Smartrac Technology Fletcher, Inc.</name>
        <url>http://www.smartrac-group.com</url>
    </organization>
    <licenses>
        <license>
            <name>Apache License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0</url>
            <distribution>repo</distribution>
            <comments>Copyright (C) 2013 - 2015 Smartrac Technology Fletcher, Inc.</comments>
        </license>
    </licenses>
    <developers>
        <developer>
            <id>cloud.engineering</id>
            <name>SMARTRAC API Team</name>
            <email>api@smartrac-group.com</email>
            <organization>Smartrac Technology Fletcher, Inc.</organization>
            <roles>
                <role>Project Lead</role>
            </roles>
            <timezone>-5</timezone>
        </developer>
    </developers>
    <scm>
        <connection>scm:git:git://github.com/SMARTRACTECHNOLOGY/smartcosmos-framework.git</connection>
        <developerConnection>scm:git:git@github.com:SMARTRACTECHNOLOGY/smartcosmos-framework.git</developerConnection>
        <tag>v2.14.0</tag>
        <url>https://github.com/SMARTRACTECHNOLOGY/smartcosmos-framework/tree/master/</url>
    </scm>
    <profiles>
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-checkstyle-plugin</artifactId>
                        <configuration>
                            <failOnViolation>false</failOnViolation>

                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                                <phase>verify</phase>
                            </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.3</version>
                        <configuration>
                            <show>protected</show>
                            <nohelp>true</nohelp>
                            <docfilessubdirs>true</docfilessubdirs>
                        </configuration>
                        <executions>
                            <execution>
                                <id>attach-javadoc</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

    </profiles>
</project>
