<?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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>net.smartcosmos</groupId>
        <artifactId>smartcosmos-framework-parent</artifactId>
        <version>2.14.0</version>
        <relativePath>../smartcosmos-framework-parent/pom.xml</relativePath>
    </parent>
    <artifactId>smartcosmos-core</artifactId>
    <name>SMART COSMOS Core</name>
    <description>Provides an interface driven SDK for working with the SMART COSMOS platform services</description>
    <dependencies>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
        </dependency>
        <dependency>
            <groupId>io.dropwizard</groupId>
            <artifactId>dropwizard-hibernate</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.uuid</groupId>
            <artifactId>java-uuid-generator</artifactId>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-core</artifactId>
        </dependency>
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
        </dependency>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
        </dependency>
        <dependency>
            <groupId>org.reflections</groupId>
            <artifactId>reflections-maven</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-core</artifactId>
            <exclusions>
                <!-- This is imported and shaded into shiro-core, so no need to have as a dependency. -->
                <exclusion>
                    <groupId>commons-beanutils</groupId>
                    <artifactId>commons-beanutils</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>license-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <profile>
            <id>docs</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <configuration>
                            <additionalparam>-Xdoclint:none</additionalparam>
                            <groups>
                                <group>
                                    <title>Builders</title>
                                    <packages>net.smartcosmos.builder:net.smartcosmos.objects.builder:net.smartcosmos.profiles.builder:net.smartcosmos.flows.builder</packages>
                                </group>
                                <group>
                                    <title>SMART COSMOS Objects</title>
                                    <packages>net.smartcosmos.objects.model*:net.smartcosmos.objects.pojo*</packages>
                                </group>
                                <group>
                                    <title>Audit and Integration Event Generation</title>
                                    <packages>net.smartcosmos.model.integration:net.smartcosmos.pojo.integration:net.smartcosmos.model.event:net.smartcosmos.pojo.event</packages>
                                </group>
                                <group>
                                    <title>Utilities</title>
                                    <packages>net.smartcosmos.util*</packages>
                                </group>
                                <group>
                                    <title>Common Core</title>
                                    <packages>net.smartcosmos.model.base:net.smartcosmos.model.context:net.smartcosmos:net.smartcosmos.geo:net.smartcosmos.model.geo:net.smartcosmos.pojo*</packages>
                                </group>
                                <group>
                                    <title>Extensions (EXPERIMENTAL)</title>
                                    <packages>net.smartcosmos.model.extension:net.smartcosmos.pojo.extension</packages>
                                </group>
                            </groups>
                            <show>protected</show>
                            <nohelp>true</nohelp>
                            <docfilessubdirs>true</docfilessubdirs>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>verify-api-signature</id>
            <!-- This MOJO ensures that JDK 1.8 doesn't sneak into our APIs -->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>animal-sniffer-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                                <phase>verify</phase>
                                <configuration>
                                    <signature>
                                        <groupId>org.codehaus.mojo.signature</groupId>
                                        <artifactId>java17</artifactId>
                                        <version>1.0</version>
                                    </signature>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
