<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>7.2.0-m403</version>
  </parent>

  <artifactId>atlassian-bamboo-bundled-plugins</artifactId>
  <packaging>pom</packaging>

  <name>Atlassian Bamboo Bundled Plugins</name>
  <description>This is a POM project to force the webapp module to build dependencies in the correct order and still play nicely in IDEA. Add any Bamboo modules that is required for the webapp module but shouldn't be available directly in the classpath (e.g. bundled plugins, copied as Zips)</description>

  <dependencies>
    <!-- Bamboo specific plugins -->

    <dependency>
      <groupId>com.atlassian.bamboo.plugins.maven</groupId>
      <artifactId>atlassian-bamboo-plugin-maven</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins.brokenbuildtracker</groupId>
      <artifactId>atlassian-bamboo-plugin-brokenbuildtracker</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins.jira</groupId>
      <artifactId>atlassian-bamboo-plugin-jira</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.crowd</groupId>
      <artifactId>embedded-crowd-admin-plugin</artifactId>
    </dependency>

    <!-- =========================================================================== Bundled triggers plugin -->
    <dependency>
      <groupId>com.atlassian.bamboo.triggers</groupId>
      <artifactId>atlassian-bamboo-triggers</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.repository</groupId>
      <artifactId>atlassian-bamboo-repository-viewers</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>atlassian-bamboo-plugin-bitbucket</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>atlassian-bamboo-plugin-mercurial</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>atlassian-bamboo-plugin-git</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>bamboo-plugin-embedded-crowd-spi-impl</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins.stash</groupId>
      <artifactId>atlassian-bamboo-plugin-stash</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>bamboo-variable-inject-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>bamboo-stash-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>atlassian-bamboo-plugin-navlinks</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins.testresultparser</groupId>
      <artifactId>atlassian-bamboo-plugin-testresultparser</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins.triggercondition</groupId>
      <artifactId>atlassian-bamboo-plugin-triggercondition</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>atlassian-bamboo-plugin-analytics</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>bamboo-plugin-browser-metrics</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.warnings</groupId>
      <artifactId>atlassian-bamboo-warnings</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>bamboo-plugin-feature-discovery-spi-impl</artifactId>
    </dependency>

    <!-- ================================================================================== Atlassian Spring Scanner -->
    <dependency>
      <groupId>com.atlassian.plugin</groupId>
      <artifactId>atlassian-spring-scanner-annotation</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.plugin</groupId>
      <artifactId>atlassian-spring-scanner-runtime</artifactId>
    </dependency>

    <!-- ========================================================================================== REST -->
    <!-- REST Plugin module type -->
    <dependency>
      <groupId>com.atlassian.plugins.rest</groupId>
      <artifactId>atlassian-rest-module</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bundles</groupId>
      <artifactId>json</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.upm</groupId>
      <artifactId>atlassian-universal-plugin-manager-plugin</artifactId>
      <version>${atlassian.upm.version}</version>
      <exclusions>
        <exclusion>
          <groupId>javax.mail</groupId>
          <artifactId>mail</artifactId>
        </exclusion>
        <exclusion>
          <groupId>javax.activation</groupId>
          <artifactId>activation</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>com.atlassian.plugins</groupId>
      <artifactId>atlassian-nav-links-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian</groupId>
      <artifactId>atlassian-failure-cache-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.plugins</groupId>
      <artifactId>atlassian-project-creation-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.plugins</groupId>
      <artifactId>bamboo-project-creation</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.templaterenderer</groupId>
      <artifactId>atlassian-template-renderer-api</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.templaterenderer</groupId>
      <artifactId>atlassian-template-renderer-velocity16-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>org.apache.servicemix.bundles</groupId>
      <artifactId>org.apache.servicemix.bundles.velocity</artifactId>
      <version>1.6.4_4</version>
    </dependency>

    <!-- ======================================================================================================= SAL -->
    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>atlassian-bamboo-plugin-sal</artifactId>
    </dependency>

    <!-- =========================================================================================== OAUTH -->
    <dependency>
      <groupId>com.atlassian.oauth</groupId>
      <artifactId>atlassian-oauth-api</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.oauth</groupId>
      <artifactId>atlassian-oauth-service-provider-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.oauth</groupId>
      <artifactId>atlassian-oauth-admin-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.oauth</groupId>
      <artifactId>atlassian-oauth-service-provider-spi</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>bamboo-plugin-oauth-service-provider-spi</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.oauth</groupId>
      <artifactId>atlassian-oauth-consumer-spi</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.oauth</groupId>
      <artifactId>atlassian-oauth-consumer-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.oauth</groupId>
      <artifactId>atlassian-oauth-consumer-sal-plugin</artifactId>
    </dependency>

    <!-- ======================================================================================= Gadgets -->
    <!-- Atlassian Gadgets API JAR -->
    <dependency>
      <groupId>com.atlassian.gadgets</groupId>
      <artifactId>atlassian-gadgets-api</artifactId>
      <version>${atlassian.gadgets.version}</version>
    </dependency>

    <!--Atlassian Gadgets SPI -->
    <dependency>
      <groupId>com.atlassian.gadgets</groupId>
      <artifactId>atlassian-gadgets-spi</artifactId>
      <version>${atlassian.gadgets.version}</version>
    </dependency>

    <!--Gadget Spec Publisher -->
    <dependency>
      <groupId>com.atlassian.gadgets</groupId>
      <artifactId>atlassian-gadgets-publisher-plugin</artifactId>
      <version>${atlassian.gadgets.version}</version>
    </dependency>

    <!-- =========================================================================== REST Bundled plugin -->
    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>atlassian-bamboo-plugin-rest</artifactId>
    </dependency>

    <!-- ====================================================================================== Web resources plugin -->

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>atlassian-bamboo-plugin-web-resources</artifactId>
    </dependency>

    <!-- =========================================================================== Bundled gadgets plugin -->

    <dependency>
      <groupId>com.atlassian.bamboo.gadgets</groupId>
      <artifactId>atlassian-bamboo-gadgets</artifactId>
    </dependency>

    <!-- =========================================================================== AUI -->
    <dependency>
      <groupId>com.atlassian.aui</groupId>
      <artifactId>auiplugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.plugin</groupId>
      <artifactId>jslibs</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.plugins</groupId>
      <artifactId>jquery</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.plugins</groupId>
      <artifactId>atlassian-plugins-webresource-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.plugins</groupId>
      <artifactId>atlassian-plugins-webresource-rest</artifactId>
    </dependency>

    <!-- =========================================================================== Streams -->
    <dependency>
      <groupId>com.atlassian.streams</groupId>
      <artifactId>streams-bamboo-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.streams</groupId>
      <artifactId>streams-api</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.streams</groupId>
      <artifactId>streams-aggregator-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.streams</groupId>
      <artifactId>streams-spi</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.streams</groupId>
      <artifactId>streams-core-plugin</artifactId>
    </dependency>

    <!-- ========================================================================================== Applinks Support -->

    <dependency>
      <groupId>com.atlassian.applinks</groupId>
      <artifactId>applinks-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.applinks</groupId>
      <artifactId>applinks-basicauth-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.applinks</groupId>
      <artifactId>applinks-cors-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.applinks</groupId>
      <artifactId>applinks-oauth-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.applinks</groupId>
      <artifactId>applinks-trustedapps-plugin</artifactId>
    </dependency>

    <!-- =========================================================================== Active Objects Support -->

    <dependency>
      <groupId>com.atlassian.activeobjects</groupId>
      <artifactId>activeobjects-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>bamboo-activeobjects-spi</artifactId>
    </dependency>

    <!-- ================================================================================================== Tenancy -->

    <dependency>
      <groupId>com.atlassian.tenancy</groupId>
      <artifactId>atlassian-tenancy-compatibility-plugin</artifactId>
    </dependency>

    <!-- ============================================================================================= Soy Templates -->

    <dependency>
      <groupId>com.atlassian.soy</groupId>
      <artifactId>soy-template-plugin</artifactId>
    </dependency>

    <!-- ========================================================================================== LESS Transformer -->

    <dependency>
      <groupId>com.atlassian.plugins</groupId>
      <artifactId>less-transformer-plugin</artifactId>
      <exclusions>
        <exclusion>
          <!-- renamed to org.mozilla:rhino-->
          <groupId>rhino</groupId>
          <artifactId>js</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    
    <!-- ========================================================================================== LESS Integration -->
    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>atlassian-bamboo-plugin-less-integration</artifactId>
    </dependency>
    
    <!-- ========================================================================================== Look and Feel -->
    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>atlassian-bamboo-plugin-lookandfeel</artifactId>
    </dependency>

    <!-- ==================================================================================== Client Resource Plugin -->

    <dependency>
      <groupId>com.atlassian.plugins</groupId>
      <artifactId>atlassian-client-resource</artifactId>
    </dependency>

    <!-- ============================================================================================ Support Plugin -->

    <dependency>
      <groupId>com.atlassian.troubleshooting</groupId>
      <artifactId>plugin-bamboo</artifactId>
    </dependency>

    <!-- ============================================================================================ Branch View Plugin -->

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>branchinator</artifactId>
    </dependency>

    <!-- ============================================================================================ SCP/SSH Plugin -->

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>bamboo-scp-plugin</artifactId>
    </dependency>

    <!-- ============================================================================================= Tomcat Plugin -->

    <dependency>
      <groupId>com.atlassian.bamboo.plugins.tomcat</groupId>
      <artifactId>bamboo-tomcat-plugin</artifactId>
    </dependency>

    <!-- ============================================================================================ Jenkins Plugin -->
    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>atlassian-bamboo-jenkins-importer</artifactId>
    </dependency>

    <!-- ============================================================================================ Clover Plugin -->
    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>atlassian-bamboo-plugin-clover</artifactId>
    </dependency>

    <!-- ==================================================================================== Artifact Copier Plugin -->
    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>bamboo-artifact-downloader-plugin</artifactId>
    </dependency>

    <!-- =========================================================================================== Webhooks Plugin -->
    <dependency>
      <groupId>com.atlassian.webhooks</groupId>
      <artifactId>atlassian-webhooks-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.httpclient</groupId>
      <artifactId>atlassian-httpclient-plugin</artifactId>
    </dependency>

    <!-- ======================================================================================== Pretty URLs Plugin -->
    <dependency>
      <groupId>com.atlassian.prettyurls</groupId>
      <artifactId>atlassian-pretty-urls-plugin</artifactId>
    </dependency>

    <!-- ========================================================================= Aggregator (for jira Integration) -->
    <dependency>
      <groupId>com.atlassian.plugins</groupId>
      <artifactId>remote-link-aggregator-plugin</artifactId>
      <version>${atlassian.aggregator.version}</version>
    </dependency>

    <!-- =================================================== Remote events consumer plugin (for Stash push triggers) -->
    <dependency>
      <groupId>com.atlassian.plugins</groupId>
      <artifactId>atlassian-remote-event-common-plugin</artifactId>
      <version>${atlassian.remote.event.version}</version>
      <exclusions>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.atlassian.plugins</groupId>
      <artifactId>atlassian-remote-event-consumer-plugin</artifactId>
      <version>${atlassian.remote.event.version}</version>
    </dependency>
    <dependency>
      <groupId>com.atlassian.plugins</groupId>
      <artifactId>atlassian-remote-event-producer-plugin</artifactId>
      <version>${atlassian.remote.event.version}</version>
    </dependency>

    <!-- ================================================================================ Stash remote events plugin -->
    <dependency>
      <groupId>com.atlassian.stash.plugins</groupId>
      <artifactId>stash-remote-event-bamboo-spi</artifactId>
    </dependency>

    <!-- ================================================================================ Atlassian Analytics Plugin -->
    <dependency>
      <groupId>com.atlassian.analytics</groupId>
      <artifactId>analytics-client</artifactId>
      <version>${atlassian.analytics.version}</version>
      <exclusions>
        <exclusion>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <!-- ================================================================================ Atlassian Analytics Whitelist Plugin -->
    <dependency>
      <groupId>com.atlassian.analytics</groupId>
      <artifactId>analytics-whitelist</artifactId>
    </dependency>

    <!-- ================================================================================ Atlassian Browser Metrics Plugin -->
    <dependency>
      <groupId>com.atlassian.plugins.browser.metrics</groupId>
      <artifactId>browser-metrics-plugin</artifactId>
    </dependency>

    <!-- ========================================================================= Atlassian Front-end Runtime Plugin-->
    <dependency>
      <groupId>com.atlassian.frontend</groupId>
      <artifactId>atlassian-frontend-runtime-plugin</artifactId>
    </dependency>

    <!-- ================================================================================ NodeJS Plugin -->
    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>bamboo-nodejs-plugin</artifactId>
    </dependency>

    <!-- ================================================================================ Docker Plugin -->
    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>bamboo-docker-plugin</artifactId>
    </dependency>

    <!-- ================================================================================ AWS Plugins -->
    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>atlassian-bamboo-plugin-aws-credentials</artifactId>
    </dependency>
    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>atlassian-bamboo-plugin-aws-codedeploy</artifactId>
    </dependency>

    <!-- ============================================================================================= Other Plugins -->
    <dependency>
      <groupId>org.apache.servicemix.bundles</groupId>
      <artifactId>org.apache.servicemix.bundles.javax-inject</artifactId>
      <version>1_1</version>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>bamboo-plugin-pocketknife-querydsl</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins.xcode</groupId>
      <artifactId>bamboo-xcode-plugin</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>bamboo-agent-notification-plugin</artifactId>
    </dependency>

   <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>bamboo-conditional-tasks</artifactId>
    </dependency>

    <dependency>
      <groupId>com.atlassian.feature.discovery</groupId>
      <artifactId>feature-discovery-plugin-bamboo</artifactId>
    </dependency>

    <!-- ============================================================================================== Test Plugins -->
    <dependency>
      <groupId>com.atlassian.bamboo.plugins</groupId>
      <artifactId>atlassian-bamboo-plugin-test-utils</artifactId>
      <scope>test</scope>
    </dependency>

  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>com.atlassian.maven.plugins</groupId>
        <artifactId>smartass-maven-plugin</artifactId>
        <version>2.1.3</version>
        <executions>
          <execution>
            <id>create-bundled-plugins-list-for-ide</id>
            <phase>package</phase>
            <goals>
              <goal>generate-files-list</goal>
            </goals>
            <configuration>
              <includeScope>compile</includeScope>
              <listFileName>atlassian-bundled-plugins.list</listFileName>
            </configuration>
          </execution>
          <execution>
            <id>create-test-plugins-list-for-ide</id>
            <phase>package</phase>
            <goals>
              <goal>generate-files-list</goal>
            </goals>
            <configuration>
              <includeScope>test</includeScope>
              <excludeArtifactIds>atlassian-bamboo-test-categories</excludeArtifactIds>
              <listFileName>atlassian-test-plugins.list</listFileName>
            </configuration>
          </execution>
          <execution>
            <id>create-bundled-plugins-artifacts-list</id>
            <phase>package</phase>
            <goals>
              <goal>generate-artifact-list</goal>
            </goals>
            <configuration>
              <includeScope>compile</includeScope>
              <listFileName>atlassian-bundled-plugins.artifacts</listFileName>
              <attach>true</attach>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <configuration>
              <target>
                <concat destfile="${project.build.directory}/atlassian-bundled-and-test-plugins.list">
                  <filelist dir="${project.build.directory}" files="atlassian-bundled-plugins.list,atlassian-test-plugins.list" />
                </concat>
              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <!-- override top level POM rule -->
          <execution>
            <id>enforce_spring_scanner_scope</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <phase>validate</phase>
            <configuration>
              <rules>
                <bannedDependencies>
                  <searchTransitive>false</searchTransitive>
                  <message>spring-scanner 1.x must NOT be pulled into bundled plugins.</message>
                  <excludes>
                    <exclude>com.atlassian.plugin:atlassian-spring-scanner-annotation:(,2):*:*</exclude>
                    <exclude>com.atlassian.plugin:atlassian-spring-scanner-runtime:(,2):*:*</exclude>
                  </excludes>
                </bannedDependencies>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <properties>
    <attach>true</attach>
  </properties>

  <profiles>
    <!--
      The profile is needed for compile-from-commandline-and-then-run-from-idea scenario
      https://hello.atlassian.net/wiki/spaces/BAMBOO/pages/141603330/Bamboo+Frontend+-+JavaScript+Unit+Testing
    -->
    <profile>
      <id>jstest</id>
      <dependencies>
        <dependency>
          <groupId>com.atlassian.plugins.jstestrunner</groupId>
          <artifactId>atlassian-jstest-runner-plugin</artifactId>
        </dependency>
      </dependencies>
    </profile>
  </profiles>
</project>
