<!--

    Copyright (C) 2010 FuseSource, Corp. All rights reserved.
    http://fusesource.com

    The software in this package is published under the terms of the AGPL license
    a copy of which has been included with this distribution in the license.txt file.

-->

<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>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>7</version>
  </parent>

  <groupId>io.hawt</groupId>
  <artifactId>project</artifactId>
  <packaging>pom</packaging>
  <version>1.0</version>
  <name>project</name>
  <description>hawtio :: project</description>
  <url>http://hawt.io/</url>

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

  <scm>
    <connection>scm:git:git@github.com:hawtio/hawtio.git</connection>
    <developerConnection>scm:git:git@github.com:hawtio/hawtio.git</developerConnection>
    <url>git@github.com:hawtio/hawtio.git</url>
    <tag>hawtio-1.1-SNAPSHOT</tag>
  </scm>

  <distributionManagement>
    <repository>
      <id>oss-sonatype-staging</id>
      <name>Sonatype Staging Repository</name>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
    </repository>
    <snapshotRepository>
      <id>oss-sonatype-snapshots</id>
      <name>OSS Sonatype Nexus Snapshots</name>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
  </distributionManagement>

  <prerequisites>
    <maven>3.0.2</maven>
  </prerequisites>

  <properties>
    <jettyPort>8080</jettyPort>
    <context>/hawtio</context>
    <hawtio-config-dir>${basedir}/hawtio-config</hawtio-config-dir>
    <hawtio-config-repo>https://github.com/hawtio/hawtio-config.git</hawtio-config-repo>

    <webapp-dir>${project.artifactId}-${project.version}</webapp-dir>
    <webapp-outdir>${basedir}/target/${webapp-dir}</webapp-outdir>

    <!-- versions -->
    <perfectus-build>redhat-60012</perfectus-build>
<!--
    <perfectus-build>fuse-71-047</perfectus-build>
-->
    <activemq-version>5.8.0.${perfectus-build}</activemq-version>
    <activemq-leveldb-artifactid>activemq-leveldb-store</activemq-leveldb-artifactid>
    <atmosphere-version>1.0.0.beta5</atmosphere-version>
    <build-helper-maven-plugin-version>1.7</build-helper-maven-plugin-version>
    <camel-version>2.10.0.${perfectus-build}</camel-version>
    <exec-maven-plugin-version>1.2.1</exec-maven-plugin-version>

    <fabric-version>7.2.0.redhat-012</fabric-version>
    <fmc-version>${fabric-version}</fmc-version>
    <!-- We are using an old guava to avoid breaking ActiveMQ in the test cases of hawtio-web -->
    <!--
        <guava-version>13.0.1</guava-version>
    -->
    <guava-version>10.0</guava-version>
    <infinispan-version>5.1.5.FINAL</infinispan-version>
    <jackson-2-version>2.1.0</jackson-2-version>

    <!-- TODO lets use Jetty 7.x to avoid servlet 2.5 and 3.0 classpath clashes -->
<!--
    <jetty-version>8.1.3.v20120416</jetty-version>
-->
    <jetty-version>7.6.8.v20121106</jetty-version>
    <jetty-plugin-version>7.6.8.v20121106</jetty-plugin-version>
    <jgit-version>2.2.0.201212191850-r</jgit-version>
    <jolokia-version>1.1.0</jolokia-version>
    <junit-version>4.11</junit-version>
    <kotlin-version>0.4.68</kotlin-version>
    <linkedin-zookeeper-version>1.4.0</linkedin-zookeeper-version>
    <log4j-version>1.2.17</log4j-version>
    <maven-bundle-plugin-version>2.3.7</maven-bundle-plugin-version>
    <maven-source-plugin-version>2.1.2</maven-source-plugin-version>
    <maven-resources-plugin-version>2.6</maven-resources-plugin-version>
    <maven-surefire-plugin-version>2.13</maven-surefire-plugin-version>
    <osgi-version>4.3.1</osgi-version>
    <servlet-api-version>2.5</servlet-api-version>
    <slf4j-version>1.6.1</slf4j-version>
    <spring-version>3.0.7.RELEASE</spring-version>
    <xbean-version>3.12</xbean-version>
    <war-plugin-version>2.1.1</war-plugin-version>
  </properties>

  <repositories>
    <repository>
      <id>release.fusesource.org</id>
      <name>FuseSource Release Repository</name>
      <url>http://repo.fusesource.com/nexus/content/repositories/releases</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </repository>
    <repository>
      <id>snapshot.fusesource.org</id>
      <name>FuseSource Early Access Repository</name>
      <url>http://repo.fusesource.com/nexus/content/groups/ea</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </repository>
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>jetbrains-release</id>
      <name>jetbrains-release</name>
      <url>http://repository.jetbrains.com/releases</url>
    </repository>

    <!-- in case we need SNAPSHOT dependency on Fuse projects -->
