<?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.pom</groupId>
    <artifactId>closedsource-private-pom</artifactId>
    <version>6.3.8</version>
  </parent>

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

  <packaging>pom</packaging>
  <version>10.2.15</version>

  <organization>
    <name>Atlassian Software Systems Pty Ltd</name>
    <url>https://www.atlassian.com/</url>
  </organization>

  <properties>
    <buildNumber>100221</buildNumber>

    <install4JVersion>${project.version}</install4JVersion>
    <!-- Properties for Atlassian IDEA plugin   -->
    <maven.war.src>bamboo-web-app/src/main/webapp</maven.war.src>
    <webapp.directory>${project.build.directory}/atlassian-bamboo-web-app</webapp.directory>
    <appserver.module.dependency>atlassian-bamboo-web-app</appserver.module.dependency>
    <sourceXML.location>sources.xml</sourceXML.location>
    <devMode>true</devMode>
    <jsDevMode>false</jsDevMode>

    <jdkLevel>17</jdkLevel>
    <!-- maven-compiler-plugin config -->
    <maven.compiler.source>${jdkLevel}</maven.compiler.source>
    <maven.compiler.target>${jdkLevel}</maven.compiler.target>

    <maven.plugins.version.maven-dependency-plugin>3.1.2</maven.plugins.version.maven-dependency-plugin>
    <maven.plugins.version.maven-jar-plugin>3.1.1</maven.plugins.version.maven-jar-plugin>
    <maven.plugins.version.maven-assembly-plugin>3.1.1</maven.plugins.version.maven-assembly-plugin>
    <maven.plugins.version.maven-shade-plugin>3.4.1</maven.plugins.version.maven-shade-plugin>
    <maven.plugins.version.shaded-jar-log4j-extension>0.1.0</maven.plugins.version.shaded-jar-log4j-extension>
    <maven.plugins.version.maven-bundle-plugin>5.1.9</maven.plugins.version.maven-bundle-plugin>
    <maven.plugins.version.maven-clean-plugin>3.0.0</maven.plugins.version.maven-clean-plugin>
    <maven.plugins.version.maven-install-plugin>2.5.2</maven.plugins.version.maven-install-plugin>
    <maven.plugins.version.maven-deploy-plugin>2.8.2</maven.plugins.version.maven-deploy-plugin>
    <maven.plugins.version.artifactory-staging-maven-plugin>3.1.11</maven.plugins.version.artifactory-staging-maven-plugin>
    <maven.plugins.version.maven-source-plugin>3.0.1</maven.plugins.version.maven-source-plugin>
    <maven.plugins.version.maven-gpg-plugin>1.6</maven.plugins.version.maven-gpg-plugin>
    <maven.plugins.version.maven-verifier-plugin>1.1</maven.plugins.version.maven-verifier-plugin>

    <!-- Contains the dark feature flag used when testing. -->
    <darkFeatureFlag/>

    <addopens.felix>--add-opens java.base/java.lang=ALL-UNNAMED</addopens.felix>
    <addopens.xstream>--add-opens java.base/java.util=ALL-UNNAMED</addopens.xstream>
    <addopens.tomcat>--add-opens java.base/java.io=ALL-UNNAMED</addopens.tomcat>
    <addopens.http>--add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED --add-opens=java.base/sun.net.www.protocol.https=ALL-UNNAMED</addopens.http>
    <addopens.unit.tests>${addopens.felix} ${addopens.xstream} ${addopens.http} ${addopens.tomcat} --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED ${jacoco.it.argLine}</addopens.unit.tests>
    <addopens.failsafe>${addopens.felix} ${addopens.xstream} ${jacoco.it.argLine}</addopens.failsafe>

    <!-- override settings from base-pom: use newer javadoc plugin and disable pedantic javadoc validation -->
    <maven.javadoc.plugin.version>3.11.2</maven.javadoc.plugin.version>
    <javadoc.additional.params>-Xdoclint:none  --add-exports java.base/sun.net.www.protocol.https=ALL-UNNAMED --add-exports java.base/sun.net.www.protocol.http=ALL-UNNAMED</javadoc.additional.params>

    <!-- Bamboo bundled plugins versions -->
    <bamboo.bundled.apps.version>10.2.15</bamboo.bundled.apps.version>
    <bamboo.stash.remote.event.version>2.0.3</bamboo.stash.remote.event.version>

    <bamboo.specs.version>10.2.15</bamboo.specs.version>

    <!--should use same version of org.reflections as Bamboo-->
    <bamboo.security.classlist.version>1.0.6</bamboo.security.classlist.version>
    <org.reflections.version>0.9.11</org.reflections.version>

    <bamboo.test.categories.version>0.4</bamboo.test.categories.version>
    <atlassian.troubleshooting.version>2.13.0</atlassian.troubleshooting.version>
    <atlassian.dev-status.version>2.5.6</atlassian.dev-status.version>

    <!-- Library versions -->
    <smack.version>4.4.4</smack.version>

    <spring.version>5.3.39</spring.version>
    <hibernate.version>5.6.15.Final</hibernate.version>
    <hibernate.fork.version>2</hibernate.fork.version>
    <activeMqVersion>5.18.7</activeMqVersion>

    <!-- AMPS settings -->
    <atlassian.product.version>${project.version}</atlassian.product.version>
    <atlassian.product.data.version>${project.version}</atlassian.product.data.version>
    <!-- Xvfb settings -->
    <xvfb.enable>true</xvfb.enable>
    <xvfb.options>-listen,tcp,-once,-screen,0,1920x1080x24</xvfb.options> <!-- default is -once -->

    <maven.test.skip/>
    <maven.test.unit.skip>${maven.test.skip}</maven.test.unit.skip>
    <maven.test.it.skip>${maven.test.skip}</maven.test.it.skip>
    <maven.test.excludedGroups>com.atlassian.bamboo.contrib.test.categories.RemoteServiceTest,com.atlassian.bamboo.contrib.test.categories.ManualTest</maven.test.excludedGroups>
    <maven.test.groups/>

    <!-- Platform versions -->
    <!-- if Guava updated  make sure you update the com.google.common.base and com.google.common.* osgi export version in /components/bamboo-web-app/src/main/resources/applicationContextPlugin.xml-->
    <!--   When bumping:
           * validate whether atlassian-authentication-plugin's version changed, and if so, use the appropriate branch override in SsoPlugin jobs.
           * check postgresql.driver.version -->
    <platform.version>7.2.40</platform.version>
    <!--should be synchronized with version from platform-->
    <atlassian-bamboo.rest.version>8.2.2</atlassian-bamboo.rest.version>
    <atlassian.aui.version>9.12.11</atlassian.aui.version>
    <applinks.version>10.1.15</applinks.version> <!-- only used for test artifacts; synch with platform -->

    <atlassian.less.transformer.version>6.1.7</atlassian.less.transformer.version>

    <!--newer than platform versions -->
    <spring.security.crypto.version>6.3.9</spring.security.crypto.version>
    <atlassian.oauth.version>6.1.13</atlassian.oauth.version>

    <!-- Platform 3rd party components -->
    <platform.jsr305.version>3.0.2</platform.jsr305.version>

    <plug.classifier.override>spring53x</plug.classifier.override> <!-- TODO: Is it needed? -->

    <atlassian.selenium.version>3.5.1</atlassian.selenium.version>

    <amps.version>9.1.4</amps.version>
    <atlassian.quickreload.version>5.0.6</atlassian.quickreload.version>
    <atlassian.devtoolbox.version>3.0.6</atlassian.devtoolbox.version>
    <plugin.testrunner.version>3.0.0-m02</plugin.testrunner.version> <!-- bump when officially released -->

    <atlassian.client.resource.version>3.0.0</atlassian.client.resource.version>
    <atlassian.functest.version>3.0.1</atlassian.functest.version>
    <fusion.schema.version>3.0.1</fusion.schema.version>
    <atlassian.processutils.version>1.8.7</atlassian.processutils.version>
    <atlassian.projectcreate.version>5.0.4</atlassian.projectcreate.version>
    <atlassian.remote.event.version>8.0.1</atlassian.remote.event.version>
    <atlassian.spring.scanner.version>5.0.2</atlassian.spring.scanner.version>
    <atlassian.smart.assembly.version>3.0.2</atlassian.smart.assembly.version>
    <atlassian.test.batching.version>4.1.7</atlassian.test.batching.version>
    <atlassian.feature.discovery.version>3.2</atlassian.feature.discovery.version>
    <password.cipher.version>1.4.1</password.cipher.version>
    <!-- End of platform versions -->

    <!-- Application versions -->
    <bitbucket.server.version>8.11.1</bitbucket.server.version>
    <bitbucket.server.lib.version>8.19.0</bitbucket.server.lib.version>
    <refapp.version>5.2.6</refapp.version>
    <!-- End of application versions -->

    <reporting.plugins.plugin.version>2.1.2</reporting.plugins.plugin.version>
    <maven.spotbugs.failOnError>true</maven.spotbugs.failOnError>
    <elastic-image.version>10.2.2</elastic-image.version>

    <atlassian.fusion.ctk.test.resources.version>1.0.8</atlassian.fusion.ctk.test.resources.version>
    <atlassian-jstest-runner-plugin.version>0.20.1</atlassian-jstest-runner-plugin.version>
    <atlassian.onetime.version>2.1.2</atlassian.onetime.version>

    <!-- 3rd party package versions -->
    <acegisecurity.version>1.0.7</acegisecurity.version>
    <apache.sshd.version>2.12.1</apache.sshd.version> <!-- when bumping, bump the bamboo-scp-plugin too and check Git tests at NEW-IMPORTANTDAILY are green -->
    <apache.mina.core.version>2.2.3</apache.mina.core.version>
    <apache.maven.version>3.9.9</apache.maven.version>
    <apache.wagon.version>3.5.3</apache.wagon.version>
    <apache.maven.resolver.version>1.9.18</apache.maven.resolver.version>
    <aspectjweaver.version>1.9.22.1</aspectjweaver.version>
    <beanshell.version>2.0b6</beanshell.version>
    <!-- When update bouncycastle version don't forget to update it in Bundled Plugins repo as well:
    https://stash.atlassian.com/projects/BAM/repos/bamboo-bundled-plugins/browse -->
    <bouncycastle.version>1.81</bouncycastle.version> <!-- platform uses LTS version of bouncycastle, we don't want that -->
    <commons.beanutils.version>1.11.0</commons.beanutils.version>
    <commons.configuration.version>1.4-atlassian-1</commons.configuration.version>
    <commons.httpclient.version>3.1-atlassian-2</commons.httpclient.version>
    <commons.validator.version>1.7</commons.validator.version>
    <commons.lang3.version>3.14.0</commons.lang3.version> <!-- needs to be defined for the beanshell-maven-plugin maven plugin -->
    <!-- Library is forked: https://github.com/atlassian-forks/docker-client -->
    <docker.client.version>8.16.1-atlassian-17</docker.client.version>
    <hamcrest.version>1.3</hamcrest.version>
    <h2.version>2.3.232</h2.version>
    <fasterxml.jackson.version>2.16.1</fasterxml.jackson.version>
    <jersey.glassfish.version>2.46</jersey.glassfish.version>
    <jakarta.ws.rs.version>2.1.6</jakarta.ws.rs.version>

    <jakarta.inject-api.version>2.0.1</jakarta.inject-api.version> <!-- overriding platform version because Guice needs both javax.inject and jakarta.inject -->

    <!-- >>>>>>> VERSIONS OF DEPENDENCIES THAT WERE REMOVED FROM PLATFORM 7 <<<<<<< -->
    <jsr311.version>1.1.1</jsr311.version>
    <commons-lang.version>2.7-atlassian-1</commons-lang.version>
    <joda-time.version>2.12.7</joda-time.version>
    <commons-digester.version>2.1</commons-digester.version>
    <atlassian.user.version>3.0</atlassian.user.version> <!-- bamboo stream needs it -->
    <javax.servlet-api.version>4.0.1</javax.servlet-api.version>
    <javax.inject.version>1</javax.inject.version>
    <atlassian-velocity.version>1.3</atlassian-velocity.version>
    <javax.xml.binding-jaxb-api.version>2.3.1</javax.xml.binding-jaxb-api.version>
    <!--<<<<<< END OF VERSIONS OF DEPENDENCIES THAT WERE REMOVED FROM PLATFORM 7 >>>>>>-->

    <javax.stax.version>1.0-2</javax.stax.version>
    <jcaptcha.version>2.0-alpha-1</jcaptcha.version>
    <jersey.contrib.version>1.19.5-atlassian-17</jersey.contrib.version> <!-- keep close to ${atlassian.rest.jersey.version} -->
    <!--https://hello.atlassian.net/wiki/spaces/BAMBOO/pages/1056682771/Creating+new+version+of+org.apache.servicemix.bundles.junit-->
    <junit.version>4.13.2</junit.version>
    <junit.osgi.bundle.version>1-atlassian-2</junit.osgi.bundle.version>
    <jwebunit.version>1.4.1</jwebunit.version>
    <log4j.version>2.23.1</log4j.version>
    <mockito.version>4.3.1</mockito.version>
    <testcontainers.version>1.19.7</testcontainers.version>
    <quartz.version>2.3.2</quartz.version> <!-- version synced with spring and com.atlassian.scheduler:atlassian-scheduler-quartz2 -->
    <scala.version.base>2.10</scala.version.base> <!-- do not upgrade this. let's kick it out -->
    <scala.version>${scala.version.base}.3</scala.version>
    <directory-maven-plugin.version>1.0</directory-maven-plugin.version>
    <frontend-maven-plugin.version>1.15.1</frontend-maven-plugin.version>

    <node.version>20.10.0</node.version>
    <npm.version>10.2.3</npm.version>
    <t-digest.version>3.2</t-digest.version>

    <fe.node.install.dir>node</fe.node.install.dir>

    <staxmate.version>2.4.1</staxmate.version>
    <surefire.version>3.0.0-M5</surefire.version>
    <truezip.version>7.7.10</truezip.version>
    <woodstox.version>6.6.2</woodstox.version>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <xstream.version>1.4.21</xstream.version>

    <!-- when updating this dependency make sure you update the com.opensymphony.xwork2 osgi export version in /components/bamboo-web-app/src/main/resources/applicationContextPlugin.xml-->
    <struts2.version>2.5.33</struts2.version>
    <struts2-atlassian.version>${struts2.version}-atlassian-4</struts2-atlassian.version>

    <!-- specification of runtime test dependencies for AMPS, test profiles that run older versions of Bamboo might want to override those properties -->
    <jdbc.runtime.oracle.groupId>com.oracle.database.jdbc</jdbc.runtime.oracle.groupId>
    <jdbc.runtime.oracle.artifactId>ojdbc8</jdbc.runtime.oracle.artifactId>
    <jdbc.runtime.oracle.version>${oracle.driver.version}</jdbc.runtime.oracle.version>

    <!-- licensing-related properties -->
    <thirdpartylicensing.dir>${user.dir}/third-party-licensing</thirdpartylicensing.dir>
    <thirdpartylicensing.licenses>${thirdpartylicensing.dir}/licenses/</thirdpartylicensing.licenses>
    <thirdpartylicensing.bom>${thirdpartylicensing.dir}/bom.csv</thirdpartylicensing.bom>

    <!-- tomcat9x -->
    <tomcat9x.version>9.0.111</tomcat9x.version>
    <tomcat9x.platform.version>${tomcat9x.version}</tomcat9x.platform.version> <!-- for tests only, a version of Tomcat matching the platform servlet api version-->
    <tomcat9x.zip.version>${tomcat9x.version}-atlassian-hosted</tomcat9x.zip.version>

    <amps.containerId>tomcat9x</amps.containerId>
    <webdriver.browser>firefox</webdriver.browser>


    <mysql.driver.version>8.1.0</mysql.driver.version>
    <oracle.driver.version>23.5.0.24.07</oracle.driver.version>
    <postgresql.driver.version>42.7.8</postgresql.driver.version>
    <sqlServer.driver.version>12.8.2.jre11</sqlServer.driver.version>
    <atlassian-user.version>5.5.10</atlassian-user.version>
    <atlassian-extras.version>3.4.6</atlassian-extras.version>
    <xmlunit.version>2.9.1</xmlunit.version>
    <jgit.version>6.10.1.202505221210-r</jgit.version>

    <failOnMilestoneOrReleaseCandidateDeps>false</failOnMilestoneOrReleaseCandidateDeps>
    <byteman.version>4.0.23</byteman.version>

    <bambooServerJvmArgs>
      -server
      -Xms512m
      -Xmx1024m
      -XX:+HeapDumpOnOutOfMemoryError
      ${addopens.xstream}
      ${addopens.felix}
      ${addopens.tomcat}
      -Djava.awt.headless=true
      ${darkFeatureFlag}
    </bambooServerJvmArgs>
    <svnkit.version>1.10.11</svnkit.version> <!-- when bump check *Git* tests at NEW-IMPORTANTDAILY are green -->
    <atlassian-aws.version>1.0.204</atlassian-aws.version>

    <!-- Don't generate black/whitelist by default -->
    <skipGenerateClasslist>true</skipGenerateClasslist>

    <!-- skips the generation of the plugins' REST and javadoc documentation -->
    <skip.plugins.rest.docs>true</skip.plugins.rest.docs>
    <jaxb-api.version>2.3.3</jaxb-api.version> <!-- when bumping, check if the workaround in BootstrapLoaderListener can be removed (BDEV-13617) -->
    <jaxb-runtime.version>2.3.6</jaxb-runtime.version>
    <javax.activation.version>1.2.0</javax.activation.version>

    <swagger.version>2.2.25</swagger.version>
    <swagger.annotations.version>2.0.0</swagger.annotations.version>
    <bamboo.swagger.processor.version>1.0.4</bamboo.swagger.processor.version>

    <protobuf.version>4.32.1</protobuf.version>
    <grpc.version>1.77.0</grpc.version>
    <squareup.tape.version>1.2.3-atlassian-5</squareup.tape.version>

    <cargo.version>1.10.15</cargo.version>

    <!-- Code coverage -->
    <jacoco.version>0.8.12</jacoco.version>
    <jacoco.it.argLine/>
    <jacoco.report.file>components/target/jacoco-aggregate/jacoco.xml</jacoco.report.file>
    <sonar.coverage.jacoco.xmlReportPaths>${project.basedir}/${jacoco.report.file}</sonar.coverage.jacoco.xmlReportPaths>
    <sonar.coverage.exclusions>
      bamboo-acceptance-test/**/*.*,
      bamboo-federated-api-test/**/*.*,
      bamboo-pageobjects/**/*.*,
      bamboo-plugin-test-resources/**/*.*,
      bamboo-ui-test/**/*.*,
      bamboo-user-management-test/**/*.*,
      bamboo-wired-test/**/*,
      code-coverage-aggregator/**/*.*,
      components/bamboo-agent/**/*.*,
      components/bamboo-bundled-plugins/**/*.*,
      components/bamboo-language/**/*.*,
      components/bamboo-plugins1-plugins/**/*.*,
      components/bamboo-plugins2/bamboo-gadgets/**/*.*,
      components/bamboo-plugins2/bamboo-plugin-browser-metrics/**/*.*,
      components/bamboo-plugins2/bamboo-plugin-embedded-crowd-spi-impl/**/*.*,
      components/bamboo-web-app/**/*.*,
      func-test/**/*.*,
      tests/**/*.*,
      utils/**/*.*
    </sonar.coverage.exclusions>
  </properties>

  <name>Atlassian Bamboo</name>
  <url>https://www.atlassian.com/bamboo</url>

  <scm>
    <connection>scm:git:ssh://git@stash.atlassian.com:7997/bam/bamboo.git</connection>
    <developerConnection>scm:git:ssh://git@stash.atlassian.com:7997/bam/bamboo.git</developerConnection>
    <url>https://stash.atlassian.com/projects/BAM/repos/bamboo/</url>
    <tag>HEAD</tag>
  </scm>

  <modules>
    <module>bamboo-acceptance-test</module>
    <module>bamboo-federated-api-test</module>
    <module>bamboo-pageobjects</module>
    <module>bamboo-plugin-test-resources</module>
    <module>bamboo-ui-test</module>
    <module>bamboo-user-management-test</module>
    <module>bamboo-wired-test</module>
    <module>components</module>
    <module>tests</module>
    <module>utils</module>
    <module>func-test</module>
  </modules>

  <profiles>
    <profile>
      <id>bundledSrc</id>
      <modules>
        <!--suppress MavenModelInspection -->
        <module>bundled-plugins-src/bamboo-scp-plugin</module>
        <!--suppress MavenModelInspection -->
        <module>bundled-plugins-src/bamboo-tomcat-plugin</module>
        <!--suppress MavenModelInspection -->
        <module>bundled-plugins-src/bamboo-stash-plugin</module>
        <!--suppress MavenModelInspection -->
        <module>bundled-plugins-src/bamboo-dotnet-plugin</module>
        <!--suppress MavenModelInspection -->
        <module>bundled-plugins-src/bamboo-nodejs-plugin</module>
        <!--suppress MavenModelInspection -->
        <module>bundled-plugins-src/bamboo-docker-plugin</module>
        <!--suppress MavenModelInspection -->
        <module>bundled-plugins-src/bamboo-plugin-aws</module>
        <!--suppress MavenModelInspection -->
        <module>bundled-plugins-src/bamboo-branchinator</module>
        <!--suppress MavenModelInspection -->
        <module>bundled-plugins-src/bamboo-after-deployment-trigger</module>
        <!--suppress MavenModelInspection -->
        <module>bundled-plugins-src/bamboo-announcement-plugin</module>
        <!--suppress MavenModelInspection -->
        <module>bundled-plugins-src/bamboo-variable-updater-plugin</module>
      </modules>
    </profile>
    <profile>
      <id>build-distribution</id>
      <properties>
        <devMode>false</devMode>
        <!-- enforce black/whitelist generation -->
        <skipGenerateClasslist>false</skipGenerateClasslist>
        <skip.plugins.rest.docs>false</skip.plugins.rest.docs>
      </properties>
      <modules>
        <module>distribution</module>
      </modules>
    </profile>
    <profile>
      <id>release</id>
      <properties>
        <devMode>false</devMode>
        <s3.imageBucketStem>elasticbamboo</s3.imageBucketStem>
        <s3.agentAssemblyBucketStem>bamboo-agent-release</s3.agentAssemblyBucketStem>
        <s3.homeRegion>us-e1</s3.homeRegion>
        <skipTests>true</skipTests>
        <!-- enforce REST generation for plugins -->
        <skip.plugins.rest.docs>false</skip.plugins.rest.docs>
      </properties>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <artifactId>maven-surefire-plugin</artifactId>
              <configuration>
                <skip>true</skip>
                <skipTests>true</skipTests>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>release-profile</id>
      <properties>
        <devMode>false</devMode>
        <s3.imageBucketStem>elasticbamboo</s3.imageBucketStem>
        <s3.agentAssemblyBucketStem>bamboo-agent-release</s3.agentAssemblyBucketStem>
        <s3.homeRegion>us-e1</s3.homeRegion>
        <skipGenerateClasslist>false</skipGenerateClasslist>
        <!-- enforce REST generation for plugins -->
        <skip.plugins.rest.docs>false</skip.plugins.rest.docs>
      </properties>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <artifactId>maven-surefire-plugin</artifactId>
              <configuration>
                <skip>true</skip>
                <skipTests>true</skipTests>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>perform-release</id>
      <properties>
        <devMode>false</devMode>
        <!-- enforce black/whitelist generation -->
        <skipGenerateClasslist>false</skipGenerateClasslist>
        <!-- enforce REST generation for plugins -->
        <skip.plugins.rest.docs>false</skip.plugins.rest.docs>
      </properties>
      <modules>
        <module>distribution</module>
      </modules>
    </profile>

    <profile>
      <id>uitest</id>
      <modules>
        <module>bamboo-ui-test</module>
      </modules>
    </profile>

    <profile>
      <id>jstest</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>bamboo-maven-plugin</artifactId>
            <configuration>
              <pluginArtifacts combine.children="append">
                <pluginArtifact>
                  <groupId>com.atlassian.plugins.jstestrunner</groupId>
                  <artifactId>atlassian-jstest-runner-plugin</artifactId>
                </pluginArtifact>
              </pluginArtifacts>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>clover-optimize</id>
      <build>

        <plugins>
          <plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>clover-maven-plugin</artifactId>
            <configuration>
              <jdk>1.8</jdk>
              <singleCloverDatabase>true</singleCloverDatabase>
              <flushPolicy>directed</flushPolicy>
              <instrumentation>method</instrumentation>
              <!--suppress UnresolvedMavenProperty -->
              <licenseLocation>${clover.licenseLocation}</licenseLocation>
              <generateXml>true</generateXml>
              <generateHtml>true</generateHtml>
              <generatePdf>false</generatePdf>
              <excludes> <!-- BuildUtils.java is always modified by the build. -->
                <exclude>com/atlassian/bamboo/util/BuildUtils.java</exclude>
                <exclude>**/bamboo/acceptance/utils/**</exclude>
                <exclude>**/bamboo/acceptance/harness/**</exclude>
              </excludes>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <goal>setup</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <testFailureIgnore>true</testFailureIgnore>
              <!-- If no profile specified, run no tests-->
            </configuration>
          </plugin>
        </plugins>
      </build>

      <properties>
        <clover.port>1200</clover.port>
        <clover.timeout>5000</clover.timeout>
        <clover.distributed.coverage>OFF</clover.distributed.coverage>
        <!-- Specified to all -->
      </properties>
    </profile>

    <!-- DB profiles -->
    <profile>
      <id>mssql</id>
      <dependencies>
        <dependency>
          <groupId>com.microsoft.sqlserver</groupId>
          <artifactId>mssql-jdbc</artifactId>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>bamboo-maven-plugin</artifactId>
            <configuration>
              <libArtifacts>
                <libArtifact>
                  <groupId>com.microsoft.sqlserver</groupId>
                  <artifactId>mssql-jdbc</artifactId>
                </libArtifact>
              </libArtifacts>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>sql-maven-plugin</artifactId>
            <dependencies>
              <dependency>
                <groupId>com.microsoft.sqlserver</groupId>
                <artifactId>mssql-jdbc</artifactId>
                <version>${sqlServer.driver.version}</version>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>mysql</id>
      <dependencies>
        <dependency>
          <groupId>com.mysql</groupId>
          <artifactId>mysql-connector-j</artifactId>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>bamboo-maven-plugin</artifactId>
            <configuration>
              <libArtifacts>
                <libArtifact>
                  <groupId>com.mysql</groupId>
                  <artifactId>mysql-connector-j</artifactId>
                </libArtifact>
              </libArtifacts>
            </configuration>
          </plugin>

          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>sql-maven-plugin</artifactId>
            <dependencies>
              <dependency>
                <groupId>com.mysql</groupId>
                <artifactId>mysql-connector-j</artifactId>
                <version>${mysql.driver.version}</version>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>oracle</id>
      <dependencies>
        <dependency>
          <groupId>com.oracle.database.jdbc</groupId>
          <artifactId>ojdbc8</artifactId>
          <version>${oracle.driver.version}</version>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>bamboo-maven-plugin</artifactId>
            <configuration>
              <libArtifacts>
                <libArtifact>
                  <groupId>${jdbc.runtime.oracle.groupId}</groupId>
                  <artifactId>${jdbc.runtime.oracle.artifactId}</artifactId>
                  <version>${jdbc.runtime.oracle.version}</version>
                </libArtifact>
              </libArtifacts>
            </configuration>
          </plugin>

          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>sql-maven-plugin</artifactId>
            <dependencies>
              <dependency>
                <groupId>com.oracle.database.jdbc</groupId>
                <artifactId>ojdbc8</artifactId>
                <version>${oracle.driver.version}</version>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>pgsql</id>
      <dependencies>
        <dependency>
          <groupId>org.postgresql</groupId>
          <artifactId>postgresql</artifactId>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>bamboo-maven-plugin</artifactId>
            <configuration>
              <libArtifacts>
                <libArtifact>
                  <groupId>org.postgresql</groupId>
                  <artifactId>postgresql</artifactId>
                </libArtifact>
              </libArtifacts>
            </configuration>
          </plugin>

          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>sql-maven-plugin</artifactId>
            <dependencies>
              <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>${postgresql.driver.version}</version>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>h2</id>
      <dependencies>
        <dependency>
          <groupId>com.h2database</groupId>
          <artifactId>h2</artifactId>
          <version>${h2.version}</version>
        </dependency>
      </dependencies>
    </profile>

    <profile>
      <id>test-remote-services</id>
      <properties>
        <maven.test.excludedGroups>com.atlassian.bamboo.contrib.test.categories.ManualTest</maven.test.excludedGroups>
        <maven.test.groups>com.atlassian.bamboo.contrib.test.categories.RemoteServiceTest</maven.test.groups>
      </properties>
    </profile>

    <profile>
      <id>jrebel</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.zeroturnaround</groupId>
            <artifactId>jrebel-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>generate-rebel-xml</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>generate</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>showCompilerWarnings</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.13.0</version>
            <configuration combine.children="append">
              <showDeprecation>true</showDeprecation>
              <compilerArgs>
                <arg>-Xlint:all</arg>
                <arg>-Xmaxwarns</arg>
                <arg>100000</arg>
              </compilerArgs>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>codeCoverage</id>
      <properties>
        <jacoco.include.pattern>com/atlassian/**/*</jacoco.include.pattern>
        <jacoco.it.argLine>
          -javaagent:${project.build.directory}/jacoco.agent-runtime.jar=destfile=${project.build.directory}/coverage/it-jacoco.exec,includes=${jacoco.include.pattern}
        </jacoco.it.argLine>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>copy-jacoco-runtime-jar</id>
                <phase>generate-test-resources</phase>
                <goals>
                  <goal>copy</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>org.jacoco</groupId>
                      <artifactId>org.jacoco.agent</artifactId>
                      <classifier>runtime</classifier>
                      <version>${jacoco.version}</version>
                      <destFileName>jacoco.agent-runtime.jar</destFileName>
                      <outputDirectory>${project.build.directory}</outputDirectory>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <dependencyManagement>
    <dependencies>
      <!-- Module dependencies -->
      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-acceptance-test</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-pageobjects</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-plugin-test-resources</artifactId>
        <type>zip</type>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-api</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-crypto</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-api-agent-bootstrap</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-core</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-core-test</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-deployments</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-import-export</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-deployments-api</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-core-agent-bootstrap</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>bamboo-agent</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-agent-core</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-test-utils</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-agent-local</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-agent-remote</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-agent-bootstrap</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-agent-bootstrap-shared</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-agent-classserver</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-agent-elastic-server</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-agent-elastic-shared</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-agent-installer</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-charts</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>bamboo-specs-api</artifactId>
        <version>${bamboo.specs.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>bamboo-specs</artifactId>
        <version>${bamboo.specs.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-license</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-rest-model</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-rest-common</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-language</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-embedded-crowd-atlassian-user</artifactId>
        <version>${project.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-dao</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.atlassian.user</groupId>
            <artifactId>atlassian-user</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-persistence</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-maven-embedder</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-migration</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-upgrader</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-utils</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-xml-utils</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-web</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-web-app</artifactId>
        <version>${project.version}</version>
        <type>war</type>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-web-server</artifactId>
        <version>${project.version}</version>
        <type>war</type>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-agent-elastic</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-agent-elastic-s3-bucket-boot</artifactId>
        <type>zip</type>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-agent-elastic-s3-bucket</artifactId>
        <type>aws</type>
        <version>${project.version}</version>
        <exclusions>
          <exclusion>
            <groupId>*</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-bundled-plugins</artifactId>
        <type>txt</type>
        <version>${project.version}</version>
      </dependency>

      <!-- @TODO Rename module -->
      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-plugins1-plugins</artifactId>
        <version>${project.version}</version>
        <type>pom</type>
      </dependency>

      <!-- Bamboo SHIPPED PLUGINS - ensure atlassian-bamboo-web-app/pom.xml is also updated. -->
      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-plugin-oauth-service-provider-spi</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.maven</groupId>
        <artifactId>atlassian-bamboo-plugin-maven</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.ant</groupId>
        <artifactId>atlassian-bamboo-plugin-ant</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.testresultparser</groupId>
        <artifactId>atlassian-bamboo-plugin-testresultparser</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.scripttask</groupId>
        <artifactId>atlassian-bamboo-plugin-scripttask</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.stashcommitviewer</groupId>
        <artifactId>atlassian-bamboo-plugin-stashcommitviewer</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>atlassian-bamboo-plugin-navlinks</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.php</groupId>
        <artifactId>atlassian-bamboo-plugin-php</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.builder</groupId>
        <artifactId>atlassian-bamboo-plugin-grails</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.repository</groupId>
        <artifactId>atlassian-bamboo-plugin-vcsversion</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.labeller</groupId>
        <artifactId>atlassian-bamboo-plugin-labeller</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.fisheyecommitviewer</groupId>
        <artifactId>atlassian-bamboo-plugin-fisheyecommitviewer</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.stash</groupId>
        <artifactId>atlassian-bamboo-plugin-stash</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.triggercondition</groupId>
        <artifactId>atlassian-bamboo-plugin-triggercondition</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- Bamboo bundled plugins from the monorepo -->
      <dependency>
        <groupId>com.atlassian.bamboo.plugins.dotnet</groupId>
        <artifactId>atlassian-bamboo-plugin-dotnet</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.tomcat</groupId>
        <artifactId>bamboo-tomcat-plugin</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.xcode</groupId>
        <artifactId>bamboo-xcode-plugin</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-agent-notification-plugin</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-conditional-tasks</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-nodejs-plugin</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>branchinator</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>atlassian-bamboo-plugin-aws-credentials</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>atlassian-bamboo-plugin-aws-codedeploy</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-docker-plugin</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.streams</groupId>
        <artifactId>streams-bamboo-plugin</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-after-deployment-trigger-plugin</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-announcement-plugin</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.variable.updater</groupId>
        <artifactId>variable-updater-generic</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
      </dependency>

      <!-- Stash notifications plugin -->
      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-stash-plugin</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-scp-plugin</artifactId>
        <version>${bamboo.bundled.apps.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk18on</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk18on</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- END: bundled plugins from the monorepo -->

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-artifact-downloader-plugin</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>atlassian-bamboo-plugin-clover</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-plugin-embedded-crowd-spi-impl</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.brokenbuildtracker</groupId>
        <artifactId>atlassian-bamboo-plugin-brokenbuildtracker</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.jira</groupId>
        <artifactId>atlassian-bamboo-plugin-jira</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>atlassian-bamboo-plugin-analytics</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-plugin-browser-metrics</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>atlassian-bamboo-plugin-git</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-variable-inject-plugin</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-plugin-pocketknife-querydsl</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>atlassian-bamboo-plugin-less-integration</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>atlassian-bamboo-plugin-lookandfeel</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- External dependencies -->
      <dependency>
        <groupId>com.atlassian.bamboo.contrib</groupId>
        <artifactId>atlassian-bamboo-test-categories</artifactId>
        <version>${bamboo.test.categories.version}</version>
      </dependency>
      <dependency>
        <groupId>net.java.dev.jna</groupId>
        <artifactId>jna</artifactId>
        <version>5.15.0</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.bamboo.security.classlist</groupId>
        <artifactId>security-classlist-api</artifactId>
        <version>${bamboo.security.classlist.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.bamboo.security.classlist</groupId>
        <artifactId>security-classlist-generator</artifactId>
        <version>${bamboo.security.classlist.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.plugins</groupId>
        <artifactId>atlassian-dev-status-api</artifactId>
        <version>${atlassian.dev-status.version}</version>
      </dependency>

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

      <dependency>
        <groupId>com.atlassian.stash.plugins</groupId>
        <artifactId>stash-remote-event-api</artifactId>
        <version>${bamboo.stash.remote.event.version}</version>
      </dependency>
      <!-- Stash remote events plugin END -->

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-activeobjects-spi</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-audit-spi</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>atlassian-bamboo-plugin-sal</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>atlassian-bamboo-plugin-rest</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>atlassian-bamboo-plugin-rest-filters</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>atlassian-bamboo-plugin-ssh</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>atlassian-bamboo-plugin-test-utils</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>atlassian-bamboo-plugin-web-resources</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.gadgets</groupId>
        <artifactId>atlassian-bamboo-gadgets</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.triggers</groupId>
        <artifactId>atlassian-bamboo-triggers</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.warnings</groupId>
        <artifactId>atlassian-bamboo-warnings</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.repository</groupId>
        <artifactId>atlassian-bamboo-repository-viewers</artifactId>
        <version>${project.version}</version>
      </dependency>
      <!-- end override -->

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>atlassian-bamboo-plugin-bitbucket</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins.vcs</groupId>
        <artifactId>atlassian-bamboo-plugin-vcs</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-plugin-feature-discovery-spi-impl</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.troubleshooting</groupId>
        <artifactId>plugin-bamboo</artifactId>
        <version>${atlassian.troubleshooting.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo.plugins</groupId>
        <artifactId>bamboo-plugin-whitelist-spi</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- (New) platform modules -->

      <dependency>
        <groupId>com.atlassian.platform.dependencies</groupId>
        <artifactId>platform-public-api</artifactId>
        <version>${platform.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>com.atlassian.platform.dependencies</groupId>
        <artifactId>platform-internal-api</artifactId>
        <version>${platform.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>com.atlassian.platform.dependencies</groupId>
        <artifactId>platform-system-classpath</artifactId>
        <version>${platform.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>com.atlassian.platform.dependencies</groupId>
        <artifactId>platform-framework-bundles</artifactId>
        <version>${platform.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>com.atlassian.platform.dependencies</groupId>
        <artifactId>platform-bundled-plugins</artifactId>
        <version>${platform.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>com.atlassian.platform.dependencies</groupId>
        <artifactId>platform-test-resources</artifactId>
        <version>${platform.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <!--  dependencies which are newer than platform-->
      <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-crypto</artifactId>
        <version>${spring.security.crypto.version}</version>
      </dependency>

      <!-- overriding oauth -->
      <dependency>
        <groupId>com.atlassian.oauth</groupId>
        <artifactId>atlassian-oauth-api</artifactId>
        <version>${atlassian.oauth.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.oauth</groupId>
        <artifactId>atlassian-oauth-bridge</artifactId>
        <version>${atlassian.oauth.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.oauth</groupId>
        <artifactId>atlassian-oauth-consumer-core</artifactId>
        <version>${atlassian.oauth.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.oauth</groupId>
        <artifactId>atlassian-oauth-consumer-plugin</artifactId>
        <version>${atlassian.oauth.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.oauth</groupId>
        <artifactId>atlassian-oauth-consumer-sal-plugin</artifactId>
        <version>${atlassian.oauth.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.oauth</groupId>
        <artifactId>atlassian-oauth-consumer-spi</artifactId>
        <version>${atlassian.oauth.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.oauth</groupId>
        <artifactId>atlassian-oauth-service-provider-plugin</artifactId>
        <version>${atlassian.oauth.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.oauth</groupId>
        <artifactId>atlassian-oauth-service-provider-sal-plugin</artifactId>
        <version>${atlassian.oauth.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.oauth</groupId>
        <artifactId>atlassian-oauth-service-provider-spi</artifactId>
        <version>${atlassian.oauth.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.oauth</groupId>
        <artifactId>atlassian-oauth-shared</artifactId>
        <version>${atlassian.oauth.version}</version>
      </dependency>

      <!-- overriding applinks -->
      <dependency>
        <groupId>com.atlassian.applinks</groupId>
        <artifactId>applinks-func-test-common</artifactId>
        <version>${applinks.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.applinks</groupId>
        <artifactId>applinks-func-test-rest-common</artifactId>
        <version>${applinks.version}</version>
      </dependency>
      <!-- end applinks -->

      <!-- Dependencies missing in the new platform -->
      <dependency>
        <groupId>com.atlassian.aui</groupId>
        <artifactId>aui-flat-pack</artifactId>
        <version>${atlassian.aui.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.oauth</groupId>
        <artifactId>atlassian-oauth-admin-plugin</artifactId>
      </dependency>

      <!--override, as platform version of botocss 6.10.1 is not compatible with antlr4-runtime:4.12.0, see https://github.com/radkovo/jStyleParser/issues/118-->
      <dependency>
        <groupId>com.atlassian.botocss</groupId>
        <artifactId>botocss</artifactId>
        <version>3.0</version>
        <exclusions>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!--override: platform version doesn't work with ED25519 keys -->
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcpkix-jdk18on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk18on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>

      <!-- Fully Maven 2 Atlassian dependencies -->
      <dependency>
        <groupId>com.atlassian</groupId>
        <artifactId>test-batching</artifactId>
        <version>${atlassian.test.batching.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.plugins</groupId>
        <artifactId>bamboo-project-creation</artifactId>
        <version>${atlassian.projectcreate.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bamboo</groupId>
        <artifactId>atlassian-bamboo-elastic-image</artifactId>
        <version>${elastic-image.version}</version>
        <type>ami</type>
      </dependency>

      <dependency>
        <groupId>com.atlassian.aws</groupId>
        <artifactId>atlassian-aws-bootstrap</artifactId>
        <version>${atlassian-aws.version}</version>
        <exclusions>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-lts8on</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.atlassian.aws</groupId>
        <artifactId>atlassian-aws</artifactId>
        <version>${atlassian-aws.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-reload4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
          </exclusion>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-lts8on</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bandana</groupId>
        <artifactId>atlassian-bandana</artifactId>
        <version>3.1</version>
      </dependency>

      <dependency>
        <groupId>org.mozilla</groupId>
        <artifactId>rhino</artifactId>
        <version>1.7.15</version>
      </dependency>

      <!-- Atlassian dependencies -->

      <dependency>
        <groupId>com.atlassian.extras</groupId>
        <artifactId>atlassian-extras-api</artifactId>
        <version>${atlassian-extras.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.extras</groupId>
        <artifactId>atlassian-extras-common</artifactId>
        <version>${atlassian-extras.version}</version>
        <exclusions>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.atlassian.extras</groupId>
        <artifactId>atlassian-extras-legacy</artifactId>
        <version>${atlassian-extras.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.extras</groupId>
        <artifactId>atlassian-extras-core</artifactId>
        <version>${atlassian-extras.version}</version>
      </dependency>

      <!-- feature discovery dependencies -->
      <dependency>
        <groupId>com.atlassian.feature.discovery</groupId>
        <artifactId>feature-discovery-api</artifactId>
        <version>${atlassian.feature.discovery.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.feature.discovery</groupId>
        <artifactId>feature-discovery-plugin-bamboo</artifactId>
        <version>${atlassian.feature.discovery.version}</version>
      </dependency>

      <!-- atlassian client resource plugin -->
      <dependency>
        <groupId>com.atlassian.plugins</groupId>
        <artifactId>atlassian-client-resource</artifactId>
        <version>${atlassian.client.resource.version}</version>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${fasterxml.jackson.version}</version>
      </dependency>

      <!-- It is provided by Atlassian REST, but products can control the version in the system bundle -->
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${fasterxml.jackson.version}</version>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${fasterxml.jackson.version}</version>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-json-provider</artifactId>
        <version>${fasterxml.jackson.version}</version>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-cbor</artifactId>
        <version>${fasterxml.jackson.version}</version>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-yaml</artifactId>
        <version>${fasterxml.jackson.version}</version>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-joda</artifactId>
        <version>${fasterxml.jackson.version}</version>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.jackson.module</groupId>
        <artifactId>jackson-module-jaxb-annotations</artifactId>
        <version>${fasterxml.jackson.version}</version>
      </dependency>

      <!-- >>>>>>>>>> DEPENDENCIES THAT ARE NOT PROVIDED BY PLATFORM 7 <<<<<<<<<<<< -->
      <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>jsr311-api</artifactId>
        <version>${jsr311.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>${commons-lang.version}</version>
      </dependency>
      <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>${joda-time.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-digester</groupId>
        <artifactId>commons-digester</artifactId>
        <version>${commons-digester.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${javax.servlet-api.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.inject</groupId>
        <artifactId>javax.inject</artifactId>
        <version>${javax.inject.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.velocity</groupId>
        <artifactId>atlassian-velocity</artifactId>
        <version>${atlassian-velocity.version}</version>
        <exclusions>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>${javax.xml.binding-jaxb-api.version}</version>
      </dependency>
      <!-- <<<<<<<<<<<< END OF DEPENDENCIES THAT ARE NOT PROVIDED BY PLATFORM 7 >>>>>>>>>>>>> -->

      <dependency>
        <groupId>jakarta.inject</groupId>
        <artifactId>jakarta.inject-api</artifactId>
        <version>${jakarta.inject-api.version}</version>
      </dependency>

      <dependency>
        <groupId>jakarta.ws.rs</groupId>
        <artifactId>jakarta.ws.rs-api</artifactId>
        <version>${jakarta.ws.rs.version}</version>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-client</artifactId>
        <version>${jersey.glassfish.version}</version>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-server</artifactId>
        <version>${jersey.glassfish.version}</version>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet</artifactId>
        <version>${jersey.glassfish.version}</version>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-common</artifactId>
        <version>${jersey.glassfish.version}</version>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.inject</groupId>
        <artifactId>jersey-hk2</artifactId>
        <version>${jersey.glassfish.version}</version>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-jaxb</artifactId>
        <version>${jersey.glassfish.version}</version>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-json-jackson</artifactId>
        <version>${jersey.glassfish.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bucket</groupId>
        <artifactId>atlassian-bucket</artifactId>
        <version>5.2.6</version>
        <exclusions>
          <exclusion>
            <groupId>com.atlassian.config</groupId>
            <artifactId>atlassian-config</artifactId>
          </exclusion>
          <exclusion>
            <groupId>atlassian-confluence-extras</groupId>
            <artifactId>atlassian-confluence-extras</artifactId>
          </exclusion>
          <exclusion>
            <groupId>cglib</groupId>
            <artifactId>cglib-full</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.atlassian.xwork</groupId>
            <artifactId>atlassian-xwork</artifactId>
          </exclusion>
          <exclusion>
            <groupId>hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
          </exclusion>
          <exclusion>
            <groupId>odmg</groupId>
            <artifactId>odmg</artifactId>
          </exclusion>
          <exclusion>
            <groupId>ognl</groupId>
            <artifactId>ognl</artifactId>
          </exclusion>
          <exclusion>
            <groupId>opensymphony</groupId>
            <artifactId>webwork</artifactId>
          </exclusion>
          <exclusion>
            <groupId>opensymphony</groupId>
            <artifactId>xwork</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcmail-jdk15</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk16</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-lts8on</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-reload4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-hibernate2</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-support</artifactId>
          </exclusion>
          <exclusion>
            <groupId>osuser</groupId>
            <artifactId>osuser</artifactId>
          </exclusion>
          <exclusion>
            <groupId>quartz</groupId>
            <artifactId>quartz</artifactId>
          </exclusion>
          <exclusion>
            <!-- groupId of sitemesh is now opensymphony -->
            <groupId>sitemesh</groupId>
            <artifactId>sitemesh</artifactId>
          </exclusion>
          <exclusion>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
          </exclusion>
          <exclusion>
            <groupId>xerces</groupId>
            <artifactId>xmlParserAPIs</artifactId>
          </exclusion>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-reload4j</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- Platform provides `com.google.code.findbugs:jsr305` is it the same dependency? -->
      <dependency>
        <groupId>com.atlassian.bundles</groupId>
        <artifactId>jsr305</artifactId>
        <version>1.1</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.user</groupId>
        <artifactId>atlassian-user-api</artifactId>
        <version>${atlassian-user.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.user</groupId>
        <artifactId>atlassian-user-core</artifactId>
        <version>${atlassian-user.version}</version>
        <exclusions>
          <exclusion>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-lts8on</artifactId>
          </exclusion>
          <exclusion>
            <groupId>hibernate</groupId>
            <artifactId>hibernate</artifactId>
          </exclusion>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-lts8on</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.atlassian.user</groupId>
        <artifactId>atlassian-user-hibernate3</artifactId>
        <version>${atlassian-user.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.atlassian.bamboo</groupId>
            <artifactId>atlassian-bamboo-persistence</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-lts8on</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate</artifactId>
          </exclusion>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-lts8on</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.atlassian.xwork</groupId>
        <artifactId>atlassian-xwork-12</artifactId>
        <version>2.5.32-struts-4</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>velocity</groupId>
            <artifactId>velocity</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.atlassian</groupId>
        <artifactId>onetime</artifactId>
        <version>${atlassian.onetime.version}</version>
      </dependency>

      <!-- Should Platform control it? -->

      <dependency>
        <groupId>com.atlassian.aui</groupId>
        <artifactId>aui-pageobjects</artifactId>
        <version>1.0.0</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.utils</groupId>
        <artifactId>atlassian-processutils</artifactId>
        <version>${atlassian.processutils.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.bitbucket.server</groupId>
        <artifactId>bitbucket-it-common</artifactId>
        <version>${bitbucket.server.lib.version}</version>
        <exclusions>
          <exclusion>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
          </exclusion>
          <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>log4j-over-slf4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk15on</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.atlassian.bitbucket.server</groupId>
        <artifactId>bitbucket-page-objects</artifactId>
        <version>${bitbucket.server.lib.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>log4j-over-slf4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.dbunit</groupId>
            <artifactId>dbunit</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.atlassian.selenium</groupId>
            <artifactId>atlassian-pageobjects-elements</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>*</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk15on</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk15on</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.atlassian.platform</groupId>
        <artifactId>ctk-plugin</artifactId>
        <version>5.0.3@platform_5.0.19</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- LOL? -->
      <dependency>
        <groupId>com.atlassian.refapp</groupId>
        <artifactId>atlassian-refapp-pageobjects</artifactId>
        <version>${refapp.version}</version>
        <exclusions>
          <exclusion>
            <groupId>junit</groupId>
            <artifactId>junit-dep</artifactId>
          </exclusion>
          <exclusion>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-juli</artifactId>
        <version>${tomcat9x.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.db.config</groupId>
        <artifactId>password-cipher-api</artifactId>
        <version>${password.cipher.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.atlassian.db.config</groupId>
        <artifactId>password-cipher-base</artifactId>
        <version>${password.cipher.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.atlassian.db.config</groupId>
        <artifactId>password-cipher-cli</artifactId>
        <version>${password.cipher.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- Other dependencies -->

      <!-- JSR-000374 JavaTM API for JSON Processing 1.1 -->
      <dependency>
        <groupId>javax.json</groupId>
        <artifactId>javax.json-api</artifactId>
        <version>1.1.4</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.json</artifactId>
        <version>1.1.4</version>
      </dependency>
      <!-- JSR-000374 JavaTM API for JSON Processing 1.1 -->

      <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.3</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jersey.connectors</groupId>
        <artifactId>jersey-apache-connector</artifactId>
        <version>${jersey.glassfish.version}</version>
      </dependency>

      <dependency>
        <groupId>net.sourceforge.jwebunit</groupId>
        <artifactId>jwebunit-core</artifactId>
        <scope>test</scope>
        <version>${jwebunit.version}</version>
      </dependency>

      <dependency>
        <groupId>net.sourceforge.jwebunit</groupId>
        <artifactId>jwebunit-htmlunit-plugin</artifactId>
        <version>${jwebunit.version}</version>
        <exclusions>
          <exclusion>
            <groupId>htmlunit</groupId>
            <artifactId>htmlunit</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>net.sourceforge.htmlunit</groupId>
            <artifactId>htmlunit</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <artifactId>htmlunit</artifactId>
        <groupId>htmlunit</groupId>
        <version>1.14</version>
        <exclusions>
          <exclusion>
            <groupId>xalan</groupId>
            <artifactId>xalan</artifactId>
          </exclusion>
          <exclusion>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
          </exclusion>
          <exclusion>
            <!-- renamed to org.mozilla:rhino-->
            <groupId>rhino</groupId>
            <artifactId>js</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
      </dependency>

      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-all</artifactId>
        <version>${hamcrest.version}</version>
      </dependency>

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

      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-library</artifactId>
        <version>${hamcrest.version}</version>
      </dependency>

      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${mockito.version}</version>
      </dependency>

      <dependency>
        <groupId>pl.pragmatists</groupId>
        <artifactId>JUnitParams</artifactId>
        <version>1.1.1</version>
      </dependency>

      <dependency>
        <groupId>com.github.stefanbirkner</groupId>
        <artifactId>system-rules</artifactId>
        <version>1.19.0</version>
      </dependency>

      <dependency>
        <groupId>com.github.tomakehurst</groupId>
        <artifactId>wiremock</artifactId>
        <version>2.32.0</version>
        <exclusions>
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- JDBC logging framework -->
      <dependency>
        <groupId>org.bgee.log4jdbc-log4j2</groupId>
        <artifactId>log4jdbc-log4j2-jdbc4</artifactId>
        <version>1.16</version>
      </dependency>

      <dependency>
        <groupId>org.apache.ant</groupId>
        <artifactId>ant</artifactId>
        <version>1.10.12</version>
        <exclusions>
          <exclusion>
            <groupId>com.sun</groupId>
            <artifactId>tools</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>${commons.beanutils.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-collections4</artifactId>
        <version>4.4</version>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-pool2</artifactId>
        <version>2.11.1</version>
      </dependency>

      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.2</version>
      </dependency>

      <dependency>
        <groupId>commons-configuration</groupId>
        <artifactId>commons-configuration</artifactId>
        <version>${commons.configuration.version}</version>
        <exclusions>
          <exclusion>
            <groupId>xerces</groupId>
            <artifactId>xerces</artifactId>
          </exclusion>
          <exclusion>
            <groupId>ant</groupId>
            <artifactId>ant-optional</artifactId>
          </exclusion>
          <exclusion>
            <groupId>servletapi</groupId>
            <artifactId>servletapi</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>jdom</groupId>
            <artifactId>jdom</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>commons-el</groupId>
        <artifactId>commons-el</artifactId>
        <version>1.0</version>
      </dependency>

      <dependency>
        <groupId>commons-httpclient</groupId>
        <artifactId>commons-httpclient</artifactId>
        <version>${commons.httpclient.version}</version>
        <exclusions>
          <exclusion>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-math3</artifactId>
        <version>3.6.1</version>
      </dependency>

      <dependency>
        <groupId>commons-validator</groupId>
        <artifactId>commons-validator</artifactId>
        <version>${commons.validator.version}</version>
      </dependency>

      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-utils</artifactId>
        <version>3.4.1</version>
      </dependency>

      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>${log4j.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-1.2-api</artifactId>
        <version>${log4j.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j2-impl</artifactId>
        <version>${log4j.version}</version>
      </dependency>

      <dependency>
        <groupId>jaxen</groupId>
        <artifactId>jaxen</artifactId>
        <version>1.1.6</version>
      </dependency>

      <dependency>
        <groupId>httpunit</groupId>
        <artifactId>httpunit</artifactId>
        <version>1.7</version>
      </dependency>

      <dependency>
        <groupId>org.fusesource.jansi</groupId>
        <artifactId>jansi</artifactId>
        <version>1.18</version>
      </dependency>

      <dependency>
        <groupId>org.tmatesoft.svnkit</groupId>
        <artifactId>svnkit</artifactId>
        <version>${svnkit.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.sshd</groupId>
            <artifactId>sshd-common</artifactId>
          </exclusion>
          <exclusion>
            <groupId>net.i2p.crypto</groupId>
            <artifactId>eddsa</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>javax.transaction</groupId>
        <artifactId>jta</artifactId>
        <version>1.1</version>
      </dependency>

      <dependency>
        <groupId>com.sun.mail</groupId>
        <artifactId>jakarta.mail</artifactId>
        <version>1.6.8</version>
      </dependency>

      <dependency>
        <groupId>net.sourceforge.nekohtml</groupId>
        <artifactId>nekohtml</artifactId>
        <version>1.9.22-atlassian-5</version>
      </dependency>

      <dependency>
        <groupId>com.github.ziplet</groupId>
        <artifactId>ziplet</artifactId>
        <version>2.4.1</version>
      </dependency>
      <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>${quartz.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
          </exclusion>
          <exclusion>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP-java7</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.igniterealtime.smack</groupId>
        <artifactId>smack-java8-full</artifactId>
        <version>${smack.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpg-jdk15on</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
          </exclusion>
        </exclusions>

      </dependency>

      <dependency>
        <groupId>de.schlichtherle.truezip</groupId>
        <artifactId>truezip-file</artifactId>
        <version>${truezip.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk16</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-lts8on</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>de.schlichtherle.truezip</groupId>
        <artifactId>truezip-driver-zip</artifactId>
        <version>${truezip.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk16</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-lts8on</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>1.26.0</version>
      </dependency>

      <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>${struts2-atlassian.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.sun</groupId>
            <artifactId>tools</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.struts.xwork</groupId>
            <artifactId>xwork-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javassist</groupId>
            <artifactId>javassist</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-sitemesh-plugin</artifactId>
        <!--<version>${struts2.version}</version>-->
        <version>2.1.8.1</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian</groupId>
        <artifactId>webwork-compat</artifactId>
        <version>1.33</version>
        <exclusions>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker</artifactId>
        <version>2.3.31-atlassian-2</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xmlParserAPIs</artifactId>
        <version>2.6.2</version>
        <!--<scope>provided</scope>-->
      </dependency>

      <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xml-apis</artifactId>
        <version>1.4.01</version>
        <!--<scope>provided</scope>-->
      </dependency>

      <dependency>
        <groupId>xpp3</groupId>
        <artifactId>xpp3_min</artifactId>
        <version>1.1.4c</version>
      </dependency>

      <dependency>
        <groupId>com.esotericsoftware</groupId>
        <artifactId>kryo</artifactId>
        <version>3.0.3</version>
      </dependency>

      <dependency>
        <groupId>com.thoughtworks.xstream</groupId>
        <artifactId>xstream</artifactId>
        <version>${xstream.version}</version>
      </dependency>

      <dependency>
        <groupId>com.thoughtworks.xstream</groupId>
        <artifactId>xstream-hibernate</artifactId>
        <version>${xstream.version}</version>
      </dependency>

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

      <dependency>
        <groupId>org.xmlunit</groupId>
        <artifactId>xmlunit-core</artifactId>
        <version>${xmlunit.version}</version>
      </dependency>

      <dependency>
        <groupId>org.xmlunit</groupId>
        <artifactId>xmlunit-matchers</artifactId>
        <version>${xmlunit.version}</version>
      </dependency>

      <dependency>
        <groupId>org.xmlunit</groupId>
        <artifactId>xmlunit-placeholders</artifactId>
        <version>${xmlunit.version}</version>
      </dependency>

      <dependency>
        <groupId>install4j</groupId>
        <artifactId>i4jruntime</artifactId>
        <version>3.2.4</version>
      </dependency>

      <dependency>
        <groupId>org.acegisecurity</groupId>
        <artifactId>acegi-security</artifactId>
        <version>${acegisecurity.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-remoting</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-support</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring-mock</artifactId>
          </exclusion>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>jfree</groupId>
        <artifactId>jfreechart</artifactId>
        <version>1.0.9</version>
      </dependency>
      <dependency>
        <groupId>jfree</groupId>
        <artifactId>jcommon</artifactId>
        <version>1.0.12</version>
      </dependency>



      <!-- START Spring deps. Adding all to remove possibility of unsynced deps-->
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jms</artifactId>
        <version>${spring.version}</version>
      </dependency>

      <!-- overriding platform version because it's broken and Bamboo does not compile -->
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <!-- END Spring deps. -->

      <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>${aspectjweaver.version}</version>
      </dependency>

      <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>${aspectjweaver.version}</version>
      </dependency>

      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>${hibernate.version}-atlassian-${hibernate.fork.version}</version>
        <exclusions>
          <exclusion>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-jpamodelgen</artifactId>
        <version>${hibernate.version}</version>
      </dependency>


      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-hikaricp</artifactId>
        <version>${hibernate.version}</version>
      </dependency>

      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-ehcache</artifactId>
        <version>${hibernate.version}</version>
        <exclusions>
          <!-- we will use the version coming from atlassian-cache, a different artifact id -->
          <exclusion>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache-core</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.zaxxer</groupId>
        <artifactId>HikariCP</artifactId>
        <version>4.0.3</version>
      </dependency>

      <dependency>
        <groupId>org.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.27.0-GA</version>
      </dependency>

      <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib-nodep</artifactId>
        <version>2.2</version>
      </dependency>

      <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2</version>
        <scope>provided</scope>
      </dependency>

      <!-- Testing. Repeated just to deal with bloody dependencies -->
      <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymockclassextension</artifactId>
        <version>2.4</version>
      </dependency>

      <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymock</artifactId>
        <version>2.4</version>
      </dependency>

      <dependency>
        <groupId>mockobjects</groupId>
        <artifactId>mockobjects-core</artifactId>
        <version>0.09</version>
      </dependency>

      <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>7.9.0</version>
      </dependency>

      <dependency>
        <groupId>org.codehaus.cargo</groupId>
        <artifactId>cargo-core-container-tomcat</artifactId>
        <version>${cargo.version}</version>
      </dependency>

      <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>rest-assured</artifactId>
        <version>3.1.1</version>
        <exclusions>
          <exclusion>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>6.0.0</version>
      </dependency>

      <!-- Webdriver dependencies -->
      <dependency>
        <groupId>com.atlassian.selenium</groupId>
        <artifactId>atlassian-pageobjects-api</artifactId>
        <version>${atlassian.selenium.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.selenium</groupId>
        <artifactId>atlassian-pageobjects-elements</artifactId>
        <version>${atlassian.selenium.version}</version>
        <exclusions>
          <exclusion>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.atlassian.bundles</groupId>
            <artifactId>jsr305</artifactId>
          </exclusion>
          <exclusion>
            <groupId>junit</groupId>
            <artifactId>junit-dep</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.atlassian.selenium</groupId>
        <artifactId>atlassian-pageobjects-elements-aui</artifactId>
        <version>${atlassian.selenium.version}</version>
        <exclusions>
          <exclusion>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.atlassian.bundles</groupId>
            <artifactId>jsr305</artifactId>
          </exclusion>
          <exclusion>
            <groupId>junit</groupId>
            <artifactId>junit-dep</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.netty</groupId>
            <artifactId>netty</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.atlassian.selenium</groupId>
        <artifactId>atlassian-webdriver-core</artifactId>
        <version>${atlassian.selenium.version}</version>
        <exclusions>
          <exclusion>
            <!--group id changed...-->
            <groupId>net.sourceforge.htmlunit</groupId>
            <artifactId>htmlunit</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.atlassian.util.concurrent</groupId>
            <artifactId>atlassian-util-concurrent</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.atlassian.browsers</groupId>
        <artifactId>atlassian-browsers-auto</artifactId>
        <version>4.0.0</version>
      </dependency>
      <!-- End of webdriver dependencies -->

      <dependency>
        <groupId>com.atlassian.fusion</groupId>
        <artifactId>ctk-test-resources</artifactId>
        <version>${atlassian.fusion.ctk.test.resources.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-core</artifactId>
        <version>${apache.maven.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-embedder</artifactId>
        <version>${apache.maven.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-compat</artifactId>
        <version>${apache.maven.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-invoker</artifactId>
        <version>3.0.0</version>
      </dependency>

      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-model</artifactId>
        <version>${apache.maven.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-plugin-api</artifactId>
        <version>${apache.maven.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-provider-api</artifactId>
        <version>${apache.wagon.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-file</artifactId>
        <version>${apache.wagon.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-http</artifactId>
        <version>${apache.wagon.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.maven.resolver</groupId>
        <artifactId>maven-resolver-connector-basic</artifactId>
        <version>${apache.maven.resolver.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.resolver</groupId>
        <artifactId>maven-resolver-transport-wagon</artifactId>
        <version>${apache.maven.resolver.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-core</artifactId>
        <version>${activeMqVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging-api</artifactId>
          </exclusion>

          <!-- LevelDB-based store -->
          <exclusion>
            <groupId>org.fusesource.fuse-extra</groupId>
            <artifactId>fusemq-leveldb</artifactId>
          </exclusion>

          <!-- MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. -->
          <exclusion>
            <groupId>org.fusesource.mqtt-client</groupId>
            <artifactId>mqtt-client</artifactId>
          </exclusion>

          <!-- the following 3 optional dependencies are new as of AMQ 5.3.2 -->
          <exclusion>
            <!-- requires Spring >=2.5 -->
            <groupId>org.springframework.osgi</groupId>
            <artifactId>spring-osgi-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.core</artifactId>
          </exclusion>
          <exclusion>
            <!-- FTP support for BlobMessages -->
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-j2ee-management_1.0_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-broker</artifactId>
        <version>${activeMqVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-ra</artifactId>
        <version>${activeMqVersion}</version>
        <exclusions>
          <exclusion>
            <!-- requires Spring >=2.5 -->
            <groupId>org.springframework.osgi</groupId>
            <artifactId>spring-osgi-core</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.core</artifactId>
          </exclusion>
          <exclusion>
            <!-- FTP support for BlobMessages -->
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
          </exclusion>
        </exclusions>

      </dependency>

      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-pool</artifactId>
        <version>${activeMqVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-client</artifactId>
        <version>${activeMqVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-http</artifactId>
        <version>${activeMqVersion}</version>
        <exclusions>
          <exclusion>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>*</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-mqtt</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-stomp</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- required for applicationContextJMS.xml -->
      <dependency>
        <artifactId>xbean-spring</artifactId>
        <groupId>org.apache.xbean</groupId>
        <version>3.2</version>
      </dependency>

      <dependency>
        <groupId>org.apache.geronimo.components</groupId>
        <artifactId>geronimo-transaction</artifactId>
        <version>3.1.5</version>
      </dependency>

      <dependency>
        <groupId>org.jetbrains</groupId>
        <artifactId>annotations</artifactId>
        <version>23.0.0</version>
      </dependency>

      <!-- this is actually a cheat - we do not provide this jar, we provide org.jetbrains:annotations -->
      <dependency>
        <groupId>com.intellij</groupId>
        <artifactId>annotations</artifactId>
        <version>6.0.5</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>com.icegreen</groupId>
        <artifactId>greenmail</artifactId>
        <version>1.6.15</version>
        <exclusions>
          <exclusion>
            <groupId>com.sun.mail</groupId>
            <artifactId>jakarta.mail</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>javax.activation-api</artifactId>
        <version>${javax.activation.version}</version>
      </dependency>

      <dependency>
        <groupId>com.sun.activation</groupId>
        <artifactId>javax.activation</artifactId>
        <version>${javax.activation.version}</version>
      </dependency>

      <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
        <version>1.3.2</version>
      </dependency>

      <dependency>
        <groupId>jakarta.xml.bind</groupId>
        <artifactId>jakarta.xml.bind-api</artifactId>
        <version>${jaxb-api.version}</version>
      </dependency>

      <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>${jaxb-runtime.version}</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.tunnel</groupId>
        <artifactId>atlassian-tunnel</artifactId>
        <version>1.8.8</version>
        <exclusions>
          <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.woodstox</groupId>
        <artifactId>woodstox-core</artifactId>
        <version>${woodstox.version}</version>
        <exclusions>
          <exclusion>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.staxmate</groupId>
        <artifactId>staxmate</artifactId>
        <version>${staxmate.version}</version>
        <exclusions>
          <exclusion>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- database drivers -->

      <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>${postgresql.driver.version}</version>
        <exclusions>
          <exclusion>
            <groupId>net.java.dev.jna</groupId>
            <artifactId>jna</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- MS SQL JDBC Driver -->
      <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssql-jdbc</artifactId>
        <version>${sqlServer.driver.version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
          </exclusion>
          <exclusion>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>azure-keyvault</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.oracle.database.jdbc</groupId>
        <artifactId>ojdbc8</artifactId>
        <version>${oracle.driver.version}</version>
      </dependency>

      <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <version>${mysql.driver.version}</version>
      </dependency>

      <dependency>
        <groupId>com.octo.captcha</groupId>
        <artifactId>jcaptcha</artifactId>
        <version>${jcaptcha.version}</version>
      </dependency>

      <dependency>
        <groupId>com.octo.captcha</groupId>
        <artifactId>jcaptcha-api</artifactId>
        <version>${jcaptcha.version}</version>
      </dependency>

      <dependency>
        <!-- used by jcaptcha, can be removed if we upgrade to any newer version, because jcaptcha trunk pom.xml already has proper dependencies-->
        <groupId>com.jhlabs</groupId>
        <artifactId>filters</artifactId>
        <version>2.0.235</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.functest</groupId>
        <artifactId>functest-plugin</artifactId>
        <version>${atlassian.functest.version}</version>
        <scope>provided</scope>
        <exclusions>
          <!--group id changed...-->
          <exclusion>
            <groupId>net.sourceforge.htmlunit</groupId>
            <artifactId>htmlunit</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.sshd</groupId>
        <artifactId>sshd-core</artifactId>
        <version>${apache.sshd.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.sshd</groupId>
            <artifactId>sshd-netty</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.mina</groupId>
        <artifactId>mina-core</artifactId>
        <version>${apache.mina.core.version}</version>
      </dependency>

        <!-- For ed25519 support -->
        <!-- This is a fork of net.i2p.crypto:eddsa containing a fix for CVE-2020-36843. We should move back to
             the canonical dependency if there's a new release containing the fix. -->
        <dependency>
            <groupId>com.bloxbean.cardano</groupId>
            <artifactId>net-i2p-crypto-eddsa</artifactId>
            <version>0.3.1</version>
        </dependency>

      <dependency>
        <groupId>org.sonatype.plexus</groupId>
        <artifactId>plexus-cipher</artifactId>
        <version>1.7</version>
      </dependency>

      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>${scala.version}</version>
      </dependency>
      <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-compiler</artifactId>
        <version>${scala.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.plugins</groupId>
        <artifactId>atlassian-plugins-osgi-testrunner</artifactId>
        <version>${plugin.testrunner.version}</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-core</artifactId>
        <version>${tomcat9x.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-annotations-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- required for UPM -->
      <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-jsp-api</artifactId>
        <version>${tomcat9x.version}</version>
      </dependency>

      <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>2.4</version>
      </dependency>

      <dependency>
        <groupId>org.jboss.byteman</groupId>
        <artifactId>byteman</artifactId>
        <version>${byteman.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.byteman</groupId>
        <artifactId>byteman-submit</artifactId>
        <version>${byteman.version}</version>
      </dependency>

      <dependency>
        <groupId>com.spotify</groupId>
        <artifactId>docker-client</artifactId>
        <version>${docker.client.version}</version>
        <classifier>shaded</classifier>
        <exclusions>
          <!--
          Not excluding:
          - org.apache.commons:commons-compress
          - org.bouncycastle:bcpkix-lts8on
          -->
          <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-guava</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.fasterxml.jackson.jaxrs</groupId>
            <artifactId>jackson-jaxrs-json-provider</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.github.jnr</groupId>
            <artifactId>jnr-unixsocket</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.glassfish.jersey.connectors</groupId>
            <artifactId>jersey-apache-connector</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.glassfish.jersey.connectors</groupId>
            <artifactId>jersey-apache-connector</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-client</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-common</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-json-jackson</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-moxy</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk15on</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- docker client dependency that is not shaded -->
      <dependency>
        <groupId>com.github.jnr</groupId>
        <artifactId>jffi</artifactId>
        <version>1.3.13</version>
      </dependency>
      <dependency>
        <groupId>com.github.jnr</groupId>
        <artifactId>jnr-ffi</artifactId>
        <version>2.2.17</version>
      </dependency>

      <dependency>
        <groupId>com.atlassian.plugins.jstestrunner</groupId>
        <artifactId>atlassian-jstest-runner-plugin</artifactId>
        <version>${atlassian-jstest-runner-plugin.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.plugins.jstestrunner</groupId>
        <artifactId>atlassian-jstest-runner-pageobjects</artifactId>
        <version>${atlassian-jstest-runner-plugin.version}</version>
      </dependency>

      <dependency>
        <groupId>com.tdunning</groupId>
        <artifactId>t-digest</artifactId>
        <version>${t-digest.version}</version>
      </dependency>

      <dependency>
        <groupId>org.reflections</groupId>
        <artifactId>reflections</artifactId>
        <version>${org.reflections.version}</version>
      </dependency>

      <!-- REST doc (Swagger) dependencies -->
      <dependency>
        <groupId>io.swagger.core.v3</groupId>
        <artifactId>swagger-jaxrs2</artifactId>
        <version>${swagger.version}</version>
        <!-- We do not specifically need and do not use Jakarta so we are excluding
        it to avoid the extra complexity that comes with using the EPL 2.0 license. -->
        <exclusions>
          <exclusion>
            <groupId>jakarta.activation</groupId>
            <artifactId>jakarta.activation-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>io.github.classgraph</groupId>
            <artifactId>classgraph</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <!-- REST doc (Swagger) dependencies -->
      <dependency>
        <groupId>io.swagger.core.v3</groupId>
        <artifactId>swagger-annotations</artifactId>
        <version>${swagger.version}</version>
      </dependency>
      <dependency>
        <groupId>com.atlassian.dc.swagger</groupId>
        <artifactId>annotations</artifactId>
        <version>${swagger.annotations.version}</version>
      </dependency>

      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java</artifactId>
        <version>${protobuf.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <!-- we should not have any dependencies on this level -->
  <dependencies>
    <!-- adding this dependency as plugin dependency for surefire plugin doesn't work -->
    <dependency>
      <groupId>com.atlassian.bamboo.contrib</groupId>
      <artifactId>atlassian-bamboo-test-categories</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <version>${maven.plugins.version.maven-clean-plugin}</version>
        <inherited>false</inherited>
        <configuration>
          <filesets>
            <fileset>
              <directory>node_modules</directory>
            </fileset>
          </filesets>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <version>${maven.plugins.version.maven-install-plugin}</version>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>${maven.plugins.version.maven-deploy-plugin}</version>
      </plugin>

      <plugin>
        <groupId>com.atlassian.maven.plugins</groupId>
        <artifactId>artifactory-staging-maven-plugin</artifactId>
        <version>${maven.plugins.version.artifactory-staging-maven-plugin}</version>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>${maven.plugins.version.maven-dependency-plugin}</version>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>${maven.plugins.version.maven-source-plugin}</version>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-gpg-plugin</artifactId>
        <version>${maven.plugins.version.maven-gpg-plugin}</version>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.13.0</version>
          <configuration>
            <!-- we build lots of modules in parallel, so memory can be a limiting factor for fast build times -->
            <maxmem>1512m</maxmem>
            <useIncrementalCompilation>false</useIncrementalCompilation>
          </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.3.1</version>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
          <execution>
            <id>enforce-java</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireJavaVersion>
                  <version>1.8.0</version>
                </requireJavaVersion>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
          <execution>
            <id>enforce-build-environment</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>3.6</version>
                </requireMavenVersion>
              </rules>
            </configuration>
          </execution>
          <execution>
            <id>enforce-banned-dependencies</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <bannedDependencies>
                  <excludes>
                    <exclude>org.apache.commons:commons-io</exclude>
                    <exclude>org.apache.geronimo.specs:geronimo-j2ee-management_1.0_spec</exclude>
                    <exclude>org.apache.geronimo.specs:geronimo-jta_1.0.1B_spec</exclude>
                    <exclude>org.springframework:spring</exclude>
                    <exclude>stax:stax-api</exclude>
                    <exclude>rhino:js</exclude> <!-- renamed to org.mozilla:rhino-->
                    <exclude>freemarker:freemarker</exclude>
                    <exclude>org.bouncycastle:*</exclude>
                    <exclude>bouncycastle:*</exclude>
                    <exclude>opensymphony:xwork</exclude>
                    <exclude>com.opensymphony:xwork</exclude>
                    <exclude>opensymphony:webwork</exclude>
                    <exclude>oscore:oscore</exclude>
                    <exclude>com.intellij:annotations</exclude>
                    <exclude>javax.servlet:servlet-api</exclude>
                    <exclude>javax.activation:activation</exclude>
                    <exclude>javax.mail:mail</exclude>
                    <exclude>com.sun.mail:javax.mail</exclude>
                    <exclude>c3p0:c3p0</exclude>
                    <exclude>javassist:javassist</exclude>
                    <exclude>com.atlassian.sal</exclude>
                    <exclude>velocity:velocity</exclude>
                    <exclude>org.slf4j:slf4j-reload4j</exclude>
                    <exclude>ch.qos.reload4j:reload4j</exclude> <!--it conflicts with log4j-1.2-api-->
                  </excludes>
                  <includes>
                    <include>org.bouncycastle:bcprov-jdk18on</include>
                    <include>org.bouncycastle:bcpkix-jdk18on</include>
                    <include>org.bouncycastle:bcutil-jdk18on</include>
                    <include>com.intellij:annotations:*:*:provided</include>
                    <include>com.atlassian.sal:*:[3.0.7,)</include>
                  </includes>
                </bannedDependencies>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
          <execution>
            <id>enforce-banned-dependencies-google-collections</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <phase>validate</phase>
            <configuration>
              <rules>
                <bannedDependencies>
                  <searchTransitive>true</searchTransitive>
                  <message>Use guava, not google-collections</message>
                  <excludes>
                    <exclude>com.google.collections:google-collections</exclude>
                    <exclude>com.atlassian.bundles:google-collections</exclude>
                    <exclude>org.sonatype.sisu:sisu-guava</exclude>
                  </excludes>
                </bannedDependencies>
              </rules>
            </configuration>
          </execution>
          <execution>
            <id>enforce_spring_scanner_scope</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <phase>validate</phase>
            <configuration>
              <rules>
                <bannedDependencies>
                  <searchTransitive>true</searchTransitive>
                  <message>spring-scanner-runtime 1.x must be 'runtime' scoped in plugins (see CONFDEV-39702); spring-scanner-runtime 2.x must NOT be embedded, should not be depended on at all (see SCANNER-17).</message>
                  <excludes>
                    <exclude>com.atlassian.plugin:atlassian-spring-scanner-runtime</exclude>
                  </excludes>
                  <includes>
                    <!-- The 1.x version is designed to have 'scanner-runtime' embedded inside each plugin,
                         and numerous plugins still have that setup, so we allow that here until everyone stops using 1.x. -->
                    <include>com.atlassian.plugin:atlassian-spring-scanner-runtime:(,2):*:runtime</include>
                    <!-- The 2.x version is used 'provided', should not be compile/runtime in consuming plugins.
                         Really only want 2.0 in bamboo-bundled-plugins itself, other plugins need not depend on it at all, but enforcer can't do that; harmless.
                         'runtime'/'compile' in plugins is definitely banned though. -->
                    <include>com.atlassian.plugin:atlassian-spring-scanner-runtime:[2,):*:provided</include>
                  </includes>
                </bannedDependencies>
                <bannedDependencies>
                  <searchTransitive>true</searchTransitive>
                  <message>spring-scanner-annotations 1.x must be 'compile' scoped in plugins (see CONFDEV-39702); 2.x annotations must be 'provided' scope (see SCANNER-17).</message>
                  <excludes>
                    <exclude>com.atlassian.plugin:atlassian-spring-scanner-annotation</exclude>
                  </excludes>
                  <includes>
                    <!-- The 1.x version allows scanner-annotations to be embedded OR provided - either works.
                         Numerous plugins still have that setup, so we allow that here until everyone stops using 1.x. -->
                    <include>com.atlassian.plugin:atlassian-spring-scanner-annotation:(,2):*:compile</include>
                    <!-- The 2.x version is used 'provided' only, and is shipped as bundled plugins; should not be compile/runtime in consuming plugins. -->
                    <include>com.atlassian.plugin:atlassian-spring-scanner-annotation:[2,):*:provided</include>
                  </includes>
                </bannedDependencies>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <configLocation>resources/checkstyle.xml</configLocation>
          <includeTestSourceDirectory>true</includeTestSourceDirectory>
        </configuration>
      </plugin>

      <plugin>
        <groupId>com.atlassian.maven.plugins</groupId>
        <artifactId>atlassian-source-distribution-maven-plugin</artifactId>
        <version>5.2.4</version>
      </plugin>

      <plugin>
        <inherited>false</inherited>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <phase>validate</phase>
            <configuration>
              <target>
                <mkdir dir=".idea/runConfigurations"/>
                <touch>
                  <fileset dir=".idea/runConfigurations"/>
                </touch>
                <copy overwrite="false" todir=".idea/runConfigurations">
                  <fileset dir="resources/runConfigurations"/>
                </copy>
              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <!-- Needed so that agent jars can be copied into the right location -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
          <webappDirectory>${webapp.directory}</webappDirectory>
        </configuration>
      </plugin>

      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <configuration>
          <!-- use ${session.executionRootDirectory} until https://github.com/spotbugs/spotbugs-maven-plugin/issues/1166 is solved-->
          <!--suppress UnresolvedMavenProperty -->
            <excludeFilterFile>${session.executionRootDirectory}/resources/spotbugs-excludes.xml</excludeFilterFile>
          <!--suppress UnresolvedMavenProperty -->
            <includeFilterFile>${session.executionRootDirectory}/resources/spotbugs-includes.xml</includeFilterFile>
          <xmlOutput>true</xmlOutput>
          <threshold>High</threshold>
          <failOnError>${maven.spotbugs.failOnError}</failOnError>
          <effort>Max</effort>
          <plugins>
            <plugin>
              <groupId>com.h3xstream.findsecbugs</groupId>
              <artifactId>findsecbugs-plugin</artifactId>
              <version>1.14.0</version>
            </plugin>
          </plugins>
        </configuration>
      </plugin>

      <!-- Directory plugin to find parent root directory absolute path -->
      <plugin>
        <groupId>org.commonjava.maven.plugins</groupId>
        <artifactId>directory-maven-plugin</artifactId>
        <version>${directory-maven-plugin.version}</version>
        <executions>
          <execution>
            <id>directories</id>
            <goals>
              <goal>directory-of</goal>
            </goals>
            <phase>initialize</phase>
            <configuration>
              <property>main.basedir</property>
              <project>
                <!-- I need to hardcode top-level POM groupId and artifactId -->
                <groupId>com.atlassian.bamboo</groupId>
                <artifactId>atlassian-bamboo</artifactId>
              </project>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>com.atlassian.maven.extensions</groupId>
        <artifactId>incremental-build-plugin</artifactId>
        <version>0.325</version>
      </plugin>
    </plugins>

    <pluginManagement>
      <plugins>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>3.6.0</version>
          <dependencies>
            <dependency>
              <groupId>com.puppycrawl.tools</groupId>
              <artifactId>checkstyle</artifactId>
              <version>10.25.0</version>
            </dependency>
          </dependencies>
        </plugin>

        <plugin>
          <groupId>com.diffplug.spotless</groupId>
          <artifactId>spotless-maven-plugin</artifactId>
          <version>2.44.5</version>
          <configuration>
            <java>
              <removeUnusedImports>
                <engine>cleanthat-javaparser-unnecessaryimport</engine>
              </removeUnusedImports>
            </java>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>${maven.javadoc.plugin.version}</version>
          <configuration>
            <doclint>none</doclint>
            <additionalOptions>${javadoc.additional.params}</additionalOptions>
            <quiet>true</quiet>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.11.0</version>
          <configuration>
            <inputDirectory>${project.reporting.outputDirectory}/apidocs</inputDirectory>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.4.0</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>${maven.plugins.version.maven-clean-plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${maven.plugins.version.maven-jar-plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-verifier-plugin</artifactId>
          <version>${maven.plugins.version.maven-verifier-plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${surefire.version}</version>
          <configuration>
            <trimStackTrace>false</trimStackTrace>
            <argLine>-Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${project.build.directory} -Dsun.reflect.inflationThreshold=50 ${addopens.unit.tests}</argLine>
            <!--JUnitParams doesn't like 'methods' parallel settings in surefire - https://github.com/Pragmatists/JUnitParams/issues/35-->
            <parallel>classes</parallel>
            <threadCount>4</threadCount>
            <skip>${maven.test.unit.skip}</skip>
            <groups>${maven.test.groups}</groups>
            <excludedGroups>${maven.test.excludedGroups}</excludedGroups>
            <excludes>
              <exclude>it/**/*</exclude>
              <exclude>**/Abstract*</exclude>
              <exclude>**/Mock*</exclude>
              <exclude>**/*$*</exclude>
            </excludes>
          </configuration>
        </plugin>

        <plugin>
          <groupId>com.github.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
          <version>4.9.4.0</version>
          <dependencies>
            <dependency>
              <groupId>com.github.spotbugs</groupId>
              <artifactId>spotbugs</artifactId>
              <version>4.9.4</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>com.atlassian.maven.plugins</groupId>
          <artifactId>aws-maven-plugin</artifactId>
          <version>1.0.97</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.cargo</groupId>
          <artifactId>cargo-maven3-plugin</artifactId>
          <version>${cargo.version}</version>
          <configuration>
            <skip>${maven.test.skip}</skip>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <extensions>true</extensions>
        </plugin>

        <plugin>
          <groupId>com.atlassian.plugin</groupId>
          <artifactId>atlassian-spring-scanner-maven-plugin</artifactId>
          <version>${atlassian.spring.scanner.version}</version>
          <executions>
            <execution>
              <goals>
                <goal>atlassian-spring-scanner</goal>
              </goals>
              <phase>process-classes</phase>
            </execution>
          </executions>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <configuration>
            <goals>license:verify license:bom license:download deploy</goals>
          </configuration>
        </plugin>

        <plugin>
          <groupId>com.atlassian.maven.plugins</groupId>
          <artifactId>amps-maven-plugin</artifactId>
          <version>${amps.version}</version>
          <extensions>true</extensions>
          <configuration>
            <containerId>${amps.containerId}</containerId>
            <extractDependencies>false</extractDependencies>
            <quickReloadVersion>${atlassian.quickreload.version}</quickReloadVersion>
            <devToolboxVersion>${atlassian.devtoolbox.version}</devToolboxVersion>
            <enableQuickReload>true</enableQuickReload>
            <skipITs>${maven.test.it.skip}</skipITs>
            <category>${maven.test.groups}</category>
            <excludedGroups>${maven.test.excludedGroups}</excludedGroups>
            <systemPropertyVariables>
              <xvfb.enable>${xvfb.enable}</xvfb.enable>
              <xvfb.options>${xvfb.options}</xvfb.options>
              <webdriver.browser>${webdriver.browser}</webdriver.browser>
            </systemPropertyVariables>
            <!-- this is how we can override versions of plugins used by AMPS, version specified in pluginManagement -->
            <versionOverrides>
              <versionOverride>maven-surefire-plugin</versionOverride>
            </versionOverrides>
          </configuration>
        </plugin>

        <plugin>
          <groupId>com.atlassian.maven.plugins</groupId>
          <artifactId>amps-dispatcher-maven-plugin</artifactId>
          <version>${amps.version}</version>
        </plugin>

        <plugin>
          <groupId>com.atlassian.maven.plugins</groupId>
          <artifactId>bamboo-maven-plugin</artifactId>
          <version>${amps.version}</version>
          <extensions>true</extensions>
          <configuration>
            <productVersion>${atlassian.product.version}</productVersion>
            <containerId>${amps.containerId}</containerId>
            <extractDependencies>false</extractDependencies>
            <quickReloadVersion>${atlassian.quickreload.version}</quickReloadVersion>
            <devToolboxVersion>${atlassian.devtoolbox.version}</devToolboxVersion>
            <category>${maven.test.groups}</category>
            <excludedGroups>${maven.test.excludedGroups}</excludedGroups>
            <skipAllPrompts>true</skipAllPrompts>
            <skipITs>${maven.test.it.skip}</skipITs>
            <skipRestDocGeneration>${skip.plugins.rest.docs}</skipRestDocGeneration>
            <systemPropertyVariables>
              <cargo.tomcat.uriencoding>UTF-8</cargo.tomcat.uriencoding>
              <xvfb.enable>${xvfb.enable}</xvfb.enable>
              <xvfb.options>${xvfb.options}</xvfb.options>
              <webdriver.browser>${webdriver.browser}</webdriver.browser>
            </systemPropertyVariables>
            <jvmArgs>${bambooServerJvmArgs}</jvmArgs>
            <!-- this is how we can override versions of plugins used by AMPS, version specified in pluginManagement -->
            <versionOverrides>
              <versionOverride>maven-surefire-plugin</versionOverride>
            </versionOverrides>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>com.atlassian.plugins.rest</groupId>
              <artifactId>atlassian-rest-doclet</artifactId>
              <version>7.1.7</version>
              <exclusions>
                <exclusion>
                  <groupId>asm</groupId>
                  <artifactId>asm</artifactId>
                </exclusion>
              </exclusions>
            </dependency>
          </dependencies>
        </plugin>

        <plugin>
          <groupId>org.apache.servicemix.bundles</groupId>
          <artifactId>org.apache.servicemix.bundles.junit</artifactId>
          <version>${junit.version}_${junit.osgi.bundle.version}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin>
          <groupId>com.atlassian.maven.plugins</groupId>
          <artifactId>license-maven-plugin</artifactId>
          <version>1.0.1</version>
          <configuration>
            <nonMavenDependenciesFile>${user.dir}/third-party-licensing/missing-non-maven-dependencies.properties</nonMavenDependenciesFile>
            <licensesDirectory>${thirdpartylicensing.licenses}</licensesDirectory>
            <bomFile>${thirdpartylicensing.bom}</bomFile>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>3.3.0</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>sql-maven-plugin</artifactId>
          <version>1.5</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.22.2</version>
          <configuration>
            <argLine>${addopens.failsafe}</argLine>
            <trimStackTrace>false</trimStackTrace>
          </configuration>
        </plugin>
        <plugin>
          <groupId>com.atlassian.maven.plugins</groupId>
          <artifactId>clover-maven-plugin</artifactId>
          <version>4.1.10.1</version>
        </plugin>
        <plugin>
          <groupId>org.zeroturnaround</groupId>
          <artifactId>jrebel-maven-plugin</artifactId>
          <version>1.1.10</version>
        </plugin>

        <plugin>
          <groupId>com.atlassian.maven.plugins</groupId>
          <artifactId>bamboo-classlist-generator-maven-plugin</artifactId>
          <version>${bamboo.security.classlist.version}</version>
          <configuration>
            <skip>${skipGenerateClasslist}</skip>
          </configuration>
          <executions>
            <execution>
              <id>generate-classlist</id>
              <goals>
                <goal>generate-classlist</goal>
              </goals>
              <phase>prepare-package</phase>
            </execution>
          </executions>
        </plugin>

        <!-- Plugin to generate front-end resources -->
        <plugin>
          <groupId>com.github.eirslett</groupId>
          <artifactId>frontend-maven-plugin</artifactId>
          <version>${frontend-maven-plugin.version}</version>
          <configuration>
            <workingDirectory>${main.basedir}</workingDirectory>
            <installDirectory>${fe.node.installdir}</installDirectory>
            <!-- Keep these in sync with "engines" section in package.json -->
            <nodeVersion>v${node.version}</nodeVersion>
            <npmVersion>${npm.version}</npmVersion>
            <serverId>maven-atlassian-com</serverId>
            <nodeDownloadRoot>https://packages.atlassian.com/artifactory/nodejs-dist/</nodeDownloadRoot>
            <npmDownloadRoot>https://packages.atlassian.com/artifactory/npm-remote/npm/-/</npmDownloadRoot>
          </configuration>
          <executions>
            <execution>
              <id>install-node-and-npm</id>
              <goals>
                <goal>install-node-and-npm</goal>
              </goals>
              <phase>generate-resources</phase>
            </execution>
            <execution>
              <id>npm-install</id>
              <goals>
                <goal>npm</goal>
              </goals>
              <phase>generate-resources</phase>
              <configuration>
                <arguments>ci --verbose --logs-dir=./node/npm-logs --logs-max=32</arguments>
              </configuration>
            </execution>
            <execution>
              <id>generate-resources</id>
              <goals>
                <goal>npm</goal>
              </goals>
              <configuration>
                <arguments>run build --verbose --logs-dir=./node/npm-logs --logs-max=32</arguments>
              </configuration>
            </execution>
          </executions>
        </plugin>

        <plugin>
          <groupId>io.fabric8</groupId>
          <artifactId>docker-maven-plugin</artifactId>
          <version>0.43.4</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>
