<?xml version="1.0" encoding="UTF-8"?>
<!--
~   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>

    <parent>
        <groupId>org.basepom</groupId>
        <artifactId>basepom-oss</artifactId>
        <version>25</version>
    </parent>

    <groupId>net.aethersanctum.lilrest</groupId>
    <artifactId>lilrest-parent</artifactId>
    <version>0.1.4</version>
    <packaging>pom</packaging>
    <inceptionYear>2014</inceptionYear>
    <name>LilREST</name>
    <description>A skeleton REST server which can serve up JSON</description>
    <url>https://github.com/benhardy/lilrest</url>

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

    <organization>
        <name>aethersanctum.net</name>
    </organization>

    <developers>
        <developer>
            <name>Ben Hardy</name>
            <email>benhardy+github@gmail.com</email>
            <organization>aethersanctum.net</organization>
            <organizationUrl>http://aethersanctum.net</organizationUrl>
        </developer>
    </developers>

    <scm>
        <connection>scm:git:git@github.com:benhardy/lilrest.git</connection>
        <developerConnection>scm:git:git@github.com:benhardy/lilrest.git</developerConnection>
        <url>git@github.com:benhardy/lilrest.git</url>
      <tag>lilrest-parent-0.1.4</tag>
    </scm>

    <properties>
        <java.version>1.8</java.version>
        <project.build.targetJdk>${java.version}</project.build.targetJdk>
        <dep.jetty.version>9.4.7.v20170914</dep.jetty.version>
        <dep.jackson.version>2.9.0</dep.jackson.version>
        <dep.resteasy.version>3.1.4.Final</dep.resteasy.version>
        <dep.guice.version>4.1.0</dep.guice.version>
    </properties>

    <modules>
        <module>config</module>
        <module>server</module>
        <module>examples</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>net.aethersanctum.lilrest</groupId>
                <artifactId>lilrest-server</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- Config -->
            <dependency>
                <groupId>net.aethersanctum.lilrest</groupId>
                <artifactId>lilrest-config</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.skife.config</groupId>
                <artifactId>config-magic</artifactId>
                <version>0.17</version>
            </dependency>

            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>jsr305</artifactId>
                <version>3.0.2</version>
            </dependency>

            <!-- Servlets -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>4.0.0</version>
            </dependency>

            <!-- Guice -->
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>1</version>
            </dependency>

            <dependency>
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
                <version>${dep.guice.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.inject.extensions</groupId>
                <artifactId>guice-servlet</artifactId>
                <version>${dep.guice.version}</version>
            </dependency>

            <!-- Jetty -->
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-server</artifactId>
                <version>${dep.jetty.version}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-servlet</artifactId>
                <version>${dep.jetty.version}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-jmx</artifactId>
                <version>${dep.jetty.version}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-util</artifactId>
                <version>${dep.jetty.version}</version>
            </dependency>

            <!-- Jackson -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${dep.jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${dep.jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.jaxrs</groupId>
                <artifactId>jackson-jaxrs-json-provider</artifactId>
                <version>${dep.jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${dep.jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.datatype</groupId>
                <artifactId>jackson-datatype-jdk8</artifactId>
                <version>${dep.jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.datatype</groupId>
                <artifactId>jackson-datatype-jsr310</artifactId>
                <version>${dep.jackson.version}</version>
            </dependency>

            <!-- RESTEasy -->
            <dependency>
                <groupId>javax.ws.rs</groupId>
                <artifactId>javax.ws.rs-api</artifactId>
                <version>2.0</version>
            </dependency>

            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-core</artifactId>
                <version>${dep.resteasy.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jaxrs</artifactId>
                <version>${dep.resteasy.version}</version>
                <exclusions>
                    <!-- javax.annotation:jsr250-api gets dragged in by resteasy-guice -->
                    <exclusion>
                        <groupId>org.jboss.spec.javax.annotation</groupId>
                        <artifactId>jboss-annotations-api_1.1_spec</artifactId>
                    </exclusion>
                    <!-- would rather use the standard javax.ws.rs jar to avoid upsetting dependency analyzer -->
                    <exclusion>
                        <groupId>org.jboss.spec.javax.ws.rs</groupId>
                        <artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-guice</artifactId>
                <version>${dep.resteasy.version}</version>
                <exclusions>
                    <!-- would rather use the standard javax.ws.rs jar to avoid upsetting dependency analyzer -->
                    <exclusion>
                        <groupId>org.jboss.spec.javax.ws.rs</groupId>
                        <artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jackson2-provider</artifactId>
                <version>${dep.resteasy.version}</version>
            </dependency>

            <!-- Logging -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.25</version>
            </dependency>

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>23.5-jre</version>
            </dependency>

            <!-- Testing -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
                <scope>test</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <inherited>true</inherited>

                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>report</id>
                            <phase>test</phase>
                            <goals>
                                <goal>report</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>

        </pluginManagement>

    </build>
</project>
