<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (C) 2013 Red Hat, Inc. (jdcasey@commonjava.org)

    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.commonjava</groupId>
    <artifactId>commonjava</artifactId>
    <version>10</version>
  </parent>

  <groupId>org.commonjava.cartographer</groupId>
  <artifactId>cartographer-parent</artifactId>
  <version>0.11.0</version>
  <packaging>pom</packaging>

  <name>Cartographer Project-Discovery API</name>
  <inceptionYear>2013</inceptionYear>
  
  <scm>
    <connection>scm:git:https://github.com/Commonjava/cartographer.git</connection>
    <developerConnection>scm:git:git@github.com:Commonjava/cartographer.git</developerConnection>
    <url>http://github.com/Commonjava/cartographer</url>
    <tag>cartographer-parent-0.11.0</tag>
  </scm>
  
  <properties>
    <projectOwner>Red Hat, Inc.</projectOwner>
    <atlasVersion>0.16.2</atlasVersion>
    <galleyVersion>0.13.2</galleyVersion>
    <javaVersion>1.8</javaVersion>

    <propulsorVersion>1.0</propulsorVersion>
    <configVersion>0.8</configVersion>
    <indyVersion>1.0.0</indyVersion>
    <jhttpcVersion>1.3</jhttpcVersion>
    <weftVersion>1.2</weftVersion>

    <it-skip>true</it-skip>

    <test-forkCount>1C</test-forkCount>
    <it-forkCount>${test-forkCount}</it-forkCount>
    <test-redirectOutput>true</test-redirectOutput>
  </properties>


  <modules>
    <module>model-java</module>
    <module>api</module>
    <module>cartographer</module>
    <module>spi</module>
    <module>tck</module>
    <module>cdi-embedder</module>
    <module>rest</module>
    <module>rest-client-java</module>
    <module>deployments</module>
    <module>ftests</module>
    <module>rest-ftests</module>
  </modules>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.commonjava.boms</groupId>
        <artifactId>web-commons-bom</artifactId>
        <version>21</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      
      <dependency>
        <groupId>org.commonjava.cartographer</groupId>
        <artifactId>cartographer-model-java</artifactId>
        <version>0.11.0</version>
      </dependency>

      <dependency>
        <groupId>org.commonjava.cartographer</groupId>
        <artifactId>cartographer-rest</artifactId>
        <version>0.11.0</version>
      </dependency>

      <dependency>
        <groupId>org.commonjava.cartographer</groupId>
        <artifactId>cartographer-rest-client-java</artifactId>
        <version>0.11.0</version>
      </dependency>

      <dependency>
        <groupId>org.commonjava.cartographer</groupId>
        <artifactId>cartographer-cdi-embedder</artifactId>
        <version>0.11.0</version>
      </dependency>

      <dependency>
        <groupId>org.commonjava.cartographer</groupId>
        <artifactId>cartographer-api</artifactId>
        <version>0.11.0</version>
      </dependency>

      <dependency>
        <groupId>org.commonjava.cartographer</groupId>
        <artifactId>cartographer-spi</artifactId>
        <version>0.11.0</version>
      </dependency>

      <dependency>
        <groupId>org.commonjava.cartographer</groupId>
        <artifactId>cartographer</artifactId>
        <version>0.11.0</version>
      </dependency>

      <dependency>
        <groupId>org.commonjava.cartographer</groupId>
        <artifactId>cartographer-tck</artifactId>
        <version>0.11.0</version>
      </dependency>

      <dependency>
        <groupId>org.commonjava.cartographer.deploy</groupId>
        <artifactId>cartographer-standalone-rest</artifactId>
        <version>0.11.0</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.cartographer.deploy</groupId>
        <artifactId>cartographer-standalone-rest</artifactId>
        <version>0.11.0</version>
        <type>tar.gz</type>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.commonjava.maven.atlas</groupId>
        <artifactId>atlas-identities</artifactId>
        <version>${atlasVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.maven.atlas</groupId>
        <artifactId>atlas-relationships-api</artifactId>
        <version>${atlasVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.maven.atlas</groupId>
        <artifactId>atlas-driver-neo4j-embedded</artifactId>
        <version>${atlasVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.maven.atlas</groupId>
        <artifactId>atlas-driver-jung</artifactId>
        <version>${atlasVersion}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.commonjava.maven.atlas</groupId>
        <artifactId>atlas-bindings-jackson-identities</artifactId>
        <version>${atlasVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.maven.atlas</groupId>
        <artifactId>atlas-bindings-jackson-relationships</artifactId>
        <version>${atlasVersion}</version>
      </dependency>
      
      <dependency>
        <groupId>org.commonjava.maven.galley</groupId>
        <artifactId>galley-api</artifactId>
        <version>${galleyVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.maven.galley</groupId>
        <artifactId>galley-core</artifactId>
        <version>${galleyVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.maven.galley</groupId>
        <artifactId>galley-cache-partyline</artifactId>
        <version>${galleyVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.maven.galley</groupId>
        <artifactId>galley-maven</artifactId>
        <version>${galleyVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.maven.galley</groupId>
        <artifactId>galley-transport-httpclient</artifactId>
        <version>${galleyVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.maven.galley</groupId>
        <artifactId>galley-transport-filearc</artifactId>
        <version>${galleyVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.maven.galley</groupId>
        <artifactId>galley-test-harness-core</artifactId>
        <version>${galleyVersion}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.commonjava.maven.galley</groupId>
        <artifactId>galley-test-harness-maven</artifactId>
        <version>${galleyVersion}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.commonjava.maven.galley</groupId>
        <artifactId>galley-cdi-embedder</artifactId>
        <version>${galleyVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.commonjava.propulsor</groupId>
        <artifactId>propulsor-core</artifactId>
        <version>${propulsorVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.propulsor</groupId>
        <artifactId>propulsor-undertow</artifactId>
        <version>${propulsorVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.propulsor</groupId>
        <artifactId>propulsor-resteasy</artifactId>
        <version>${propulsorVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.propulsor.client</groupId>
        <artifactId>propulsor-client-http</artifactId>
        <version>${propulsorVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.indy</groupId>
        <artifactId>indy-client-core-java</artifactId>
        <version>${indyVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.commonjava.cdi.util</groupId>
        <artifactId>weft</artifactId>
        <version>${weftVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>configuration-api</artifactId>
        <version>${configVersion}</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>configuration-dotconf</artifactId>
        <version>${configVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>jhttpc</artifactId>
        <version>${jhttpcVersion}</version>
      </dependency>

      <dependency>
        <groupId>javax.enterprise</groupId>
        <artifactId>cdi-api</artifactId>
        <version>1.2</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-interpolation</artifactId>
        <version>1.16</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-model</artifactId>
        <version>3.0.4</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.atservice</groupId>
        <artifactId>atservice-annotation</artifactId>
        <version>0.1</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.atservice</groupId>
        <artifactId>atservice-processor</artifactId>
        <version>0.1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>http-testserver</artifactId>
        <version>1.0</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.weld.se</groupId>
        <artifactId>weld-se</artifactId>
        <version>2.3.2.Final</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.commonjava.atservice</groupId>
      <artifactId>atservice-annotation</artifactId>
    </dependency>
    <dependency>
      <groupId>org.commonjava.atservice</groupId>
      <artifactId>atservice-processor</artifactId>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
    </dependency>
  </dependencies>
  
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <source>${javaVersion}</source>
            <target>${javaVersion}</target>
            <annotationProcessors>
              <annotationProcessor>org.commonjava.atservice.processor.ServiceAnnotationProcessor</annotationProcessor>
            </annotationProcessors>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.19.1</version>
          <configuration>
            <forkCount>${test-forkCount}</forkCount>
            <reuseForks>false</reuseForks>
            <redirectTestOutputToFile>${test-redirectOutput}</redirectTestOutputToFile>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.19.1</version>
          <configuration>
            <skip>${it-skip}</skip>
            <forkCount>${it-forkCount}</forkCount>
            <reuseForks>false</reuseForks>
            <redirectTestOutputToFile>${test-redirectOutput}</redirectTestOutputToFile>
            <includes>
              <include>**/*Test.java</include>
            </includes>
          </configuration>
          <executions>
            <execution>
              <id>integration-tests</id>
              <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>${version.plugin.javadoc}</version>
          <executions>
            <execution>
              <id>attach-javadocs</id>
              <goals>
                <goal>jar</goal>
              </goals>
              <configuration>
                <detectOfflineLinks>false</detectOfflineLinks>
                <additionalparam>-Xdoclint:none</additionalparam>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <profiles>
    <profile>
      <id>run-its</id>
      <properties>
        <it-skip>false</it-skip>
      </properties>
    </profile>
  </profiles>
</project>
