<?xml version="1.0" encoding="UTF-8"?>
<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-standard-oss</artifactId>
    <version>6</version>
  </parent>

  <groupId>com.hubspot</groupId>
  <artifactId>Singularity</artifactId>
  <version>0.3.9</version>
  <packaging>pom</packaging>

  <scm>
    <connection>scm:git:git@github.com:HubSpot/Singularity.git</connection>
    <developerConnection>scm:git:ssh://git@github.com/HubSpot/Singularity.git</developerConnection>
    <url>git@github.com:HubSpot/Singularity.git</url>
    <tag>Singularity-0.3.9</tag>
  </scm>

  <developers>
    <developer>
      <name>Whitney Sorenson</name>
      <email>wsorenson@gmail.com</email>
    </developer>
    <developer>
      <name>Tom Petr</name>
      <email>tpetr@hubspot.com</email>
    </developer>
  </developers>

  <properties>
    <project.jdk7.home>${env.JAVA7_HOME}</project.jdk7.home>
    <project.build.targetJdk>1.7</project.build.targetJdk>
    <basepom.check.skip-license>true</basepom.check.skip-license>
    <basepom.check.fail-extended>true</basepom.check.fail-extended>

    <!-- hubspot jackson and dropwizard dep use 2.3.x -->
    <dep.jackson.version>2.3.2</dep.jackson.version>
    <dep.jackson.core.version>${dep.jackson.version}</dep.jackson.core.version>
    <dep.jackson.databind.version>${dep.jackson.version}</dep.jackson.databind.version>

    <!-- dropwizard uses jetty 9.0.x -->
    <dep.jetty.version>9.0.7.v20131107</dep.jetty.version>

    <dep.metrics.version>3.0.2</dep.metrics.version>
    <dep.zookeeper.version>3.4.5</dep.zookeeper.version>

    <baragon.version>0.1.0</baragon.version>
    <curator.version>2.4.2</curator.version>
    <dropwizard.version>0.7.0</dropwizard.version>
    <jets3t.version>0.9.0</jets3t.version>
    <mesos.version>0.20.1</mesos.version>
    <ning.async.version>1.8.12</ning.async.version>
    <snappy.version>0.3</snappy.version>
    <sentry.version>5.0</sentry.version>
  </properties>

  <modules>
    <module>SingularityBase</module>
    <module>SingularityRunnerBase</module>
    <module>SingularityS3Base</module>
    <module>SingularityMesosClient</module>
    <module>SingularityClient</module>
    <module>SingularityService</module>
    <module>SingularityExecutor</module>
    <module>SingularityExecutorCleanup</module>
    <module>SingularityLogWatcher</module>
    <module>SingularityS3Uploader</module>
    <module>SingularityS3Downloader</module>
    <module>SingularityOOMKiller</module>
  </modules>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.hubspot</groupId>
        <artifactId>SingularityBase</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.hubspot</groupId>
        <artifactId>SingularityRunnerBase</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.hubspot</groupId>
        <artifactId>SingularityS3Base</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.hubspot</groupId>
        <artifactId>SingularityMesosClient</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.hubspot</groupId>
        <artifactId>SingularityClient</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.hubspot</groupId>
        <artifactId>SingularityService</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.hubspot</groupId>
        <artifactId>SingularityExecutor</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.hubspot</groupId>
        <artifactId>SingularityExecutorCleanup</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.hubspot.jackson</groupId>
        <artifactId>jackson-datatype-protobuf</artifactId>
        <version>0.4.0</version>
      </dependency>

      <dependency>
        <groupId>com.hubspot.jackson</groupId>
        <artifactId>jackson-jaxrs-propertyfiltering</artifactId>
        <version>0.5.0</version>
      </dependency>

      <dependency>
        <groupId>com.hubspot</groupId>
        <artifactId>BaragonCore</artifactId>
        <version>${baragon.version}</version>
      </dependency>

      <dependency>
        <groupId>com.hubspot.dropwizard</groupId>
        <artifactId>dropwizard-guice</artifactId>
        <version>0.7.0.3</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.sun.mail</groupId>
        <artifactId>javax.mail</artifactId>
        <version>1.5.2</version>
      </dependency>

      <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-core</artifactId>
        <version>${dropwizard.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.eclipse.jetty.orbit</groupId>
            <artifactId>javax.servlet</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.code.findbugs</groupId>
            <artifactId>jsr305</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-jdbi</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>

      <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-migrations</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>

      <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-assets</artifactId>
        <version>${dropwizard.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.eclipse.jetty.orbit</groupId>
            <artifactId>javax.servlet</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-views-mustache</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>

      <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-db</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>

      <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-jackson</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>

      <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-jersey</artifactId>
        <version>${dropwizard.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.eclipse.jetty.orbit</groupId>
            <artifactId>javax.servlet</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-jetty</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>

      <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-lifecycle</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>

      <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-views</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>

      <dependency>
        <groupId>com.codahale.metrics</groupId>
        <artifactId>metrics-core</artifactId>
        <version>${dep.metrics.version}</version>
      </dependency>

      <dependency>
        <groupId>com.codahale.metrics</groupId>
        <artifactId>metrics-healthchecks</artifactId>
        <version>${dep.metrics.version}</version>
      </dependency>

      <dependency>
        <groupId>com.codahale.metrics</groupId>
        <artifactId>metrics-jvm</artifactId>
        <version>${dep.metrics.version}</version>
      </dependency>

      <dependency>
        <groupId>com.codahale.metrics</groupId>
        <artifactId>metrics-servlets</artifactId>
        <version>${dep.metrics.version}</version>
        <exclusions>
          <!-- metrics servlets wants jackson core 2.2.x. However, everything else wants 2.3.x. -->
          <!-- exclude dep here and pray that this still works ... -->
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>5.0.2.Final</version>
      </dependency>

      <dependency>
        <groupId>org.jdbi</groupId>
        <artifactId>jdbi</artifactId>
        <version>2.53</version>
      </dependency>

      <dependency>
        <groupId>com.github.jknack</groupId>
        <artifactId>handlebars</artifactId>
        <version>1.3.1</version>
      </dependency>

      <dependency>
        <groupId>org.apache.mesos</groupId>
        <artifactId>mesos</artifactId>
        <version>${mesos.version}</version>
      </dependency>

      <dependency>
        <groupId>net.java.dev.jets3t</groupId>
        <artifactId>jets3t</artifactId>
        <version>${jets3t.version}</version>
      </dependency>

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

      <dependency>
        <groupId>com.ning</groupId>
        <artifactId>async-http-client</artifactId>
        <version>${ning.async.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-client</artifactId>
        <version>${curator.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-framework</artifactId>
        <version>${curator.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-recipes</artifactId>
        <version>${curator.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-test</artifactId>
        <version>${curator.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>${dep.zookeeper.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>junit</artifactId>
            <groupId>junit</groupId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>log4j</artifactId>
            <groupId>log4j</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jline</artifactId>
            <groupId>jline</groupId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java</artifactId>
        <version>2.5.0</version>
      </dependency>

      <dependency>
        <groupId>org.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.16.1-GA</version>
      </dependency>

      <dependency>
        <groupId>de.neuland-bfi</groupId>
        <artifactId>jade4j</artifactId>
        <version>0.4.0</version>
      </dependency>

      <dependency>
        <groupId>aopalliance</groupId>
        <artifactId>aopalliance</artifactId>
        <version>1.0</version>
      </dependency>

      <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.29</version>
      </dependency>

      <dependency>
        <groupId>org.antlr</groupId>
        <artifactId>stringtemplate</artifactId>
        <version>3.2.1</version>
      </dependency>

      <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.2.1</version>
      </dependency>

      <dependency>
        <groupId>org.fluentd</groupId>
        <artifactId>fluent-logger</artifactId>
        <version>0.2.11</version>
      </dependency>

      <dependency>
        <groupId>net.kencochrane.raven</groupId>
        <artifactId>raven</artifactId>
        <version>${sentry.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
          <!-- sentry wants jackson core 2.4.x. However, everything else wants 2.3.x. -->
          <!-- exclude dep here and pray that this still works ... -->
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.iq80.snappy</groupId>
        <artifactId>snappy</artifactId>
        <version>${snappy.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>com.github.eirslett</groupId>
          <artifactId>frontend-maven-plugin</artifactId>
          <version>0.0.16</version>
        </plugin>
        <plugin>
          <groupId>com.ning.maven.plugins</groupId>
          <artifactId>maven-duplicate-finder-plugin</artifactId>
          <version>1.0.7</version>
          <configuration>
            <ignoredResources>
              <ignoredResource>.*\.build\.json</ignoredResource>
              <ignoredResource>.*\.html</ignoredResource>
              <ignoredResource>META-INF/.*</ignoredResource>
              <ignoredResource>about_files/.*</ignoredResource>
              <ignoredResource>plugin\.properties</ignoredResource>
              <ignoredResource>plugin\.xml</ignoredResource>
              <ignoredResource>.*\.java</ignoredResource>
              <ignoredResource>log4j\.xml</ignoredResource>
              <ignoredResource>log4j\.properties</ignoredResource>
              <ignoredResource>logback\.xml</ignoredResource>
              <ignoredResource>logback\.properties</ignoredResource>
            </ignoredResources>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <profiles>
    <profile>
      <id>travis</id>
      <activation>
        <property>
          <name>env.TRAVIS</name>
        </property>
      </activation>
      <properties>
        <project.jdk7.home>${env.JAVA_HOME}</project.jdk7.home>
      </properties>
    </profile>
    <profile>
      <id>cross-compile</id>
      <activation>
        <jdk>(1.7,]</jdk>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <artifactId>maven-compiler-plugin</artifactId>
              <configuration>
                <compilerArguments children.combine="append">
                  <bootclasspath>${project.jdk7.home}/jre/lib/rt.jar:${project.jdk7.home}/jre/lib/jce.jar:${project.jdk7.home}/../classes/classes.jar</bootclasspath>
                </compilerArguments>
              </configuration>
            </plugin>
            <plugin>
              <artifactId>maven-javadoc-plugin</artifactId>
              <configuration>
                <bootclasspath>${project.jdk7.home}/jre/lib/rt.jar:${project.jdk7.home}/jre/lib/jce.jar:${project.jdk7.home}/../classes/classes.jar</bootclasspath>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
  </profiles>
</project>

<!-- Local Variables: -->
<!-- mode: nxml -->
<!-- nxml-child-indent: 2 -->
<!-- End: -->
