<?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/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.2-M7</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.2-M7</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.4</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-number>035</perfectus-number>
    <perfectus-build>redhat-610${perfectus-number}</perfectus-build>
    <activemq-version>5.9.0.${perfectus-build}</activemq-version>
    <activemq-leveldb-artifactid>activemq-leveldb-store</activemq-leveldb-artifactid>
    <aether-version>1.13.1</aether-version>
    <apollo-version>99-trunk-SNAPSHOT</apollo-version>
    <scala-version>2.10.0</scala-version>
    <atmosphere-version>1.0.0.beta5</atmosphere-version>
    <blueprint-web-version>1.0.0</blueprint-web-version>
    <build-helper-maven-plugin-version>1.7</build-helper-maven-plugin-version>
    <camel-version>2.12.0.${perfectus-build}</camel-version>
    <commons-codec-version>1.6</commons-codec-version>
    <commons-fileupload-version>1.3</commons-fileupload-version>
    <commons-httpclient-version>3.1</commons-httpclient-version>
    <commons-io-version>2.2</commons-io-version>
    <cxf-version>2.7.0.${perfectus-build}</cxf-version>
    <dozer-version>5.4.0</dozer-version>
    <exec-maven-plugin-version>1.2.1</exec-maven-plugin-version>

    <fabric-version>7.3.0.redhat-${perfectus-number}</fabric-version>
    <!--
    <fabric-version>99-master-SNAPSHOT</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.3.0.Alpha1</infinispan-version>

    <!-- TODO until build 16 is done we need snapshot to get maven coords on stack frames -->
    <insight-log4j.version>${fabric-version}</insight-log4j.version>
    <jackson-version>2.1.4</jackson-version>
    <jaxb-version>2.1.13</jaxb-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-groupId>org.mortbay.jetty</jetty-plugin-groupId>
    <jetty-plugin-version>7.6.8.v20121106</jetty-plugin-version>
    <jetty-webapp-artifactId>jetty-webapp</jetty-webapp-artifactId>

    <jgit-version>2.2.0.201212191850-r</jgit-version>
    <jolokia-version>1.1.3</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-version>3.0.4</maven-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>
    <ops4j-pax-web-version>3.0.1</ops4j-pax-web-version>
    <osgi-version>4.2.0</osgi-version>
    <servlet-api-version>2.5</servlet-api-version>

    <slf4j-api-version>1.6.6</slf4j-api-version>
    <slf4j-version>1.6.6</slf4j-version>

    <spring-version>3.2.3.RELEASE</spring-version>
    <xbean-version>3.12</xbean-version>
    <wagon-version>2.4</wagon-version>
    <war-plugin-version>2.1.1</war-plugin-version>
  </properties>

  <repositories>
    <repository>
        <id>fusesource.61</id>
        <name>FuseSource Community Early Access 61 Repository</name>
        <url>http://repo.fusesource.com/nexus/content/repositories/jboss-fuse-6.1.x</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <releases>
            <enabled>true</enabled>
        </releases>
    </repository>
    <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>

    <!-- for blueprint-web-version snapshots -->
    <repository>
      <id>apache.snapshots</id>
      <name>Apache Development Snapshot Repository</name>
      <url>https://repository.apache.org/content/repositories/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </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-core</module>
    <module>hawtio-aether</module>
    <module>hawtio-dozer-schema</module>
    <module>hawtio-dozer</module>
    <module>hawtio-git</module>
    <module>hawtio-watcher-dynamic-jaxb</module>
    <module>hawtio-watcher-blueprint-web</module>
    <module>hawtio-watcher-spring-context</module>
    <module>hawtio-maven-indexer</module>
    <module>hawtio-json-schema-mbean</module>
    <module>hawtio-json-schema-generator</module>
    <module>hawtio-local-jvm-mbean</module>
    <module>hawtio-plugin-mbean</module>
    <module>example-services</module>

    <module>hawtio-web</module>
    <module>hawtio-base</module>
    <module>hawtio-default</module>
    <module>hawtio-default-offline</module>
    <module>hawtio-no-slf4j</module>
    <module>hawtio-embedded</module>
    <module>hawtio-app</module>
    <module>hawtio-osgi-jmx</module>
    <module>hawtio-osgi-devmode</module>
    <module>hawtio-plugin-examples</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.1</version>
        <configuration>
          <autoVersionSubmodules>true</autoVersionSubmodules>
          <!--
          <tag>hawtio-${project.version}</tag>
          -->
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.8</version>
        <executions>
          <execution>
            <id>attach-javadocs</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

    </plugins>
  </build>

  <profiles>
    <profile>
      <id>fuse60</id>
      <properties>
        <perfectus-number>024</perfectus-number>
        <perfectus-build>redhat-60${perfectus-number}</perfectus-build>
      </properties>
      <repositories>
      </repositories>
    </profile>

    <profile>
      <id>fabricSnapshot</id>
      <properties>
        <fabric-version>99-master-SNAPSHOT</fabric-version>
      </properties>
    </profile>

    <profile>
      <id>amqSnapshot</id>
      <properties>
        <activemq-version>5.9-SNAPSHOT</activemq-version>
        <activemq-leveldb-artifactid>activemq-leveldb-store</activemq-leveldb-artifactid>
      </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>camelSnapshot</id>
      <properties>
        <camel-version>2.12-SNAPSHOT</camel-version>
      </properties>
      <repositories>
      </repositories>
    </profile>


    <profile>
      <id>snapshot</id>
      <properties>
        <activemq-version>5.9-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>jetty9</id>
      <properties>
        <jetty-version>9.0.2.v20130417</jetty-version>
        <jetty-plugin-groupId>org.eclipse.jetty</jetty-plugin-groupId>
        <jetty-plugin-version>${jetty-version}</jetty-plugin-version>
        <jetty-webapp-artifactId>jetty-all</jetty-webapp-artifactId>
      </properties>
      <repositories>
      </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>


    <!-- dealing with tools.jar for hawtio-local-jvm-mbean -->
    <profile>
      <id>default-profile</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <file>
          <exists>${java.home}/../lib/tools.jar</exists>
        </file>
      </activation>
      <properties>
        <toolsjar>${java.home}/../lib/tools.jar</toolsjar>
      </properties>
    </profile>
    <profile>
      <id>mac-profile</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <file>
          <exists>${java.home}/../Classes/classes.jar</exists>
        </file>
      </activation>
      <properties>
        <toolsjar>${java.home}/../Classes/classes.jar</toolsjar>
      </properties>
    </profile>
  </profiles>
</project>