<!--
    <repository>
      <id>fusesource.m2-snapshot</id>
      <name>FuseSource Community Snapshot Repository</name>
      <url>http://repo.fusesource.com/nexus/content/repositories/snapshots</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
    <repository>
      <id>fusesource.nexus.m2-snapshot</id>
      <name>FuseSource Community Snapshot Repository</name>
      <url>http://repo.fusesource.com/nexus/content/groups/public-snapshots</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
-->

  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>release.fusesource.org</id>
      <name>FuseSource Release Repository</name>
      <url>http://repo.fusesource.com/nexus/content/repositories/releases</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </pluginRepository>
    <pluginRepository>
      <id>ea.fusesource.org</id>
      <name>FuseSource Early Access Repository</name>
      <url>http://repo.fusesource.com/nexus/content/groups/ea</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </pluginRepository>
    <pluginRepository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>jetbrains-repo</id>
      <name>jetbrains-repo</name>
      <url>http://repository.jetbrains.com/repo</url>
    </pluginRepository>
  </pluginRepositories>

  <modules>
    <module>hawtio-git</module>
    <module>hawtio-web</module>
    <module>hawtio-embedded</module>
    <module>hawtio-osgi</module>
    <module>hawtio-osgi-devmode</module>
    <module>hawtio-plugin-registry</module>
    <module>hawtio-plugin-example</module>
    <module>hawtio-karaf</module>
    <module>sample</module>
  </modules>

  <build>
    <defaultGoal>install</defaultGoal>

    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-source-plugin</artifactId>
          <version>${maven-source-plugin-version}</version>
          <inherited>true</inherited>
          <executions>
            <execution>
              <id>attach-sources</id>
              <goals>
                <goal>jar</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.5.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>${war-plugin-version}</version>
          <configuration>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
      <plugin>
        <groupId>org.eclipse.m2e</groupId>
        <artifactId>lifecycle-mapping</artifactId>
        <version>1.0.0</version>
        <configuration>
          <lifecycleMappingMetadata>
            <pluginExecutions>
              <pluginExecution>
                <pluginExecutionFilter>
                  <groupId>
                    org.apache.felix
                  </groupId>
                  <artifactId>
                    maven-bundle-plugin
                  </artifactId>
                  <versionRange>
                    [2.1.0,)
                  </versionRange>
                  <goals>
                    <goal>cleanVersions</goal>
                  </goals>
                </pluginExecutionFilter>
                <action>
                  <ignore />
                </action>
              </pluginExecution>
            </pluginExecutions>
          </lifecycleMappingMetadata>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <autoVersionSubmodules>true</autoVersionSubmodules>
          <tag>hawtio-${project.version}</tag>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <profiles>

    <profile>
      <id>snapshot</id>
      <properties>
        <activemq-version>5.8-SNAPSHOT</activemq-version>
        <activemq-leveldb-artifactid>activemq-leveldb-store</activemq-leveldb-artifactid>
<!--
        <camel-version>2.11-SNAPSHOT</camel-version>
-->
        <fabric-version>99-master-SNAPSHOT</fabric-version>
      </properties>

      <repositories>
        <repository>
          <id>fusesource-snapshots</id>
          <name>fusesource-snapshots</name>
          <url>http://repo.fusesource.com/nexus/content/groups/public-snapshots</url>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
          <releases>
            <enabled>false</enabled>
          </releases>
        </repository>
      </repositories>
    </profile>

    <profile>
      <id>committer</id>
      <properties>
        <hawtio-config-repo>git@github.com:hawtio/hawtio-config.git</hawtio-config-repo>
      </properties>
    </profile>

    <profile>
      <id>itests</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <modules>
        <module>hawtio-karaf-itest</module>
      </modules>
    </profile>

    <profile>
      <id>release</id>
      <!--
      TODO when using the release profile you should add your ~/.m2/settings.xml something like this:

      <settings>
        <profiles>
          <profile>
            <id>release</id>
            <properties>
              <gpg.passphrase>MyPassPhrase</gpg.passphrase>
            </properties>
          </profile>
          ...
      -->
    </profile>
  </profiles>
</project>
