<?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>com.atlassian.bamboo</groupId>
    <artifactId>atlassian-bamboo-components</artifactId>
    <version>5.9.7</version>
  </parent>

  <artifactId>atlassian-bamboo-plugins2-parent</artifactId>
  <packaging>pom</packaging>

  <name>Atlassian Bamboo Plugins 2 Parent</name>
  <description>Parent POM for Bamboo plugins type 2</description>

  <!-- only plugins type 2 should be added here -->
  <modules>
    <module>bamboo-gadgets</module>
    <module>bamboo-plugin-analytics</module>
    <module>bamboo-plugin-artifacts</module>
    <module>bamboo-plugin-brokenbuildtracker</module>
    <module>bamboo-plugin-clover</module>
    <module>bamboo-plugin-git</module>
    <module>bamboo-variable-inject-task</module>
    <module>bamboo-plugin-jira</module>
    <module>bamboo-plugin-maven</module>
    <module>bamboo-plugin-mercurial</module>
    <module>../bamboo-plugins/bamboo-plugin-navlinks</module>
    <module>../bamboo-plugins/bamboo-plugin-project-creation</module>
    <module>bamboo-plugin-rest</module>
    <module>bamboo-plugin-sal</module>
    <module>bamboo-plugin-stash</module>
    <module>bamboo-plugin-test-utils</module>
    <module>bamboo-plugin-web-resources</module>
    <module>../bamboo-plugins/bamboo-plugin-testresultparser</module>
    <module>bamboo-salintegrationtest-plugin</module>
    <module>bamboo-plugin-triggers</module>
  </modules>

  <dependencyManagement>
    <dependencies>
      <!--Bamboo modules-->
      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-api</artifactId>
        <version>${project.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-core</artifactId>
        <version>${project.version}</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>org.igniterealtime.smack</groupId>
            <artifactId>smackx</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-charts</artifactId>
        <version>${project.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-web</artifactId>
        <version>${project.version}</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>com.jhlabs</groupId>
            <artifactId>filters</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-deployments-api</artifactId>
        <version>${project.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-utils</artifactId>
        <version>${project.version}</version>
        <scope>provided</scope>
      </dependency>

      <!--Atlassian libs-->
      <dependency>
        <groupId>com.atlassian.utils</groupId>
        <artifactId>atlassian-processutils</artifactId>
        <version>${atlassian.processutils.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.atlassian.plugins.rest</groupId>
        <artifactId>atlassian-rest-common</artifactId>
        <version>${atlassian.rest.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.atlassian.plugins.rest</groupId>
        <artifactId>atlassian-rest-module</artifactId>
        <version>${atlassian.rest.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.atlassian.activeobjects</groupId>
        <artifactId>activeobjects-plugin</artifactId>
        <version>${activeobjects.version}</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>com.google.collections</groupId>
            <artifactId>google-collections</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.atlassian.activeobjects</groupId>
        <artifactId>activeobjects-bamboo-spi</artifactId>
        <version>${activeobjects.version}</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>com.google.collections</groupId>
            <artifactId>google-collections</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.atlassian.annotations</groupId>
        <artifactId>atlassian-annotations</artifactId>
        <version>${atlassian.annotations.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>com.atlassian.plugins</groupId>
        <artifactId>atlassian-plugins-core</artifactId>
        <version>${atlassianPluginVersion}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>${hibernate.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-ehcache</artifactId>
        <version>${hibernate.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-c3p0</artifactId>
        <version>${hibernate.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>com.atlassian.plugins</groupId>
        <artifactId>atlassian-plugins-schema</artifactId>
        <version>${atlassianPluginVersion}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>com.atlassian.event</groupId>
        <artifactId>atlassian-event</artifactId>
        <version>${atlassian.event.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>com.atlassian.security</groupId>
        <artifactId>atlassian-secure-xml</artifactId>
        <version>${atlassian.security.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>com.atlassian.security.auth.trustedapps</groupId>
        <artifactId>atlassian-trusted-apps-seraph-integration</artifactId>
        <version>${atlassian.trustedapps.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.atlassian.security.auth.trustedapps</groupId>
        <artifactId>atlassian-trusted-apps-core</artifactId>
        <version>${atlassian.trustedapps.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.atlassian.analytics</groupId>
        <artifactId>analytics-api</artifactId>
        <version>${atlassian.analytics.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>com.atlassian.fugue</groupId>
        <artifactId>fugue</artifactId>
        <version>${atlassian.fugue.version}</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.atlassian.sal</groupId>
        <artifactId>sal-spi</artifactId>
        <version>${salVersion}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.atlassian.sal</groupId>
        <artifactId>sal-api</artifactId>
        <version>${salVersion}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.atlassian.sal</groupId>
        <artifactId>sal-spring</artifactId>
        <version>${salVersion}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>com.atlassian.seraph</groupId>
        <artifactId>atlassian-seraph</artifactId>
        <version>${seraph.version}</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>mockobjects</groupId>
            <artifactId>mockobjects-core</artifactId>
          </exclusion>
          <exclusion>
            <artifactId>mockobjects</artifactId>
            <groupId>mockobjects</groupId>
          </exclusion>
          <exclusion>
            <groupId>mockobjects</groupId>
            <artifactId>mockobjects-jdk1.3-j2ee1.3</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.atlassian.user</groupId>
        <artifactId>atlassian-user-api</artifactId>
        <scope>provided</scope>
        <version>${atlassian-user.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.user</groupId>
        <artifactId>atlassian-user-core</artifactId>
        <scope>provided</scope>
        <version>${atlassian-user.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.user</groupId>
        <artifactId>atlassian-user-hibernate3</artifactId>
        <scope>provided</scope>
        <version>${atlassian-user.version}</version>
      </dependency>

      <!--3rd party-->
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guavaVersion}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>${google.gson.version}</version>
        <scope>provided</scope>
      </dependency>

      <!-- Force Jackson version used by REST (provided by atlassian-rest-module) -->
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-core-asl</artifactId>
        <version>${atlassian.rest.jackson.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-jaxrs</artifactId>
        <version>${atlassian.rest.jackson.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>${atlassian.rest.jackson.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-xc</artifactId>
        <version>${atlassian.rest.jackson.version}</version>
        <scope>provided</scope>
      </dependency>
      <!-- end forced Jackson use -->

      <!-- Force Jersey version used by REST -->
      <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-client</artifactId>
        <version>${atlassian.rest.jersey.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-core</artifactId>
        <version>${atlassian.rest.jersey.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-json</artifactId>
        <version>${atlassian.rest.jersey.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>${atlassian.rest.jersey.version}</version>
        <scope>provided</scope>
      </dependency>
      <!-- end forced Jersey use -->

      <dependency>
        <groupId>de.schlichtherle.truezip</groupId>
        <artifactId>truezip-driver-zip</artifactId>
        <version>${truezip.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-core</artifactId>
        <version>${apache.maven.version}</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>org.sonatype.sisu</groupId>
            <artifactId>sisu-guava</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-embedder</artifactId>
        <version>${apache.maven.version}</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.sonatype.sisu</groupId>
            <artifactId>sisu-guava</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-model</artifactId>
        <version>${apache.maven.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-plugin-api</artifactId>
        <version>${apache.maven.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.sshd</groupId>
        <artifactId>sshd-core</artifactId>
        <version>${apache.sshd.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <!--Version statically defined in applicationContextPlugin.xml due to dependency issues-->
        <version>${commons.collections.version}</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>commons-httpclient</groupId>
        <artifactId>commons-httpclient</artifactId>
        <version>${commons.httpclient.version}</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>${commons.lang.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${commons.lang3.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons.io.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>javax.xml.stream</groupId>
        <artifactId>stax-api</artifactId>
        <version>${javax.stax.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>opensymphony</groupId>
        <artifactId>quartz</artifactId>
        <version>${opensymphony.quartz.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.codehaus.woodstox</groupId>
        <artifactId>woodstox-core-asl</artifactId>
        <version>${woodstox.version}</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.codehaus.staxmate</groupId>
        <artifactId>staxmate</artifactId>
        <version>${staxmate.version}</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
        <scope>provided</scope>
        <exclusions>
          <exclusion>
            <groupId>com.sun.jdmk</groupId>
            <artifactId>jmxtools</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.sun.jmx</groupId>
            <artifactId>jmxri</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.jms</groupId>
            <artifactId>jms</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>${hamcrest.version}</version>
        <scope>provided</scope>
      </dependency>

    </dependencies>
  </dependencyManagement>

  <!-- we should not have any dependencies on this level -->
  <dependencies />

  <build>
    <pluginManagement>
      <plugins>

        <plugin>
          <groupId>com.atlassian.maven.plugins</groupId>
          <artifactId>maven-amps-dispatcher-plugin</artifactId>
        </plugin>

        <plugin>
          <groupId>com.atlassian.maven.plugins</groupId>
          <artifactId>maven-bamboo-plugin</artifactId>
          <extensions>true</extensions>
          <configuration>
            <productVersion>${atlassian.product.version}</productVersion>
            <skipITs>${maven.test.it.skip}</skipITs>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>com.atlassian.plugins.rest</groupId>
              <artifactId>atlassian-rest-doclet</artifactId>
              <version>${atlassian.rest.version}</version>
            </dependency>
          </dependencies>
        </plugin>

        <!-- used by bamboo:compress-resources -->
        <plugin>
          <groupId>net.sf.alchim</groupId>
          <artifactId>yuicompressor-maven-plugin</artifactId>
          <configuration>
            <excludes>
              <exclude>atlassian-plugin.xml</exclude>
            </excludes>
          </configuration>
        </plugin>

      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <configuration>
          <escapeString>\</escapeString>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>pluginfunctest</id>
      <properties>
        <maven.test.unit.skip>true</maven.test.unit.skip>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
            <executions>
              <!-- This is a dirty hack that installs Bamboo WAR artifact into local repository so AMPS could use it in plugin's integration-test -->
              <execution>
                <id>install-bamboo-war-to-local-repository-so-amps-can-use-it</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>install-file</goal>
                </goals>
                <configuration>
                  <file>${bamboo.war.override}</file>
                  <groupId>com.atlassian.bamboo</groupId>
                  <artifactId>atlassian-bamboo-web-app</artifactId>
                  <version>${project.version}</version>
                  <packaging>war</packaging>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
