<?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>7.0.14</version>
    </parent>

    <groupId>com.atlassian.confluence</groupId>
    <artifactId>confluence-project</artifactId>
    <version>9.2.5</version>
    <packaging>pom</packaging>
    <name>Atlassian Confluence</name>
    <inceptionYear>2003</inceptionYear>

    <modules>
        <module>confluence-api</module>
        <module>confluence-build</module>
        <module>confluence-core</module>
        <module>confluence-licenses</module>
        <module>confluence-not-shippable</module>
        <module>confluence-plugins</module>
        <module>confluence-test</module>
    </modules>

    <scm>
        <connection>scm:git:ssh://git@stash.atlassian.com:7997/CONFSERVER/confluence.git</connection>
        <developerConnection>scm:git:ssh://git@stash.atlassian.com:7997/CONFSERVER/confluence.git</developerConnection>
        <tag>confluence-project-9.2.5</tag>
        <url>https://stash.atlassian.com/projects/CONFSERVER</url>
    </scm>

    <issueManagement>
        <system>Jira</system>
        <url>https://jira.atlassian.com/browse/CONFDEV</url>
    </issueManagement>

    <ciManagement>
        <system>Bamboo</system>
        <url>https://pug.jira-dev.com/wiki/display/CBT/Understanding+our+build+projects</url>
    </ciManagement>

    <distributionManagement>
        <snapshotRepository>
            <id>maven-atlassian-com</id>
            <name>Atlassian Private Snapshot Repository</name>
            <url>https://packages.atlassian.com/maven/private-snapshot</url>
        </snapshotRepository>
    </distributionManagement>

    <properties>
        <afc.version>${confluence.category.ancillary.plugins.version}</afc.version>
        <amps.product.specific.cargo.container>${cargo.containerId}</amps.product.specific.cargo.container>

        <!-- Tell amps what tomcat we want to run -->
        <!--
            <groupId>org.apache.tomcat</groupId>
            <artifactId>${tomcat.artifactId}</artifactId>
            <version>${tomcat.artifact.version}</version>
            <classifier>${tomcat.classifier}</classifier>
        -->
        <amps.product.specific.container>org.apache.tomcat:${tomcat.artifactId}:${tomcat.artifact.version}:${tomcat.classifier}</amps.product.specific.container>

        <amps8.version>9.2.6</amps8.version>
        <ant-contrib.version>1.0b3</ant-contrib.version>

        <ant.version>1.10.15</ant.version>
        <aql.version>5.0.1</aql.version>

        <asm.version>9.5</asm.version>

        <aspectj.version>1.9.22.1</aspectj.version>
        <assertj.version>3.26.3</assertj.version>
        <atlassian-core.version>9.0.0</atlassian-core.version>

        <atlassian-extras.version>3.4.6</atlassian-extras.version>
        <atlassian-h2-server-integration.version>3.0.3</atlassian-h2-server-integration.version>
        <atlassian-image-consumer.version>1.0.1</atlassian-image-consumer.version>
        <atlassian-jdk-utilities.version>0.6</atlassian-jdk-utilities.version>
        <atlassian-logging.version>4.0.1</atlassian-logging.version>
        <atlassian-mail.version>7.0.7</atlassian-mail.version>
        <!-- end of platform dependencies -->

        <!-- bundled plugin versions not yet in platform -->
        <atlassian-monitoring-and-alerting.version>1.2.6</atlassian-monitoring-and-alerting.version>
        <atlassian-nav-links.version>9.0.7</atlassian-nav-links.version>
        <atlassian-oauth2.version>4.2.8</atlassian-oauth2.version>
        <atlassian-secrets.version>5.0.12</atlassian-secrets.version>
        <atlassian-soy.version>6.0.8</atlassian-soy.version>
        <atlassian-tenancy.version>4.0.1</atlassian-tenancy.version>
        <atlassian-test-categories.version>0.5</atlassian-test-categories.version>
        <atlassian-troubleshooting-and-support-tools.version>2.8.1</atlassian-troubleshooting-and-support-tools.version>
        <atlassian-vcache.version>2.0.0</atlassian-vcache.version>
        <atlassian.antisamy.version>1.6.8-atlassian-13</atlassian.antisamy.version>
        <atlassian.audit.version>2.0.0</atlassian.audit.version>
        <atlassian.bot-killer.version>1.7.12</atlassian.bot-killer.version>
        <atlassian.browsers.version>3.2.2</atlassian.browsers.version>
        <atlassian.graphql.version>3.0.2</atlassian.graphql.version>
        <atlassian.gzipfilter.version>3.0.3</atlassian.gzipfilter.version>
        <atlassian.help-tips.version>3.0.1</atlassian.help-tips.version>
        <atlassian.hibernate.extras.version>7.0.1</atlassian.hibernate.extras.version>
        <atlassian.html.encoder.version>1.5</atlassian.html.encoder.version>
        <atlassian.instrumentation.version>4.0.2</atlassian.instrumentation.version>
        <atlassian.ip.version>3.1</atlassian.ip.version>
        <atlassian.jwt.version>3.3.4</atlassian.jwt.version>
        <atlassian.keyboard.shortcuts.version>5.0.3</atlassian.keyboard.shortcuts.version>
        <atlassian.less.version>6.1.7</atlassian.less.version>
        <atlassian.localhost.version>1.2.0</atlassian.localhost.version>
        <atlassian.one-source-of-truth.version>1.5</atlassian.one-source-of-truth.version>
        <atlassian.osgi.javaconfig.version>0.6.0</atlassian.osgi.javaconfig.version>
        <atlassian.ozymandias.version>1.0.0</atlassian.ozymandias.version>
        <atlassian.playbook.blueprints.version>${confluence.category.content.plugins.version}</atlassian.playbook.blueprints.version>

        <atlassian.plugins.jquery.version>3.7.1.2</atlassian.plugins.jquery.version>
        <atlassian.selenium.and.webdriver.version>3.3.3</atlassian.selenium.and.webdriver.version>
        <atlassian.share-page.version>${confluence.category.frontend.plugins.version}</atlassian.share-page.version>
        <atlassian.spring.interceptor.adapter.version>2.0.0</atlassian.spring.interceptor.adapter.version>
        <atlassian.spring.scanner.version>5.1.0</atlassian.spring.scanner.version>
        <atlassian.spring.version>3.0.2</atlassian.spring.version>
        <atlassian.struts-support.version>4.1.0</atlassian.struts-support.version>
        <atlassian.struts.version>${struts.version}-atlassian-1</atlassian.struts.version>
        <atlassian.team.calendars.version>${confluence.category.jira.integration.plugins.version}</atlassian.team.calendars.version>
        <atlassian.test.annotations.version>2.8</atlassian.test.annotations.version>
        <atlassian.theme.version>2.0.0</atlassian.theme.version>
        <atlassian.user.version>3.0.3</atlassian.user.version>
        <avatar-plugin.version>3.0.0</avatar-plugin.version>
        <!-- /frontend -->
        <awaitility.version>4.2.2</awaitility.version>
        <axis-soap-plugin.version>${confluence.category.ancillary.plugins.version}</axis-soap-plugin.version>
        <axis.version>1.2.1</axis.version>
        <bandana.version>3.1</bandana.version>
        <batik.version>1.17</batik.version>
        <bcel.version>6.2</bcel.version>
        <bloggingrpc.version>5.0.4</bloggingrpc.version>
        <bonnie.version>8.2.3</bonnie.version>
        <brave.version>5.18.1</brave.version>
        <bundled.synchrony.version>6.1.1</bundled.synchrony.version>
        <business-blueprints.version>${confluence.category.public.plugins.version}</business-blueprints.version>
        <cache-analytics.plugin.version>${confluence.category.ancillary.plugins.version}</cache-analytics.plugin.version>
        <cache.management.version>${confluence.category.ancillary.plugins.version}</cache.management.version>
        <cargo.containerId>tomcat9x</cargo.containerId>

        <cargo.timeout>1200000</cargo.timeout>
        <!-- Set default timeout to 20 minutes -->
        <cargo.timeout.large>${cargo.timeout}</cargo.timeout.large>
        <cargo.version>1.7.16</cargo.version>
        <cglib.version>3.2.12</cglib.version>
        <chart.version>${confluence.category.public.plugins.version}</chart.version>
        <checkstyle.version>10.12.4</checkstyle.version>
        <clientside-extensions-discovery.version>${confluence.category.frontend.plugins.version}</clientside-extensions-discovery.version>
        <collaborative-editor-feedback.version>${confluence.category.content.plugins.version}</collaborative-editor-feedback.version>
        <collaborative-editor.version>${confluence.category.content.plugins.version}</collaborative-editor.version>
        <com.sun.xml.ws.version>2.3.5</com.sun.xml.ws.version>

        <commons-lang3.version>3.17.0</commons-lang3.version>
        <commons.beanutils.version>1.9.4</commons.beanutils.version>
        <commons.collections4.version>4.4</commons.collections4.version>
        <commons.compress.version>1.27.1</commons.compress.version>
        <commons.discovery.version>0.5</commons.discovery.version>

        <commons.httpclient.version>3.1-atlassian-2</commons.httpclient.version>
        <commons.lang.version>2.6</commons.lang.version>
        <commons.logging.version>1.1.3</commons.logging.version>
        <!-- Version implemented by jcl-over-slf4j, exported -->
        <commons.math3.version>3.6.1</commons.math3.version>
        <commons.validator.version>1.9.0</commons.validator.version>
        <confcore.spring-test.version>5.3.39-atlassian-4</confcore.spring-test.version>
        <confcore.spring.version>6.1.14</confcore.spring.version>
        <confluence-advanced-macros.version>${confluence.category.content.plugins.version}</confluence-advanced-macros.version>
        <confluence-attachment-extractors.version>${confluence.category.public.plugins.version}</confluence-attachment-extractors.version>
        <confluence-attachments-plugin.version>${confluence.category.public.plugins.version}</confluence-attachments-plugin.version>
        <confluence-auditing-coverage.version>${confluence.category.ancillary.plugins.version}</confluence-auditing-coverage.version>
        <confluence-backup-and-restore-ui.version>${confluence.category.frontend.plugins.version}</confluence-backup-and-restore-ui.version>
        <confluence-baseurl.version>${confluence.category.ancillary.plugins.version}</confluence-baseurl.version>
        <confluence-basic-macros.version>${confluence.category.public.plugins.version}</confluence-basic-macros.version>
        <confluence-copy-space.version>${confluence.category.frontend.plugins.version}</confluence-copy-space.version>
        <confluence-dashboard.version>${confluence.category.frontend.plugins.version}</confluence-dashboard.version>
        <confluence-default-space-content-plugin.version>${confluence.category.content.plugins.version}</confluence-default-space-content-plugin.version>
        <confluence-denormalised-permissions.version>${confluence.category.frontend.plugins.version}</confluence-denormalised-permissions.version>
        <confluence-drag-and-drop.version>${confluence.category.content.plugins.version}</confluence-drag-and-drop.version>
        <confluence-editor.version>${confluence.category.content.plugins.version}</confluence-editor.version>
        <confluence-emoticons.version>${confluence.category.content.plugins.version}</confluence-emoticons.version>
        <confluence-extractor-api.version>2.1.0</confluence-extractor-api.version>
        <confluence-feedback.version>${confluence.category.ancillary.plugins.version}</confluence-feedback.version>
        <confluence-file-notifications.version>${confluence.category.ancillary.plugins.version}</confluence-file-notifications.version>
        <confluence-files.version>${confluence.category.ancillary.plugins.version}</confluence-files.version>
        <confluence-fixed-headers.version>${confluence.category.frontend.plugins.version}</confluence-fixed-headers.version>
        <confluence-icons.version>${confluence.category.ancillary.plugins.version}</confluence-icons.version>
        <confluence-jira-plugin.version>${confluence.category.jira.integration.plugins.version}</confluence-jira-plugin.version>

        <confluence-knowledge-base.version>5.0.9</confluence-knowledge-base.version>

        <confluence-notifications.version>${confluence.category.ancillary.plugins.version}</confluence-notifications.version>
        <confluence-onboarding.version>${confluence.category.frontend.plugins.version}</confluence-onboarding.version>
        <confluence-page-tree.version>${confluence.category.public.plugins.version}</confluence-page-tree.version>
        <confluence-periodic-analytics-events.version>${confluence.category.ancillary.plugins.version}</confluence-periodic-analytics-events.version>
        <confluence-previews.version>${confluence.category.ancillary.plugins.version}</confluence-previews.version>
        <confluence-pulp.version>${confluence.category.frontend.plugins.version}</confluence-pulp.version>
        <confluence-rebuild-index.version>${confluence.category.frontend.plugins.version}</confluence-rebuild-index.version>
        <confluence-retention-rules.version>${confluence.category.frontend.plugins.version}</confluence-retention-rules.version>
        <confluence-roadmap-plugin.version>${confluence.category.public.plugins.version}</confluence-roadmap-plugin.version>
        <confluence-search-ui-plugin.version>${confluence.category.ancillary.plugins.version}</confluence-search-ui-plugin.version>
        <confluence-stateless-test-runner.version>9.1.1</confluence-stateless-test-runner.version>
        <confluence-sticky-table-headers.version>${confluence.category.frontend.plugins.version}</confluence-sticky-table-headers.version>
        <confluence-test-utils.version>15.0.12</confluence-test-utils.version>
        <confluence-view-file-macro.version>${confluence.category.ancillary.plugins.version}</confluence-view-file-macro.version>
        <confluence-view-storage-format.version>${confluence.category.frontend.plugins.version}</confluence-view-storage-format.version>
        <confluence-webdriver-pageobjects.version>13.0.2</confluence-webdriver-pageobjects.version>
        <confluence-webhooks.version>${confluence.category.frontend.plugins.version}</confluence-webhooks.version>
        <confluence.avatar-plugin.version>3.0.0</confluence.avatar-plugin.version>
        <confluence.browser-metrics.version>${confluence.category.ancillary.plugins.version}</confluence.browser-metrics.version>
        <confluence.build.excluded.locale />

        <!-- Refer to below link and make sure the list is updated when you add upgrade tasks
            https://extranet.atlassian.com/display/CONFSERVER/List+of+upgrade+tasks+in+Confluence+Server -->
        <confluence.build.number>9109</confluence.build.number>
        <confluence.build.partner />

        <!-- Confluence Ancillary Plugins monorepo -->
        <confluence.category.ancillary.plugins.version>19.2.24</confluence.category.ancillary.plugins.version>
        <!-- Confluence Content Plugins monorepo -->
        <confluence.category.content.plugins.version>19.2.10</confluence.category.content.plugins.version>
        <!-- Confluence Frontend Plugins monorepo -->
        <confluence.category.frontend.plugins.version>19.2.18</confluence.category.frontend.plugins.version>
        <!-- Confluence Jira Integration Plugins monorepo -->
        <confluence.category.jira.integration.plugins.version>19.2.21</confluence.category.jira.integration.plugins.version>
        <!-- Confluence Public/OpenSource Atlassian licensed Plugins monorepo -->
        <confluence.category.public.plugins.version>19.2.15</confluence.category.public.plugins.version>

        <confluence.custom.favicon.version>${confluence.category.ancillary.plugins.version}</confluence.custom.favicon.version>

        <!-- Conversion libraries -->
        <confluence.document.conversion.library.version>${confluence.category.ancillary.plugins.version}</confluence.document.conversion.library.version>

        <confluence.functestlib.version>2.13.4</confluence.functestlib.version>
        <confluence.gadgets.version>${confluence.category.ancillary.plugins.version}</confluence.gadgets.version>
        <confluence.language.chinese.version>${confluence.language.pack.smartling.version}</confluence.language.chinese.version>
        <confluence.language.czech.version>${confluence.language.pack.smartling.version}</confluence.language.czech.version>
        <confluence.language.danish.version>${confluence.language.pack.smartling.version}</confluence.language.danish.version>
        <confluence.language.dutch.version>${confluence.language.pack.smartling.version}</confluence.language.dutch.version>
        <confluence.language.estonian.version>${confluence.legacy.language.pack.version}</confluence.language.estonian.version>
        <confluence.language.finnish.version>${confluence.language.pack.smartling.version}</confluence.language.finnish.version>
        <confluence.language.french.version>${confluence.language.pack.smartling.version}</confluence.language.french.version>
        <confluence.language.german.version>${confluence.language.pack.smartling.version}</confluence.language.german.version>
        <confluence.language.hungary.version>${confluence.language.pack.smartling.version}</confluence.language.hungary.version>
        <confluence.language.icelandic.version>${confluence.legacy.language.pack.version}</confluence.language.icelandic.version>
        <confluence.language.italian.version>${confluence.language.pack.smartling.version}</confluence.language.italian.version>
        <confluence.language.japanese.version>${confluence.language.pack.smartling.version}</confluence.language.japanese.version>
        <confluence.language.korean.version>${confluence.language.pack.smartling.version}</confluence.language.korean.version>
        <confluence.language.norwegian.version>${confluence.language.pack.smartling.version}</confluence.language.norwegian.version>

        <!-- Language packs -->
        <!--
            9.0 contains language pack versioned as 9.1.0 as we discovered missing strings and needed to create
            a second new pack after already completing prior steps in the process
        -->
        <confluence.language.pack.smartling.version>9.2.0.rc1-20241128223706</confluence.language.pack.smartling.version>
        <confluence.language.polish.version>${confluence.language.pack.smartling.version}</confluence.language.polish.version>
        <confluence.language.portuguese.version>${confluence.language.pack.smartling.version}</confluence.language.portuguese.version>
        <confluence.language.romanian.version>${confluence.legacy.language.pack.version}</confluence.language.romanian.version>
        <confluence.language.russian.version>${confluence.language.pack.smartling.version}</confluence.language.russian.version>
        <confluence.language.slovak.version>${confluence.legacy.language.pack.version}</confluence.language.slovak.version>
        <confluence.language.spanish.version>${confluence.language.pack.smartling.version}</confluence.language.spanish.version>
        <confluence.language.swedish.version>${confluence.language.pack.smartling.version}</confluence.language.swedish.version>
        <confluence.language.us.version>${confluence.language.pack.smartling.version}</confluence.language.us.version>

        <!-- No longer supported language versions, these use the previous language packs -->
        <confluence.legacy.language.pack.version>7.7.0.rc1-20200813063742</confluence.legacy.language.pack.version>
        <confluence.mail-archiving.version>${confluence.category.ancillary.plugins.version}</confluence.mail-archiving.version>

        <!-- Marketplace build is unique id for our marketplace application that is used to publish
        application's metadata (links etc.). We used to use "confluence.build.number" for this purpose
        in the past, which is wrong, because "confluence.build.number" indicates whether confluence upgrade
        tasks are required to run.-->
        <confluence.marketplace.build.number>21730</confluence.marketplace.build.number>
        <confluence.maven-enforcer-rules.version>1.0.5</confluence.maven-enforcer-rules.version>
        <confluence.mentions.version>${confluence.category.content.plugins.version}</confluence.mentions.version>
        <confluence.mobile.plugin.version>${confluence.category.ancillary.plugins.version}</confluence.mobile.plugin.version>
        <confluence.mobile.web.version>${confluence.category.frontend.plugins.version}</confluence.mobile.web.version>
        <confluence.pdfexport.version>${confluence.category.ancillary.plugins.version}</confluence.pdfexport.version>

        <confluence.project.bndlib.version>3.5.0</confluence.project.bndlib.version>
        <confluence.software.blueprints.version>${confluence.category.jira.integration.plugins.version}</confluence.software.blueprints.version>
        <confluence.software.project.version>${confluence.category.jira.integration.plugins.version}</confluence.software.project.version>
        <confluence.ui.components.version>${confluence.category.frontend.plugins.version}</confluence.ui.components.version>
        <confluence.whats-new.version>${confluence.category.frontend.plugins.version}</confluence.whats-new.version>
        <confluence.xmlrpc.client.version>0.9.8</confluence.xmlrpc.client.version>

        <!-- Minimum Confluence version that is ZDU compatible with the current version -->
        <confluence.zdu.minVersion>9.1.0</confluence.zdu.minVersion>
        <!-- The functest plugins version used must be compatible with all the versions of Confluence that we are testing -->
        <confluence.zdu.tests.functest.plugins.version>${confluence.zdu.tests.productBaseVersion}</confluence.zdu.tests.functest.plugins.version>
        <!-- The version to run as the older node when we are running ZDU integration tests -->
        <confluence.zdu.tests.productBaseVersion>9.1.2-m01</confluence.zdu.tests.productBaseVersion>
        <content-report-plugin.version>${confluence.category.content.plugins.version}</content-report-plugin.version>
        <contributors.version>${confluence.category.content.plugins.version}</contributors.version>
        <cql.version>${confluence.category.ancillary.plugins.version}</cql.version>
        <create.content.version>${confluence.category.public.plugins.version}</create.content.version>
        <crowd-admin-plugin.version>6.0.2</crowd-admin-plugin.version>

        <crowd.cargo.containerId>tomcat8x</crowd.cargo.containerId>
        <crowd.tomcat.artifactId>apache-tomcat</crowd.tomcat.artifactId>
        <crowd.tomcat.classifier>windows-x64</crowd.tomcat.classifier>
        <crowd.tomcat.version>8.5.43-atlassian-hosted</crowd.tomcat.version>

        <crowd.version>6.0.8</crowd.version>
        <cssparser.version>0.9.30</cssparser.version>

        <!-- Integration Platform Dependencies -->
        <ctk.plugin.version>6.0.2@platform_6.0.4</ctk.plugin.version>
        <daily-summary.version>${confluence.category.ancillary.plugins.version}</daily-summary.version>
        <datacenter-filestore.version>0.8.9</datacenter-filestore.version>
        <diagnostics.version>4.0.0</diagnostics.version>
        <dialog-wizard.version>${confluence.category.content.plugins.version}</dialog-wizard.version>

        <!-- provided by Bamboo -->
        <display.version>${project.version}</display.version>

        <docker-maven-plugin.version>0.43.4</docker-maven-plugin.version>
        <document.conversion.library.version>2.8.2</document.conversion.library.version>
        <dynamic-tasklist.version>${confluence.category.content.plugins.version}</dynamic-tasklist.version>
        <email.tracker.version>${confluence.category.ancillary.plugins.version}</email.tracker.version>
        <error.prone.version>2.22.0</error.prone.version>
        <expand-macro.version>${confluence.category.content.plugins.version}</expand-macro.version>
        <!-- Used to set forkCount at maven-failsafe-plugin. Default 1 as we don't run integration tests in parallel -->
        <failsafe.forkCount>1</failsafe.forkCount>
        <fasterxml.jackson.databind.version>${fasterxml.jackson.version}</fasterxml.jackson.databind.version>
        <fasterxml.jackson.version>2.17.0</fasterxml.jackson.version>
        <feature.discovery.version>${confluence.category.content.plugins.version}</feature.discovery.version>
        <findbugs.version>3.0.1</findbugs.version>
        <flaky-test-reporter.version>3.2.2</flaky-test-reporter.version>
        <!-- This should be the same as the version of Guava managed by the platform POM -->
        <fp.version>3.0.1</fp.version>

        <future-converter.version>1.2.0</future-converter.version>
        <gatekeeper-plugin.version>${confluence.category.ancillary.plugins.version}</gatekeeper-plugin.version>

        <!--
            This is the value the org.codehaus.mojo:buildnumber-maven-plugin:create mojo
            will fall back to if the SHA-1 could not be retrieved, i.e.
            "/bin/sh -c cd ${basedir} && git show" returned with $? != 0. Reasons could be
            that git is not on the $PATH, so 127 would be returned. The value may not be blank.
        -->
        <git.commit.hash.unknown>UNKNOWN</git.commit.hash.unknown>
        <glassfish.jakarta.json.version>1.1.6</glassfish.jakarta.json.version>
        <global.chrome.profile.version>76.0.3809.68</global.chrome.profile.version>

        <global.chrome.version>76.0.3809.100</global.chrome.version>
        <global.firefox.profile.version>92.0.1</global.firefox.profile.version>

        <global.firefox.version>92.0.1</global.firefox.version>
        <google.guice.version>5.1.0</google.guice.version>
        <graphql.version>20.9</graphql.version>
        <guava.version>33.2.1-jre</guava.version>
        <h2.version>1.4.200</h2.version>
        <hamcrest.version>2.2</hamcrest.version>
        <hazelcast-aws.version>2.5-atlassian-1</hazelcast-aws.version>
        <hazelcast-kubernetes.version>1.5.5</hazelcast-kubernetes.version>
        <hazelcast.extras.version>5.0.0</hazelcast.extras.version>
        <hazelcast.hibernate.version>5.1.0</hazelcast.hibernate.version>
        <hazelcast.version>5.3.6</hazelcast.version>

        <hello-blueprint.version>${confluence.category.public.plugins.version}</hello-blueprint.version>
        <hibernate-validator.version>6.2.5.Final</hibernate-validator.version>
        <highlight-actions.version>${confluence.category.frontend.plugins.version}</highlight-actions.version>
        <hikaricp.version>5.0.1</hikaricp.version>
        <hipchat-emoticons.version>3.3.1</hipchat-emoticons.version>
        <hipchat-integration.version>8.5.8</hipchat-integration.version>
        <hsqldb.version>2.7.3</hsqldb.version>
        <html-macros.version>${confluence.category.public.plugins.version}</html-macros.version>
        <htmlunit-cssparser.version>1.5.0</htmlunit-cssparser.version>
        <htmlunit.version>2.38.0</htmlunit.version>
        <httpcomponents.httpclient.version>4.5.14</httpcomponents.httpclient.version>
        <httpcomponents.httpclient5.version>5.2.1</httpcomponents.httpclient5.version>
        <httpcomponents.httpcore.version>4.4.16</httpcomponents.httpcore.version>
        <httpcomponents.httpcore5.version>5.2.3</httpcomponents.httpcore5.version>

        <icu4j.version>73.2</icu4j.version>
        <image-effects.version>${confluence.category.ancillary.plugins.version}</image-effects.version>
        <inbound-email.version>${confluence.category.ancillary.plugins.version}</inbound-email.version>
        <information-plugin.version>${confluence.category.public.plugins.version}</information-plugin.version>
        <inline-comments.version>${confluence.category.content.plugins.version}</inline-comments.version>
        <inline-task.version>${confluence.category.content.plugins.version}</inline-task.version>
        <itCoverageAgent />

        <!-- The OSGi package versions of jersey and javax.ws.rs in Export-Package from atlassian-rest-module,
             hence available to plugins. Note confluence core has a separate private version of jersey. -->
        <jackson.atlassian-rest.osgi.version>1.9.14.atlassian-6</jackson.atlassian-rest.osgi.version>
        <jackson1.version>1.9.14-atlassian-6</jackson1.version>
        <jackson2.atlassian-rest.osgi.version>${fasterxml.jackson.version}</jackson2.atlassian-rest.osgi.version>
        <jacoco.it.argLine />
        <jacoco.it.exec>jacoco-it.exec</jacoco.it.exec>

        <jai.version>1.1.3</jai.version>
        <jakarta.activation.version>1.2.2</jakarta.activation.version>
        <jakarta.annotation.version>1.3.5</jakarta.annotation.version>
        <jakarta.inject-api2.version>2.0.1</jakarta.inject-api2.version>
        <jakarta.inject.version>1.0.5</jakarta.inject.version>
        <jakarta.jaxb.version>2.3.3</jakarta.jaxb.version>
        <jakarta.json.version>1.1.6</jakarta.json.version>
        <jakarta.mail.version>1.6.7</jakarta.mail.version>
        <jakarta.persistence-api.version>2.2.3</jakarta.persistence-api.version>
        <jakarta.persistence-api3.version>3.0.0</jakarta.persistence-api3.version>
        <jakarta.regexp.version>1.4</jakarta.regexp.version>
        <jakarta.servlet-api.version>4.0.4</jakarta.servlet-api.version>
        <jakarta.servlet-api5.version>5.0.0</jakarta.servlet-api5.version>
        <jakarta.servlet.jsp-api.version>2.3.6</jakarta.servlet.jsp-api.version>
        <jakarta.servlet.jsp-api5.version>3.0.0</jakarta.servlet.jsp-api5.version>
        <jakarta.transaction.version>2.0.1</jakarta.transaction.version>
        <jakarta.validation-api.version>2.0.2</jakarta.validation-api.version>
        <jakarta.ws.rs-api.version>2.1.6</jakarta.ws.rs-api.version>
        <jakarta.ws.rs.version>2.1.6</jakarta.ws.rs.version>
        <jakarta.xml.ws.version>2.3.3</jakarta.xml.ws.version>
        <java.ws2.version>2.1.6</java.ws2.version>
        <java11-objectfilter.version>1.0.2</java11-objectfilter.version>

        <javadoc.version>3.2.0</javadoc.version>
        <javassist.version>3.24.0-GA</javassist.version>
        <javax.activation.version>1.2.0</javax.activation.version>
        <javax.annotation.version>1.3.2</javax.annotation.version>
        <javax.inject.version>1</javax.inject.version>
        <javax.json.version>1.1.4</javax.json.version>
        <javax.mail.version>${jakarta.mail.version}</javax.mail.version>
        <javax.persistence-api.version>2.2</javax.persistence-api.version>

        <javax.servlet-api.version>4.0.1</javax.servlet-api.version>
        <javax.servlet.jsp-api.version>2.3.3</javax.servlet.jsp-api.version>
        <javax.transaction.version>1.2</javax.transaction.version>
        <javax.ws.rs.version>1.1.1</javax.ws.rs.version>
        <javax.xml.ws.version>2.3.1</javax.xml.ws.version>
        <jax-rs.atlassian-rest.osgi.version>${javax.ws.rs.version}</jax-rs.atlassian-rest.osgi.version>
        <jax-rs2.atlassian-rest.osgi.version>${java.ws2.version}</jax-rs2.atlassian-rest.osgi.version>

        <jaxb.version>2.3.1</jaxb.version>
        <jaxen.version>1.1.6</jaxen.version>

        <jaxrs.libversion>1.1.1</jaxrs.libversion>

        <jcaptcha.version>2.0.0</jcaptcha.version>

        <jdbc.jtds.driver.version>1.3.1</jdbc.jtds.driver.version>
        <jdbc.mysql.driver.version>9.1.0</jdbc.mysql.driver.version>
        <jdbc.oracle.driver.artifactId>ojdbc11</jdbc.oracle.driver.artifactId>
        <jdbc.oracle.driver.groupId>com.oracle.database.jdbc</jdbc.oracle.driver.groupId>
        <jdbc.oracle.driver.version>23.6.0.24.10</jdbc.oracle.driver.version>
        <jdbc.postgresql.driver.version>42.7.4</jdbc.postgresql.driver.version>
        <jdbc.sqlserver.driver.version>12.8.1.jre11</jdbc.sqlserver.driver.version>
        <jersey-restdoc.version>1.0.3</jersey-restdoc.version>
        <jersey1.version>1.19.5-atlassian-17</jersey1.version>
        <jetty.version>9.4.51.v20230217</jetty.version>
        <jira-content.version>${confluence.category.jira.integration.plugins.version}</jira-content.version>
        <jira-integration-plugin.version>10.0.5</jira-integration-plugin.version>
        <jira-metadata.version>${confluence.category.jira.integration.plugins.version}</jira-metadata.version>

        <jira.cargo.containerId>tomcat8x</jira.cargo.containerId>
        <jira.tomcat.artifactId>apache-tomcat</jira.tomcat.artifactId>
        <jira.tomcat.classifier>windows-x64</jira.tomcat.classifier>
        <jira.tomcat.version>8.0.53-atlassian-hosted</jira.tomcat.version>

        <jna.version>5.14.0</jna.version>

        <joda-time.version>2.12.5</joda-time.version>
        <johnson.version>5.0.0</johnson.version>
        <jpos.macro.version>1.3.14</jpos.macro.version>
        <json-rpc.version>${confluence.category.ancillary.plugins.version}</json-rpc.version>
        <json.smart.version>2.5.2</json.smart.version>
        <json.version>20231013</json.version>
        <junit.version>4.13.2</junit.version>
        <jvm.debug.suspend>n</jvm.debug.suspend>
        <jwebunit.confluence.version>4.0.1</jwebunit.confluence.version>
        <jwebunit.version>3.4-atlassian-6</jwebunit.version>

        <!-- Default browser language detection settings -->
        <languageoverride>true</languageoverride>
        <layout.version>${confluence.category.public.plugins.version}</layout.version>
        <legacy.netty.version>3.10.6.Final</legacy.netty.version>
        <license-banner.version>${confluence.category.frontend.plugins.version}</license-banner.version>

        <license-maven-plugin.version>2.0.0</license-maven-plugin.version>
        <livesearch.version>${confluence.category.public.plugins.version}</livesearch.version>

        <localstack.version>0.2.23</localstack.version>
        <log4j.version>2.19.0</log4j.version>
        <lucene.version>4.4.0-atlassian-12</lucene.version>
        <macro-usage-admin.version>${confluence.category.ancillary.plugins.version}</macro-usage-admin.version>
        <marshalling.jdk.version>1.1.0</marshalling.jdk.version>
        <marshalling.protobuf.version>1.0.0</marshalling.protobuf.version>
        <masterdetail.plugin.version>${confluence.category.content.plugins.version}</masterdetail.plugin.version>

        <maven-bundle-plugin.version>3.5.1</maven-bundle-plugin.version>
        <maven-enforcer.version>3.0.0-atlassian-m01</maven-enforcer.version>

        <!-- confluence build -->
        <maven.profiling.product>CONFLUENCE_SERVER</maven.profiling.product>
        <!--suppress UnresolvedMavenProperty -->
        <maven.test.acceptance.skip>${maven.test.skip}</maven.test.acceptance.skip>
        <!--suppress UnresolvedMavenProperty -->
        <maven.test.it.skip>${maven.test.skip}</maven.test.it.skip>

        <!-- skipping tests ? -->
        <!--suppress UnresolvedMavenProperty -->
        <maven.test.unit.skip>${maven.test.skip}</maven.test.unit.skip>

        <metrics.sql.version>3.1.0-atlassian-4</metrics.sql.version>
        <migration-agent-plugin.version>3.11.12</migration-agent-plugin.version>

        <!-- TODO CONFDEV-29539: This is forked for compatibility with Java 6. Once we're building under 7+,
             we can go back to upstream versions. -->
        <minify.maven.plugin.version>1.7.4.atlassian.2</minify.maven.plugin.version>
        <mockito.version>5.13.0</mockito.version>
        <mockserver.version>5.15.0</mockserver.version>
        <modz.detector.version>1.1.0</modz.detector.version>
        <multimedia.version>${confluence.category.content.plugins.version}</multimedia.version>

        <!-- If you change the Workday version, please update AbstractUpgradeManager#getPluginExportCompatibility()
             and SiteImportAcceptanceTest#testBackwardCompatibleVersionsMatch() -->
        <mywork.version>${confluence.category.jira.integration.plugins.version}</mywork.version>
        <neko-html-support.version>1.1</neko-html-support.version>
        <neko-htmlunit.version>3.11.1</neko-htmlunit.version>

        <nekohtml.version>1.9.22-atlassian-5</nekohtml.version>
        <netty.version>4.1.118.Final</netty.version>
        <newcode-macro.version>${confluence.category.public.plugins.version}</newcode-macro.version>
        <nimbus.jose.jwt.version>9.37.3</nimbus.jose.jwt.version>
        <notifications.version>8.0.13</notifications.version>
        <npm.build.skip>false</npm.build.skip>
        <!-- frontend -->
        <npm.cmd>${maven.multiModuleProjectDirectory}/scripts/npm.sh</npm.cmd>
        <npm.install.skip>false</npm.install.skip>
        <!--suppress UnresolvedMavenProperty -->
        <npm.test.skip>${maven.test.skip}</npm.test.skip>
        <objenesis.version>3.0.1</objenesis.version>
        <officeconnector.version>${confluence.category.ancillary.plugins.version}</officeconnector.version>

        <!-- Use Tomcat 9 for oldconf, overrides set in confluence-multi-test for upgrade profiles -->
        <old.cargo.containerId>tomcat9x</old.cargo.containerId>
        <old.tomcat.artifactId>apache-tomcat</old.tomcat.artifactId>
        <old.tomcat.classifier>windows-x86</old.tomcat.classifier>
        <old.tomcat.version>9.0.105-atlassian-hosted</old.tomcat.version>
        <openrewrite.recipe.version>2.12.0</openrewrite.recipe.version>
        <openrewrite.version>5.30.0</openrewrite.version>
        <opensearch-testcontainers.version>2.0.0</opensearch-testcontainers.version>
        <opensearch.java.version>2.10.3</opensearch.java.version>
        <opentest4j.version>1.3.0</opentest4j.version>
        <org.hibernate.version>5.6.15.Final</org.hibernate.version>
        <org.json.osgi.version>${json.version}.0.0</org.json.osgi.version>
        <page-banner.version>${confluence.category.frontend.plugins.version}</page-banner.version>
        <page-hierarchy.version>${confluence.category.frontend.plugins.version}</page-hierarchy.version>
        <password.cipher.custom.version>1.1.0</password.cipher.custom.version>
        <pdfbox.version>2.0.34</pdfbox.version>
        <personal.access.tokens.version>2.0.11</personal.access.tokens.version>

        <platform.dependencies.version>7.2.18</platform.dependencies.version>
        <plugin.testutils.version>1.0.6</plugin.testutils.version>
        <profile.picture.version>${confluence.category.public.plugins.version}</profile.picture.version>
        <!-- Used to execute platform-ctk. Should be compatible with Platform POM version -->
        <project-creation.plugin.version>6.0.1</project-creation.plugin.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <protobuf.version>3.19.6</protobuf.version>

        <quickreload.version>5.0.8</quickreload.version>
        <recently.viewed.version>${confluence.category.frontend.plugins.version}</recently.viewed.version>

        <record.startup.errors>true</record.startup.errors>
        <!-- Keep reflections compatible with Guava 18.0 in tests -->
        <reflections.test.version>0.9.10</reflections.test.version>
        <reflections.version>0.9.11</reflections.version>
        <release.plugin.extraArguments />
        <release.plugin.goals>license:bom license:download deploy</release.plugin.goals>
        <release.plugin.perform.profiles>release,third-party-licensing</release.plugin.perform.profiles>
        <release.plugin.preparation.goals>clean</release.plugin.preparation.goals>
        <!-- Due to http://jira.codehaus.org/browse/MRELEASE-459, we are adding the profiles to release:prepare as well
                As we've already did the clean install previously, it's safe to skip the install -->
        <release.plugin.trigger.userName />
        <remote.page.view.version>2.1.15</remote.page.view.version>
        <!-- keep in sync with confluence-distribution -->
        <renderer-legacy.version>6.4.2</renderer-legacy.version>
        <request.access.version>${confluence.category.frontend.plugins.version}</request.access.version>
        <resilience4j.version>2.2.0</resilience4j.version>
        <rest.assured.version>4.4.0</rest.assured.version>

        <rest.doc.generation.skip>true</rest.doc.generation.skip>
        <restore-unknown-attachments.version>${confluence.category.ancillary.plugins.version}</restore-unknown-attachments.version>

        <!-- It is ABSOLUTELY VITAL that if you upgrade the REST plugin, you make sure the jersey1.version
             below matches the version expected by REST. Otherwise, rest resources packaged in
             Confluence Core will no longer be able to be served.
             Also update the jax-rs, jersey and jackson OSGi versions below.
             See also com.atlassian.jersey-library from which we import dependencyManagement. -->
        <restv1.version>8.0.6</restv1.version>
        <rome.version>1.0</rome.version>
        <scheduler.version>4.0.0</scheduler.version>
        <scm.revision>${svn.revision}</scm.revision>
        <!-- search version -->
        <search.version>${confluence.category.ancillary.plugins.version}</search.version>
        <secrets.store.version>3.2.6</secrets.store.version>

        <selenium.maven.version>2.3</selenium.maven.version>
        <serialblocklist.version>2.5.3</serialblocklist.version>

        <skip.formatting.check>true</skip.formatting.check>
        <slf4j.version>2.0.12</slf4j.version>

        <sling.jspc.plugin.version>2.3.4</sling.jspc.plugin.version>
        <sling.scripting.jsp.version>2.6.2-atlassian-1</sling.scripting.jsp.version>
        <snakeyaml.version>2.0</snakeyaml.version>
        <sonar-maven-plugin.version>3.9.1.2184</sonar-maven-plugin.version>
        <sonar.coverage.jacoco.xmlReportPaths>${project.basedir}/target/site/jacoco/jacoco.xml,${project.basedir}/target/site/jacoco-it/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
        <sonar.language>java</sonar.language>
        <sonar.moduleKey>${project.artifactId}</sonar.moduleKey>
        <!--Unfortunately groupId:artifactId combination is used by Confluence Cloud already, sonar supports only unique project key-->
        <sonar.projectKey>${project.groupId}:confluence-server</sonar.projectKey>
        <!-- SonarQube properties (these are inherited for each module) -->
        <sonar.projectName>Confluence Server Core</sonar.projectName>
        <space-blueprints.version>${confluence.category.content.plugins.version}</space-blueprints.version>
        <!-- space sidebar version-->
        <space-ia.version>${confluence.category.frontend.plugins.version}</space-ia.version>
        <spotbugs.version>4.9.3</spotbugs.version>
        <spotless-maven-plugin.version>2.44.4</spotless-maven-plugin.version>

        <spring-boot.version>2.7.11</spring-boot.version>
        <spring-vault.version>3.1.1</spring-vault.version>
        <spring.security.crypto.version>6.4.5</spring.security.crypto.version>

        <status.macro.version>${confluence.category.content.plugins.version}</status.macro.version>
        <struts.version>6.7.3</struts.version>
        <surefire.argLine>-Xmx384m -Djava.awt.headless=true</surefire.argLine>
        <surefire.forkCount>4</surefire.forkCount>
        <surefire.version>3.2.3</surefire.version>

        <!-- Builds currently use -Dsvn.revision to pass in the commit id.
        Until all the builds are updated, this property needs to stay.
        Internally we use scm.revision now. -->
        <svn.revision />
        <swagger.dc.version>2.0.0-alpha-1</swagger.dc.version>
        <swagger.version>2.2.20</swagger.version>
        <!-- Update the version of synchrony-proxy in Confluence-distribution too -->
        <synchrony-proxy.version>4.0.8</synchrony-proxy.version>

        <system-rules.version>1.18.0</system-rules.version>
        <table-of-contents.plugin.version>8.0.3</table-of-contents.plugin.version>

        <testcontainers.version>1.20.6</testcontainers.version>

        <!-- List of plugins used for testing -->
        <testing.dynamicplugin.list>atlassian-universal-plugin-manager-javascript-tests,
            confluence-functestrpc-plugin,
            confluence-functestxss-plugin,
            confluence-functest-http-validation-plugin,
            confluence-functest-rest-plugin,
            functest-plugin,
            ctk-plugin,
            confluence-public-api-rest-test-plugin,
            confluence-custom-content-test-plugin,
            confluence-qunit-plugin,
            active-objects-test-plugin,
            atlassian-qunit-plugin,
            confluence-scriptsfinished-plugin,
            velocity-deprecation-test-plugin,
            translation-transform-test-plugin,
            link-test-plugin,
            job-config-spring-scanner-test-plugin,
            struts-velocity-security-plugin,
            confluence-compilation-monitor-test-plugin,
            confluence-plugin-startup-test-plugin,
            hello-blueprint,
            doctheme,
            atlassian-whisper-backdoor-plugin,
            validation-api-test-plugin,
            pats-test-plugin,
            noisy-neighbour-plugin,
            noisy-neighbour-confluence-plugin,
            upgrade-task-plugin,
            servlet-test-plugin</testing.dynamicplugin.list>

        <!-- False by default, switch it on to active the third part licensing profile during release -->
        <third.party.licensing>false</third.party.licensing>
        <thirdpartylicensing.bom>${thirdpartylicensing.dir}/bom.csv</thirdpartylicensing.bom>
        <thirdpartylicensing.dir>${user.dir}/third-party-licensing</thirdpartylicensing.dir>
        <thirdpartylicensing.licenses>${thirdpartylicensing.dir}/licenses/</thirdpartylicensing.licenses>

        <!-- Used by cargo -->
        <tomcat.artifact.version>9.0.105-atlassian-hosted</tomcat.artifact.version>
        <tomcat.artifactId>apache-tomcat</tomcat.artifactId>
        <tomcat.canonical.version>9.0.105</tomcat.canonical.version>
        <tomcat.classifier>windows-x64</tomcat.classifier>
        <trackback.version>0.10</trackback.version>
        <tunnel-client-plugin.version>2.0.2</tunnel-client-plugin.version>
        <twdata.package.scanner.version>0.9.5</twdata.package.scanner.version>
        <twelvemonkeys.imageio.version>3.8.3</twelvemonkeys.imageio.version>
        <upm.plugin.upload.enabled>true</upm.plugin.upload.enabled>
        <user.profile.plugin.version>${confluence.category.frontend.plugins.version}</user.profile.plugin.version>

        <user.provisioning.version>2.7.0-UM-6</user.provisioning.version>
        <userlister.version>${confluence.category.public.plugins.version}</userlister.version>
        <utCoverageAgent />
        <velocity-allowlist.version>6.3.1</velocity-allowlist.version>

        <!-- Restricts editor-plugin to use the same version of velocity as Confluence -->
        <velocity.osgi.bound.version>1.6.4.atlassian_38</velocity.osgi.bound.version>
        <velocity.version>1.6.4-atlassian-38</velocity.version>
        <!-- Tell amps to use maven plugin versions defined in pluginManagement -->
        <version.override.set>maven-bundle-plugin,maven-surefire-plugin,maven-failsafe-plugin</version.override.set>
        <watch.button.version>${confluence.category.frontend.plugins.version}</watch.button.version>
        <webdav.version>${confluence.category.public.plugins.version}</webdav.version>
        <webresource.version>6.1.0</webresource.version>
        <whisper.version>7.0.4</whisper.version>
        <whitelist.version>6.1.3</whitelist.version>
        <widgetconnector.version>${confluence.category.content.plugins.version}</widgetconnector.version>
        <xalan.version>2.7.3</xalan.version>
        <xml.apis.ext.osgi.version>1.3.4</xml.apis.ext.osgi.version>
        <xml.apis.ext.version>1.3.04</xml.apis.ext.version>
        <xml.apis.osgi.version>1.4.1</xml.apis.osgi.version>
        <xml.apis.version>1.4.01</xml.apis.version>
        <xmlrpc.version>2.0+xmlrpc61.1+sbfix</xmlrpc.version>

        <xstream.version>1.4.21</xstream.version>
        <zdu.version>3.0.9</zdu.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.atlassian.platform.dependencies</groupId>
                <artifactId>platform-public-api</artifactId>
                <version>${platform.dependencies.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.platform.dependencies</groupId>
                <artifactId>platform-deprecated-public-api</artifactId>
                <version>${platform.dependencies.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.platform.dependencies</groupId>
                <artifactId>platform-internal-api</artifactId>
                <version>${platform.dependencies.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.platform.dependencies</groupId>
                <artifactId>platform-system-classpath</artifactId>
                <version>${platform.dependencies.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.platform.dependencies</groupId>
                <artifactId>platform-test-resources</artifactId>
                <version>${platform.dependencies.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.platform.dependencies</groupId>
                <artifactId>platform-bundled-plugins</artifactId>
                <version>${platform.dependencies.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-bom</artifactId>
                <version>${log4j.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-bom</artifactId>
                <version>${netty.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.testcontainers</groupId>
                <artifactId>testcontainers-bom</artifactId>
                <version>${testcontainers.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- Dependencies for Zipkin tracing -->
            <dependency>
                <groupId>io.zipkin.brave</groupId>
                <artifactId>brave-bom</artifactId>
                <version>${brave.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-bom</artifactId>
                <version>${jetty.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- Platform overrides -->
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-nav-links-api</artifactId>
                <version>${atlassian-nav-links.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-nav-links-plugin</artifactId>
                <version>${atlassian-nav-links.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-nav-links-spi</artifactId>
                <version>${atlassian-nav-links.version}</version>
            </dependency>
            <!-- End Platform overrides -->

            <dependency>
                <!-- No longer used in Confluence core, but retained to avoid plugin build breakage -->
                <groupId>javax.xml.ws</groupId>
                <artifactId>jaxws-api</artifactId>
                <version>${javax.xml.ws.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.ws</groupId>
                <artifactId>jakarta.xml.ws-api</artifactId>
                <version>${jakarta.xml.ws.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.ws</groupId>
                <artifactId>jaxws-rt</artifactId>
                <version>${com.sun.xml.ws.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.fasterxml.woodstox</groupId>
                        <artifactId>stax2-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.fasterxml.woodstox</groupId>
                        <artifactId>woodstox-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.xml.bind</groupId>
                        <artifactId>jaxb-impl</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.codehaus.woodstox</groupId>
                        <artifactId>stax2-api</artifactId>
                    </exclusion>
                    <!-- Need to exclude below artifacts because of https://github.com/javaee/metro-jax-ws/issues/1253 -->
                    <exclusion>
                        <groupId>org.glassfish.jaxb</groupId>
                        <artifactId>txw2</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jvnet.mimepull</groupId>
                        <artifactId>mimepull</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

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

            <!-- Atlassian GraphQL Plugin-->
            <dependency>
                <groupId>com.atlassian.graphql</groupId>
                <artifactId>atlassian-dc-graphql-annotations</artifactId>
                <version>${atlassian.graphql.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.graphql</groupId>
                <artifactId>atlassian-dc-graphql</artifactId>
                <version>${atlassian.graphql.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins.graphql</groupId>
                <artifactId>atlassian-dc-graphql-module</artifactId>
                <version>${atlassian.graphql.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.graphql</groupId>
                <artifactId>atlassian-dc-graphql-test-utils</artifactId>
                <version>${atlassian.graphql.version}</version>
            </dependency>
            <dependency>
                <groupId>com.graphql-java</groupId>
                <artifactId>graphql-java</artifactId>
                <version>${graphql.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>reactivestreams</groupId>
                        <artifactId>reactive-streams</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.atlassian</groupId>
                <artifactId>synchrony-standalone</artifactId>
                <version>${bundled.synchrony.version}</version>
                <type>jar</type>
            </dependency>
            <dependency>
                <groupId>com.atlassian.core</groupId>
                <artifactId>atlassian-core</artifactId>
                <version>${atlassian-core.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence</groupId>
                <artifactId>confluence-rest-serialization-jackson2</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.core</groupId>
                <artifactId>atlassian-core-thumbnail</artifactId>
                <version>${atlassian-core.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.core</groupId>
                <artifactId>atlassian-core-logging</artifactId>
                <version>${atlassian-core.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.core</groupId>
                <artifactId>atlassian-core-user</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.image</groupId>
                <artifactId>atlassian-image-consumer</artifactId>
                <version>${atlassian-image-consumer.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.datacenter.filestore</groupId>
                <artifactId>filestore-filesystem</artifactId>
                <version>${datacenter-filestore.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.datacenter.filestore</groupId>
                <artifactId>filestore-s3-client</artifactId>
                <version>${datacenter-filestore.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.datacenter.filestore</groupId>
                <artifactId>filestore-test-support</artifactId>
                <version>${datacenter-filestore.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.confluence</groupId>
                <artifactId>confluence</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence.rest</groupId>
                <artifactId>confluence-rest-plugin-jackson2</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence</groupId>
                <artifactId>confluence-bucket</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence</groupId>
                <artifactId>confluence-bonnie</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence</groupId>
                <artifactId>confluence-java-api</artifactId>
                <version>${project.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>io.swagger.core.v3</groupId>
                        <artifactId>swagger-annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence</groupId>
                <artifactId>confluence-rest-v2-api</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence</groupId>
                <artifactId>confluence-rest-client-restv2</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence</groupId>
                <artifactId>confluence-not-shippable</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.marshalling</groupId>
                <artifactId>atlassian-marshalling-jdk</artifactId>
                <version>${marshalling.jdk.version}</version>
            </dependency>

            <!-- Atlassian dependencies -->
            <dependency>
                <groupId>com.atlassian.integration.jira</groupId>
                <artifactId>jira-integration-spi</artifactId>
                <version>${jira-integration-plugin.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons-lang3.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>findbugs-annotations</artifactId>
                <version>${findbugs.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.spotbugs</groupId>
                <artifactId>spotbugs-annotations</artifactId>
                <version>${spotbugs.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.errorprone</groupId>
                <artifactId>error_prone_annotations</artifactId>
                <version>${error.prone.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.errorprone</groupId>
                <artifactId>error_prone_core</artifactId>
                <version>${error.prone.version}</version>
            </dependency>

            <dependency>
                <groupId>com.nimbusds</groupId>
                <artifactId>oauth2-oidc-sdk</artifactId>
                <version>9.35</version>
            </dependency>
            <dependency>
                <groupId>com.nimbusds</groupId>
                <artifactId>ang-tag</artifactId>
                <version>1.6</version>
            </dependency>
            <dependency>
                <groupId>com.nimbusds</groupId>
                <artifactId>nimbus-jose-jwt</artifactId>
                <version>${nimbus.jose.jwt.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.gzipfilter</groupId>
                <artifactId>atlassian-gzipfilter</artifactId>
                <version>${atlassian.gzipfilter.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>servlet-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- CONFSERVER-99303: Temporarily pin atlassian-oauth2 to pick up patch for fixing the OAuth2 open redirect -->
            <!-- TODO: Remove this pinned version when the official version is updated in the platform-bundled-plugins pom -->
            <dependency>
                <groupId>com.atlassian.oauth2</groupId>
                <artifactId>oauth2-client-api</artifactId>
                <version>${atlassian-oauth2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.oauth2</groupId>
                <artifactId>oauth2-scopes-api</artifactId>
                <version>${atlassian-oauth2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.oauth2</groupId>
                <artifactId>oauth2-provider-api</artifactId>
                <version>${atlassian-oauth2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.oauth2</groupId>
                <artifactId>oauth2-client-plugin</artifactId>
                <version>${atlassian-oauth2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.oauth2</groupId>
                <artifactId>oauth2-provider-plugin</artifactId>
                <version>${atlassian-oauth2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.oauth2</groupId>
                <artifactId>oauth2-scopes-plugin</artifactId>
                <version>${atlassian-oauth2.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.struts2</groupId>
                <artifactId>struts-support</artifactId>
                <version>${atlassian.struts-support.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.rometools</groupId>
                        <artifactId>rome</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.logging.log4j</groupId>
                        <artifactId>log4j-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-dao</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-tx</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.threadlocal</groupId>
                <artifactId>atlassian-threadlocal</artifactId>
                <version>1.4</version>
            </dependency>
            <!-- This atlassian-trackback should be remove in https://jira.atlassian.com/browse/CONFSRVDEV-10243 -->
            <dependency>
                <groupId>com.atlassian.trackback</groupId>
                <artifactId>atlassian-trackback</artifactId>
                <version>${trackback.version}</version>
                <exclusions>
                    <exclusion>
                        <!-- jcl-over-slf4j instead -->
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.johnson</groupId>
                <artifactId>atlassian-johnson-plugins</artifactId>
                <version>${johnson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.logging</groupId>
                <artifactId>log4j12-extras</artifactId>
                <version>0.0.2</version>
            </dependency>
            <dependency>
                <groupId>org.owasp.antisamy</groupId>
                <artifactId>antisamy</artifactId>
                <version>${atlassian.antisamy.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-io</groupId>
                        <artifactId>commons-io</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.httpcomponents.client5</groupId>
                        <artifactId>httpclient5</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.httpcomponents.core5</groupId>
                        <artifactId>httpcore5</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.xmlgraphics</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.atlassian.platform.dependencies</groupId>
                <artifactId>platform-framework-bundles</artifactId>
                <version>${platform.dependencies.version}</version>
                <type>zip</type>
                <exclusions>
                    <exclusion>
                        <groupId>javax.inject</groupId>
                        <artifactId>javax.inject</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.validation</groupId>
                        <artifactId>validation-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.atlassian.bandana</groupId>
                <artifactId>atlassian-bandana</artifactId>
                <version>${bandana.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.thoughtworks.xstream</groupId>
                        <artifactId>xstream</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.user</groupId>
                <artifactId>atlassian-user</artifactId>
                <version>${atlassian.user.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>c3p0</groupId>
                        <artifactId>c3p0</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>cglib</groupId>
                        <artifactId>cglib-full</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-lang</groupId>
                        <artifactId>commons-lang</artifactId>
                    </exclusion>
                    <exclusion>
                        <!-- jcl-over-slf4j instead -->
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>dom4j</groupId>
                        <artifactId>dom4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.transaction</groupId>
                        <artifactId>jta</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>net.sf.ldaptemplate</groupId>
                        <artifactId>ldaptemplate</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>opensymphony</groupId>
                        <artifactId>oscore</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>osuser</groupId>
                        <artifactId>osuser</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!-- Branch of atlassian-renderer to make supporting backwards compatibility with it easier
                 Currently the main branch is https://bitbucket.org/atlassian/atlassian-renderer/branch/release/6.x -->
            <dependency>
                <groupId>com.atlassian.renderer</groupId>
                <artifactId>atlassian-renderer-legacy</artifactId>
                <version>${renderer-legacy.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.soy</groupId>
                <artifactId>atlassian-soy-core</artifactId>
                <version>${atlassian-soy.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.selenium</groupId>
                <artifactId>atlassian-pageobjects-api</artifactId>
                <version>${atlassian.selenium.and.webdriver.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.bundles</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.selenium</groupId>
                <artifactId>atlassian-pageobjects-elements</artifactId>
                <version>${atlassian.selenium.and.webdriver.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.bundles</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.selenium</groupId>
                <artifactId>atlassian-selenium</artifactId>
                <version>${atlassian.selenium.and.webdriver.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>cglib</groupId>
                        <artifactId>cglib-nodep</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.atlassian.bundles</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.collections</groupId>
                        <artifactId>google-collections</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>javax.servlet-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.selenium</groupId>
                <artifactId>atlassian-webdriver-core</artifactId>
                <version>${atlassian.selenium.and.webdriver.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>cglib</groupId>
                        <artifactId>cglib-nodep</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.atlassian.bundles</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.collections</groupId>
                        <artifactId>google-collections</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.selenium</groupId>
                <artifactId>atlassian-visual-comparison</artifactId>
                <version>${atlassian.selenium.and.webdriver.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.bundles</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.browsers</groupId>
                <artifactId>atlassian-browsers-auto</artifactId>
                <version>${atlassian.browsers.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian</groupId>
                <artifactId>atlassian-test-categories</artifactId>
                <version>${atlassian-test-categories.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.mail</groupId>
                <artifactId>atlassian-mail</artifactId>
                <version>${atlassian-mail.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jakarta.mail</groupId>
                        <artifactId>jakarta.mail-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>jakarta.mail</groupId>
                <artifactId>jakarta.mail-api</artifactId>
                <version>${javax.mail.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.mail</groupId>
                        <artifactId>event</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.mail</groupId>
                        <artifactId>mail</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.mail</groupId>
                        <artifactId>search</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.mail</groupId>
                        <artifactId>util</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.xml</groupId>
                        <artifactId>internet</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.sun.mail</groupId>
                <artifactId>jakarta.mail</artifactId>
                <version>${javax.mail.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sun.activation</groupId>
                        <artifactId>jakarta.activation</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.activation</groupId>
                        <artifactId>activation</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
                <version>${commons.beanutils.version}</version>
                <exclusions>
                    <exclusion>
                        <!-- jcl-over-slf4j instead -->
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>commons-discovery</groupId>
                <artifactId>commons-discovery</artifactId>
                <version>${commons.discovery.version}</version>
                <exclusions>
                    <exclusion>
                        <!-- jcl-over-slf4j instead -->
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>${commons.logging.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging-api</artifactId>
                <version>${commons.logging.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-collections4</artifactId>
                <version>${commons.collections4.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-compress</artifactId>
                <version>${commons.compress.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-math3</artifactId>
                <version>${commons.math3.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>${commons.lang.version}</version>
            </dependency>

            <!-- Hibernate dependencies -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>${org.hibernate.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.activation</groupId>
                        <artifactId>javax.activation-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.annotation</groupId>
                        <artifactId>jsr250-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.el</groupId>
                        <artifactId>el-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.enterprise</groupId>
                        <artifactId>cdi-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.persistence</groupId>
                        <artifactId>javax.persistence-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.xml.bind</groupId>
                        <artifactId>jaxb-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.dom4j</groupId>
                        <artifactId>dom4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.transaction</groupId>
                        <artifactId>jboss-transaction-api_1.2_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>${org.hibernate.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.annotation</groupId>
                        <artifactId>jsr250-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.el</groupId>
                        <artifactId>el-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.enterprise</groupId>
                        <artifactId>cdi-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.geronimo.specs</groupId>
                        <artifactId>geronimo-jta_1.1_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.interceptor</groupId>
                        <artifactId>jboss-interceptors-api_1.1_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-envers</artifactId>
                <version>${org.hibernate.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-hikaricp</artifactId>
                <version>${org.hibernate.version}</version>
            </dependency>
            <!-- This dependency comes from atlassian-rest-parent pom, which is brought in by com.atlassian.jersey-library -->
            <!-- Appropriate PR is submitted to Atlassian REST project, so this dependency can be removed when with update
             of jersey-library -->
            <dependency>
                <groupId>org.hibernate.validator</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>${hibernate-validator.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sun.xml.bind</groupId>
                        <artifactId>jaxb-impl</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.validation</groupId>
                        <artifactId>validation-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.xml.bind</groupId>
                        <artifactId>jaxb-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.xml.stream</groupId>
                        <artifactId>stax-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- bytecode libraries -->
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm-analysis</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm-commons</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm-test</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm-tree</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm-util</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm-xml</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>cglib</groupId>
                <artifactId>cglib</artifactId>
                <version>${cglib.version}</version>
            </dependency>
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>${javassist.version}</version>
            </dependency>

            <!-- cglib depends on ant -->
            <dependency>
                <groupId>org.apache.ant</groupId>
                <artifactId>ant</artifactId>
                <version>${ant.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ant</groupId>
                <artifactId>ant-launcher</artifactId>
                <version>${ant.version}</version>
            </dependency>
            <dependency>
                <groupId>ant-contrib</groupId>
                <artifactId>ant-contrib</artifactId>
                <version>${ant-contrib.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>ant</groupId>
                        <artifactId>ant</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>jaxen</groupId>
                <artifactId>jaxen</artifactId>
                <version>${jaxen.version}</version>
            </dependency>
            <dependency>
                <groupId>com.zaxxer</groupId>
                <artifactId>HikariCP</artifactId>
                <version>${hikaricp.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.transaction</groupId>
                <artifactId>javax.transaction-api</artifactId>
                <version>${javax.transaction.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.transaction</groupId>
                <artifactId>jakarta.transaction-api</artifactId>
                <version>${jakarta.transaction.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.persistence</groupId>
                <artifactId>jakarta.persistence-api</artifactId>
                <version>${jakarta.persistence-api.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.persistence</groupId>
                <artifactId>javax.persistence-api</artifactId>
                <version>${javax.persistence-api.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun</groupId>
                <artifactId>jai_core</artifactId>
                <version>${jai.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun</groupId>
                <artifactId>jai_codec</artifactId>
                <version>${jai.version}</version>
            </dependency>
            <!-- Struts dependencies -->
            <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts2-core</artifactId>
                <version>${atlassian.struts.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.errorprone</groupId>
                        <artifactId>error_prone_annotations</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.servlets</groupId>
                        <artifactId>cos</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-io</groupId>
                        <artifactId>commons-io</artifactId>
                    </exclusion>
                    <exclusion>
                        <!-- jcl-over-slf4j instead -->
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.activation</groupId>
                        <artifactId>activation</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.mail</groupId>
                        <artifactId>mail</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>opensymphony</groupId>
                        <artifactId>pell-multipart</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-text</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>velocity</groupId>
                        <artifactId>velocity</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts2-velocity-plugin</artifactId>
                <version>${atlassian.struts.version}</version>
                <exclusions>
                    <exclusion>
                        <!-- Exclude Velocity 2.x as we use 1.x -->
                        <groupId>org.apache.velocity</groupId>
                        <artifactId>velocity-engine-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.velocity.tools</groupId>
                        <artifactId>velocity-tools-view</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.velocity.tools</groupId>
                        <artifactId>velocity-tools-view-jsp</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts2-junit-plugin</artifactId>
                <version>${atlassian.struts.version}</version>
            </dependency>

            <dependency>
                <groupId>oscache</groupId>
                <artifactId>oscache</artifactId>
                <version>2.2</version>
            </dependency>
            <dependency>
                <groupId>osuser</groupId>
                <artifactId>osuser</artifactId>
                <version>atl.user</version>
            </dependency>
            <dependency>
                <groupId>opensymphony</groupId>
                <artifactId>propertyset</artifactId>
                <version>1.3-21Nov03</version>
            </dependency>
            <dependency>
                <groupId>org.apache.velocity</groupId>
                <artifactId>velocity</artifactId>
                <version>${velocity.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-collections</groupId>
                        <artifactId>commons-collections</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-text</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>oro</groupId>
                        <artifactId>oro</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.templaterenderer</groupId>
                <artifactId>velocity-allowlist</artifactId>
                <version>${velocity-allowlist.version}</version>
            </dependency>

            <dependency>
                <!-- No longer used in Confluence core, but retained to avoid plugin build breakage -->
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${javax.servlet-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>${jakarta.servlet-api.version}</version>
            </dependency>
            <dependency>
                <!-- No longer used in Confluence core, but retained to avoid plugin build breakage -->
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>javax.servlet.jsp-api</artifactId>
                <version>${javax.servlet.jsp-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.servlet.jsp</groupId>
                <artifactId>jakarta.servlet.jsp-api</artifactId>
                <version>${jakarta.servlet.jsp-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.ws.rs</groupId>
                <artifactId>jakarta.ws.rs-api</artifactId>
                <version>${java.ws2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.sling</groupId>
                <artifactId>org.apache.sling.scripting.jsp</artifactId>
                <version>${sling.scripting.jsp.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.spring.test.compat</groupId>
                <artifactId>spring-test-compat</artifactId>
                <version>0.3</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>servlet-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>xmlunit</groupId>
                <artifactId>xmlunit</artifactId>
                <version>1.6</version>
            </dependency>

            <!-- AspectJ can be used with Spring AOP -->
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjrt</artifactId>
                <version>${aspectj.version}</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjtools</artifactId>
                <version>${aspectj.version}</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>${aspectj.version}</version>
            </dependency>

            <!-- Radeox dependencies -->
            <dependency>
                <groupId>radeox</groupId>
                <artifactId>radeox</artifactId>
                <version>1.0b2-forked-22Apr2004</version>
            </dependency>

            <!-- Lucene dependencies -->
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-core</artifactId>
                <version>${lucene.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-analyzers-common</artifactId>
                <version>${lucene.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-analyzers-kuromoji</artifactId>
                <version>${lucene.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-analyzers-stempel</artifactId>
                <version>${lucene.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-queryparser</artifactId>
                <version>${lucene.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>jakarta-regexp</groupId>
                        <artifactId>jakarta-regexp</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-misc</artifactId>
                <version>${lucene.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-highlighter</artifactId>
                <version>${lucene.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-queries</artifactId>
                <version>${lucene.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta-regexp</groupId>
                <artifactId>jakarta-regexp</artifactId>
                <version>${jakarta.regexp.version}</version>
            </dependency>

            <!-- OpenSearch dependencies -->
            <dependency>
                <groupId>org.opensearch.client</groupId>
                <artifactId>opensearch-java</artifactId>
                <version>${opensearch.java.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.github.resilience4j</groupId>
                <artifactId>resilience4j-retry</artifactId>
                <version>${resilience4j.version}</version>
            </dependency>

            <!-- pdfbox dependencies -->
            <dependency>
                <groupId>org.apache.pdfbox</groupId>
                <artifactId>pdfbox</artifactId>
                <version>${pdfbox.version}</version>
                <exclusions>
                    <exclusion>
                        <!-- jcl-over-slf4j instead -->
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.pdfbox</groupId>
                <artifactId>xmpbox</artifactId>
                <version>${pdfbox.version}</version>
                <exclusions>
                    <exclusion>
                        <!-- jcl-over-slf4j instead -->
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>net.sourceforge.cssparser</groupId>
                <artifactId>cssparser</artifactId>
                <version>${cssparser.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.w3c.css</groupId>
                        <artifactId>sac</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- Hazelcast dependencies -->
            <dependency>
                <groupId>com.hazelcast</groupId>
                <artifactId>hazelcast</artifactId>
                <version>${hazelcast.version}</version>
                <exclusions>
                    <exclusion>
                        <!-- We get this via the jcip-annotations dependency elsewhere -->
                        <groupId>net.sourceforge.findbugs</groupId>
                        <artifactId>annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- See https://github.com/hazelcast/hazelcast-hibernate#supported-versions - hazelcast-hibernate53 supports Hibernate 5.4 too-->
            <dependency>
                <groupId>com.hazelcast</groupId>
                <artifactId>hazelcast-hibernate53</artifactId>
                <version>${hazelcast.hibernate.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.hazelcast</groupId>
                <artifactId>atlassian-hazelcast-extras-osgi</artifactId>
                <version>${hazelcast.extras.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.ibm.icu</groupId>
                <artifactId>icu4j</artifactId>
                <version>${icu4j.version}</version>
            </dependency>

            <dependency>
                <groupId>com.typesafe</groupId>
                <artifactId>config</artifactId>
                <version>1.4.3</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.spring</groupId>
                <artifactId>atlassian-spring</artifactId>
                <version>${atlassian.spring.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-context</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-jdbc</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-web</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- JTidy dependencies -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>jtidy</artifactId>
                <version>r8-20060801</version>
            </dependency>

            <!-- embedded database dependencies -->
            <dependency>
                <groupId>org.hsqldb</groupId>
                <artifactId>hsqldb</artifactId>
                <version>${hsqldb.version}</version>
            </dependency>
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${h2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.hsqldb</groupId>
                <artifactId>atlassian-hsqdlb-server-integration</artifactId>
                <version>1.1.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.fugue</groupId>
                        <artifactId>fugue</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.atlassian.util.concurrent</groupId>
                        <artifactId>atlassian-util-concurrent</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.h2</groupId>
                <artifactId>atlassian-h2-server-integration</artifactId>
                <version>${atlassian-h2-server-integration.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.bundles</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.h2database</groupId>
                        <artifactId>h2</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>io.atlassian.fugue</groupId>
                        <artifactId>fugue</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- bundled database dependencies -->
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>${jdbc.postgresql.driver.version}</version>
            </dependency>
            <dependency>
                <groupId>com.microsoft.sqlserver</groupId>
                <artifactId>mssql-jdbc</artifactId>
                <version>${jdbc.sqlserver.driver.version}</version>
            </dependency>
            <dependency>
                <groupId>net.sourceforge.jtds</groupId>
                <artifactId>jtds</artifactId>
                <version>${jdbc.jtds.driver.version}</version>
            </dependency>

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest</artifactId>
                <version>${hamcrest.version}</version>
            </dependency>
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>${assertj.version}</version>
            </dependency>
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${joda-time.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.tenancy</groupId>
                <artifactId>atlassian-tenancy-api</artifactId>
                <version>${atlassian-tenancy.version}</version>
            </dependency>
            <dependency>
                <groupId>org.awaitility</groupId>
                <artifactId>awaitility</artifactId>
                <version>${awaitility.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.github.stefanbirkner</groupId>
                <artifactId>system-rules</artifactId>
                <version>${system-rules.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit-dep</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-errorprone</artifactId>
                <version>${mockito.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-junit-jupiter</artifactId>
                <version>${mockito.version}</version>
            </dependency>
            <dependency>
                <groupId>org.opentest4j</groupId>
                <artifactId>opentest4j</artifactId>
                <version>${opentest4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.objenesis</groupId>
                <artifactId>objenesis</artifactId>
                <version>${objenesis.version}</version>
            </dependency>
            <dependency>
                <groupId>org.reflections</groupId>
                <artifactId>reflections</artifactId>
                <version>${reflections.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian</groupId>
                <artifactId>flaky-test-reporter</artifactId>
                <version>${flaky-test-reporter.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>net.sourceforge.jwebunit</groupId>
                <artifactId>jwebunit-core</artifactId>
                <version>${jwebunit.version}</version>
            </dependency>
            <dependency>
                <groupId>net.sourceforge.jwebunit</groupId>
                <artifactId>jwebunit-htmlunit-plugin</artifactId>
                <version>${jwebunit.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.confluence</groupId>
                <artifactId>jwebunit-confluence-plugin</artifactId>
                <version>${jwebunit.confluence.version}</version>
            </dependency>
            <dependency>
                <groupId>org.htmlunit</groupId>
                <artifactId>neko-htmlunit</artifactId>
                <version>${neko-htmlunit.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.nekohtml</groupId>
                <artifactId>neko-html-support</artifactId>
                <version>${neko-html-support.version}</version>
            </dependency>
            <dependency>
                <groupId>net.sourceforge.htmlunit</groupId>
                <artifactId>htmlunit</artifactId>
                <version>${htmlunit.version}</version>
                <exclusions>
                    <exclusion>
                        <!-- jcl-over-slf4j instead -->
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>net.sourceforge.htmlunit</groupId>
                <artifactId>htmlunit-cssparser</artifactId>
                <version>${htmlunit-cssparser.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mock-server</groupId>
                <artifactId>mockserver-netty</artifactId>
                <version>${mockserver.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sun.xml.bind</groupId>
                        <artifactId>jaxb-impl</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.activation</groupId>
                        <artifactId>activation</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>javax.servlet-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.validation</groupId>
                        <artifactId>validation-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.xml.bind</groupId>
                        <artifactId>jaxb-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.velocity</groupId>
                        <artifactId>velocity-engine-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.velocity</groupId>
                        <artifactId>velocity-engine-scripting</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty</artifactId>
                <version>${legacy.netty.version}</version>
            </dependency>

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

            <dependency>
                <groupId>com.atlassian.confluence</groupId>
                <artifactId>confluence-test-support-restv2</artifactId>
                <version>${project.version}</version>
            </dependency>

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

            <dependency>
                <groupId>com.atlassian.confluence</groupId>
                <artifactId>confluence-stateless-test-runner</artifactId>
                <version>${confluence-stateless-test-runner.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.bundles</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>servlet-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit-dep</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>log4j-over-slf4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-simple</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>xml-apis</groupId>
                        <artifactId>xml-apis</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence</groupId>
                <artifactId>confluence-webdriver-pageobjects</artifactId>
                <version>${confluence-webdriver-pageobjects.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.selenium</groupId>
                        <artifactId>atlassian-webdriver-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.atlassian.upm</groupId>
                        <artifactId>atlassian-universal-plugin-manager-javascript-tests</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.atlassian.upm</groupId>
                        <artifactId>atlassian-universal-plugin-manager-pageobjects</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit-dep</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence</groupId>
                <artifactId>confluence-test-utils</artifactId>
                <version>${confluence-test-utils.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.nimbusds</groupId>
                        <artifactId>oauth2-oidc-sdk</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>servlet-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit-dep</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.servicemix.bundles</groupId>
                        <artifactId>org.apache.servicemix.bundles.jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>xml-apis</groupId>
                        <artifactId>xml-apis</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.atlassian.vcache</groupId>
                <artifactId>atlassian-vcache-api</artifactId>
                <version>${atlassian-vcache.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.vcache</groupId>
                <artifactId>atlassian-vcache-internal-legacy</artifactId>
                <version>${atlassian-vcache.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-avatar-plugin</artifactId>
                <version>${confluence.avatar-plugin.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-icons</artifactId>
                <version>${confluence-icons.version}</version>
            </dependency>

            <!-- Database Credentials Encryption -->
            <!-- com.atlassian.secrets artifacts can be removed on the next platform update -->
            <dependency>
                <groupId>com.atlassian.secrets</groupId>
                <artifactId>atlassian-secrets-api</artifactId>
                <version>${atlassian-secrets.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.secrets</groupId>
                <artifactId>atlassian-secrets-common</artifactId>
                <version>${atlassian-secrets.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.secrets</groupId>
                <artifactId>atlassian-secrets-service</artifactId>
                <version>${atlassian-secrets.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.secrets</groupId>
                <artifactId>atlassian-secrets-store</artifactId>
                <version>${atlassian-secrets.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.bouncycastle</groupId>
                        <artifactId>bcprov-jdk15on</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.secrets</groupId>
                <artifactId>atlassian-secrets-cli</artifactId>
                <version>${atlassian-secrets.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.db.config</groupId>
                <artifactId>password-cipher-custom</artifactId>
                <version>${password.cipher.custom.version}</version>
            </dependency>

            <!-- commons-httpclient is obsolete. Prefer httpcomponents httpclient or httpclient-osgi instead -->
            <dependency>
                <groupId>commons-httpclient</groupId>
                <artifactId>commons-httpclient</artifactId>
                <version>${commons.httpclient.version}</version>
                <exclusions>
                    <exclusion>
                        <!-- jcl-over-slf4j instead -->
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>net.sourceforge.nekohtml</groupId>
                <artifactId>nekohtml</artifactId>
                <version>${nekohtml.version}</version>
            </dependency>

            <!-- CONF-35045 batik from the system bundle needs to work for plugins too -->
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-anim</artifactId>
                <version>${batik.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-bridge</artifactId>
                <version>${batik.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-codec</artifactId>
                <version>${batik.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-css</artifactId>
                <version>${batik.version}</version>
                <exclusions>
                    <exclusion>
                        <!-- jcl-over-slf4j instead -->
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-dom</artifactId>
                <version>${batik.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-ext</artifactId>
                <version>${batik.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-gvt</artifactId>
                <version>${batik.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-svg-dom</artifactId>
                <version>${batik.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-svggen</artifactId>
                <version>${batik.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-transcoder</artifactId>
                <version>${batik.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-util</artifactId>
                <version>${batik.version}</version>
            </dependency>

            <!-- XML-RPC -->
            <!-- Vanilla 2.0 source with patch from http://issues.apache.org/jira/browse/XMLRPC-61 installed and CONF-13640 fixed. -->
            <!-- And patch for CONF-13777 - Remove reuse of StringBuffer (causing OOM on IBM JVM) -->
            <dependency>
                <groupId>xmlrpc</groupId>
                <artifactId>xmlrpc</artifactId>
                <version>${xmlrpc.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.xmlrpc</groupId>
                <artifactId>xmlrpc-supplementary-character-support</artifactId>
                <version>0.2</version>
            </dependency>

            <dependency>
                <groupId>axis</groupId>
                <artifactId>axis</artifactId>
                <version>${axis.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.activation</groupId>
                        <artifactId>activation</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.mail</groupId>
                        <artifactId>mail</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>axis</groupId>
                <artifactId>axis-jaxrpc</artifactId>
                <version>${axis.version}-noqname</version>
            </dependency>

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

            <!-- Trackback dependencies -->
            <!-- This atlassian-trackback should be remove in https://jira.atlassian.com/browse/CONFSRVDEV-10243 -->
            <dependency>
                <groupId>oro</groupId>
                <artifactId>oro</artifactId>
                <version>2.0.8</version>
            </dependency>

            <dependency>
                <groupId>com.twelvemonkeys.common</groupId>
                <artifactId>common-image</artifactId>
                <version>${twelvemonkeys.imageio.version}</version>
            </dependency>
            <dependency>
                <groupId>com.twelvemonkeys.common</groupId>
                <artifactId>common-io</artifactId>
                <version>${twelvemonkeys.imageio.version}</version>
            </dependency>
            <dependency>
                <groupId>com.twelvemonkeys.common</groupId>
                <artifactId>common-lang</artifactId>
                <version>${twelvemonkeys.imageio.version}</version>
            </dependency>
            <dependency>
                <groupId>com.twelvemonkeys.imageio</groupId>
                <artifactId>imageio-bmp</artifactId>
                <version>${twelvemonkeys.imageio.version}</version>
            </dependency>
            <dependency>
                <groupId>com.twelvemonkeys.imageio</groupId>
                <artifactId>imageio-core</artifactId>
                <version>${twelvemonkeys.imageio.version}</version>
            </dependency>
            <dependency>
                <groupId>com.twelvemonkeys.imageio</groupId>
                <artifactId>imageio-icns</artifactId>
                <version>${twelvemonkeys.imageio.version}</version>
            </dependency>
            <dependency>
                <groupId>com.twelvemonkeys.imageio</groupId>
                <artifactId>imageio-jpeg</artifactId>
                <version>${twelvemonkeys.imageio.version}</version>
            </dependency>
            <dependency>
                <groupId>com.twelvemonkeys.imageio</groupId>
                <artifactId>imageio-metadata</artifactId>
                <version>${twelvemonkeys.imageio.version}</version>
            </dependency>
            <dependency>
                <groupId>com.twelvemonkeys.imageio</groupId>
                <artifactId>imageio-tiff</artifactId>
                <version>${twelvemonkeys.imageio.version}</version>
            </dependency>

            <!-- XStream dependencies for serializing Objects to XML -->
            <dependency>
                <groupId>com.thoughtworks.xstream</groupId>
                <artifactId>xstream</artifactId>
                <version>${xstream.version}</version>
            </dependency>

            <!-- xalan not packaged with jdk 1.5.x, so we need to include this now. -->
            <dependency>
                <groupId>xalan</groupId>
                <artifactId>xalan</artifactId>
                <version>${xalan.version}</version>
            </dependency>
            <dependency>
                <groupId>xalan</groupId>
                <artifactId>serializer</artifactId>
                <version>${xalan.version}</version>
            </dependency>

            <dependency>
                <groupId>xml-apis</groupId>
                <artifactId>xml-apis</artifactId>
                <version>${xml.apis.version}</version>
            </dependency>

            <!-- Ideally, we'd use more official jars for these, such as org.w3c.css:sac:1.3,
                but only xml-apis-ext contains org.w3c.dom.smil.TimeEvent, one small part of the SMIL DOM
                specification (https://www.w3.org/TR/smil-boston-dom/ still in draft 16 years on),
                and all of the SVG 1.1 (Second Edition) specification DOM impl (https://www.w3.org/TR/SVG11/).
                Even so, only batik-ext has UI Events (formerly DOM Level 3 Events) (https://www.w3.org/TR/uievents/
                also still only a draft 16 years on, but much more active recently), so even this isn't enough for all
                org.w3c dependencies outside the JDK.
             -->
            <dependency>
                <groupId>xml-apis</groupId>
                <artifactId>xml-apis-ext</artifactId>
                <version>${xml.apis.ext.version}</version>
            </dependency>

            <!-- JCapcha dependency -->
            <dependency>
                <groupId>io.leopard.thirdparty</groupId>
                <artifactId>jcaptcha-api</artifactId>
                <version>${jcaptcha.version}</version>
            </dependency>
            <dependency>
                <groupId>io.leopard.thirdparty</groupId>
                <artifactId>jcaptcha-core</artifactId>
                <version>${jcaptcha.version}</version>
            </dependency>

            <dependency>
                <groupId>org.codehaus.woodstox</groupId>
                <artifactId>stax2-api</artifactId>
                <version>4.2.1</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.woodstox</groupId>
                <artifactId>woodstox-core</artifactId>
                <version>6.4.0</version>
            </dependency>

            <!-- TODO CONFSRVDEV-2618 use a final release of google guice 4.1+ -->
            <dependency>
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
                <version>${google.guice.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.inject.extensions</groupId>
                <artifactId>guice-servlet</artifactId>
                <version>${google.guice.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.annotation</groupId>
                <artifactId>jakarta.annotation-api</artifactId>
                <version>${jakarta.annotation.version}</version>
            </dependency>
            <dependency>
                <!-- No longer used in Confluence core, but retained to avoid plugin build breakage -->
                <groupId>com.sun.activation</groupId>
                <artifactId>javax.activation</artifactId>
                <version>${javax.activation.version}</version>
            </dependency>
            <dependency>
                <!-- No longer used in Confluence core, but retained to avoid plugin build breakage -->
                <groupId>javax.activation</groupId>
                <artifactId>javax.activation-api</artifactId>
                <version>${javax.activation.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.activation</groupId>
                <artifactId>jakarta.activation</artifactId>
                <version>${jakarta.activation.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.activation</groupId>
                <artifactId>jakarta.activation-api</artifactId>
                <version>${jakarta.activation.version}</version>
            </dependency>
            <dependency>
                <!-- No longer used in Confluence core, but retained to avoid plugin build breakage -->
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>${jaxb.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.bind</groupId>
                <artifactId>jakarta.xml.bind-api</artifactId>
                <version>${jakarta.jaxb.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jaxb</groupId>
                <artifactId>jaxb-runtime</artifactId>
                <version>${jakarta.jaxb.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.activation</groupId>
                        <artifactId>javax.activation-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.xml.bind</groupId>
                        <artifactId>jaxb-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <!-- No longer used in Confluence core, but retained to avoid plugin build breakage -->
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>${javax.inject.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.inject</groupId>
                <artifactId>jakarta.inject-api</artifactId>
                <version>${jakarta.inject.version}</version>
            </dependency>

            <dependency>
                <!-- No longer used in Confluence core, but retained to avoid plugin build breakage -->
                <groupId>javax.json</groupId>
                <artifactId>javax.json-api</artifactId>
                <version>${javax.json.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.json</groupId>
                <artifactId>jakarta.json-api</artifactId>
                <version>${jakarta.json.version}</version>
            </dependency>
            <dependency>
                <!-- No longer used in Confluence core, but retained to avoid plugin build breakage -->
                <groupId>org.glassfish</groupId>
                <artifactId>javax.json</artifactId>
                <version>${javax.json.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish</groupId>
                <artifactId>jakarta.json</artifactId>
                <version>${glassfish.jakarta.json.version}</version>
            </dependency>

            <dependency>
                <groupId>org.outerj.daisy</groupId>
                <artifactId>daisydiff</artifactId>
                <version>1.2.3-atlassian-hosted</version>
                <exclusions>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>xerces</groupId>
                        <artifactId>xercesImpl</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.httpcomponents.client5</groupId>
                <artifactId>httpclient5</artifactId>
                <version>${httpcomponents.httpclient5.version}</version>
                <exclusions>
                    <exclusion>
                        <!-- jcl-over-slf4j instead -->
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents.core5</groupId>
                <artifactId>httpcore5</artifactId>
                <version>${httpcomponents.httpcore5.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents.core5</groupId>
                <artifactId>httpcore5-h2</artifactId>
                <version>${httpcomponents.httpcore5.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpcomponents.httpclient.version}</version>
                <exclusions>
                    <exclusion>
                        <!-- jcl-over-slf4j instead -->
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient-cache</artifactId>
                <version>${httpcomponents.httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpmime</artifactId>
                <version>${httpcomponents.httpclient.version}</version>
            </dependency>
            <!--TODO Prune httpcore once it's updated to 4.4.11 in platform pom
            https://bulldog.internal.atlassian.com/browse/BSP-519-->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore-nio</artifactId>
                <version>${httpcomponents.httpcore.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>status-macro</artifactId>
                <version>${status.macro.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>status-macro-integration-tests</artifactId>
                <version>${status.macro.version}</version>
                <type>test-jar</type>
            </dependency>

            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-create-content-api</artifactId>
                <version>${create.content.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-create-content-plugin</artifactId>
                <version>${create.content.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.confluence</groupId>
                        <artifactId>confluence</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-create-content-test-support</artifactId>
                <version>${create.content.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-space-ia</artifactId>
                <version>${space-ia.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-space-ia-api</artifactId>
                <version>${space-ia.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-space-ia-test-support</artifactId>
                <version>${space-ia.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-page-banner</artifactId>
                <version>${page-banner.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-page-banner-test-support</artifactId>
                <version>${page-banner.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-ui-components</artifactId>
                <version>${confluence.ui.components.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-notifications-api</artifactId>
                <version>${confluence-notifications.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-notifications-batch-api</artifactId>
                <version>${confluence-notifications.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-content-notifications-api</artifactId>
                <version>${confluence-notifications.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugin.notifications</groupId>
                <artifactId>notifications-api</artifactId>
                <version>${notifications.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-email-litmus-tests</artifactId>
                <version>${confluence-notifications.version}</version>
                <type>test-jar</type>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.bundles</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.atlassian.selenium</groupId>
                        <artifactId>atlassian-webdriver-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>servlet-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit-dep</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-email-litmus-tests</artifactId>
                <version>${confluence-notifications.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.bundles</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.atlassian.selenium</groupId>
                        <artifactId>atlassian-webdriver-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>javax.servlet-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>servlet-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit-dep</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.atlassian</groupId>
                <artifactId>one-source-of-truth</artifactId>
                <version>${atlassian.one-source-of-truth.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.confluence.plugin</groupId>
                <artifactId>func-test</artifactId>
                <version>${confluence.functestlib.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.ozymandias</groupId>
                <artifactId>atlassian-plugin-point-safety</artifactId>
                <version>${atlassian.ozymandias.version}</version>
            </dependency>
            <!-- Application Navigator fix CONF-36389 -->
            <dependency>
                <groupId>commons-validator</groupId>
                <artifactId>commons-validator</artifactId>
                <version>${commons.validator.version}</version>
                <exclusions>
                    <exclusion>
                        <!-- jcl-over-slf4j instead -->
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>net.javacrumbs.future-converter</groupId>
                <artifactId>future-converter-common</artifactId>
                <version>${future-converter.version}</version>
            </dependency>
            <dependency>
                <groupId>net.javacrumbs.future-converter</groupId>
                <artifactId>future-converter-java8-common</artifactId>
                <version>${future-converter.version}</version>
            </dependency>
            <dependency>
                <groupId>net.javacrumbs.future-converter</groupId>
                <artifactId>future-converter-java8-guava</artifactId>
                <version>${future-converter.version}</version>
            </dependency>
            <dependency>
                <groupId>net.javacrumbs.future-converter</groupId>
                <artifactId>future-converter-guava-common</artifactId>
                <version>${future-converter.version}</version>
            </dependency>

            <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna</artifactId>
                <version>${jna.version}</version>
            </dependency>
            <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna-platform</artifactId>
                <version>${jna.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.gquintana.metrics</groupId>
                <artifactId>metrics-sql</artifactId>
                <version>${metrics.sql.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>avatar-plugin</artifactId>
                <version>${avatar-plugin.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>avatar-plugin-api</artifactId>
                <version>${avatar-plugin.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>document-conversion-library</artifactId>
                <version>${document.conversion.library.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>confluence-document-conversion-library</artifactId>
                <version>${confluence.document.conversion.library.version}</version>
            </dependency>

            <dependency>
                <groupId>com.puppycrawl.tools</groupId>
                <artifactId>checkstyle</artifactId>
                <version>${checkstyle.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.labs.plugins</groupId>
                <artifactId>quickreload</artifactId>
                <version>${quickreload.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.plugin</groupId>
                        <artifactId>atlassian-spring-scanner-annotation</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.atlassian.plugin</groupId>
                        <artifactId>atlassian-spring-scanner-runtime</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.h2database</groupId>
                        <artifactId>h2</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.atlassian.hazelcast</groupId>
                <artifactId>hazelcast-micrometer</artifactId>
                <version>2.0.0</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.audit</groupId>
                <artifactId>atlassian-audit-test-utils</artifactId>
                <version>${atlassian.audit.version}</version>
            </dependency>
            <dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>${snakeyaml.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.querylang</groupId>
                <artifactId>atlassian-query-lang</artifactId>
                <version>${aql.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.security.serialblocklist</groupId>
                <artifactId>serialblocklist</artifactId>
                <version>${serialblocklist.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.security.objectfilter</groupId>
                <artifactId>java11-objectfilter</artifactId>
                <version>${java11-objectfilter.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.platform</groupId>
                <artifactId>ctk-plugin</artifactId>
                <version>${ctk.plugin.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>javax.servlet-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-simple</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

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

            <dependency>
                <groupId>org.xerial.snappy</groupId>
                <artifactId>snappy-java</artifactId>
                <version>1.1.10.7</version>
            </dependency>

            <!-- Crowd dependencies. Remove these when the platform is aligned as per Confluence needs -->
            <dependency>
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>crowd-api</artifactId>
                <version>${crowd.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.fasterxml.jackson.core</groupId>
                        <artifactId>jackson-annotations</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-codec</groupId>
                        <artifactId>commons-codec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-collections</groupId>
                        <artifactId>commons-collections</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jakarta.mail</groupId>
                        <artifactId>jakarta.mail-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.mail</groupId>
                        <artifactId>javax.mail-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>crowd-azure-ad</artifactId>
                <version>${crowd.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.glassfish.jersey.core</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.glassfish.jersey.inject</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.glassfish.jersey.media</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>crowd-core</artifactId>
                <version>${crowd.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sun.mail</groupId>
                        <artifactId>javax.mail</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.glassfish.jersey.core</groupId>
                        <artifactId>jersey-client</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>crowd-db-config-password-cipher-encryptors</artifactId>
                <version>${crowd.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>crowd-integration-client-common</artifactId>
                <version>${crowd.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>findbugs-annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>crowd-integration-seraph</artifactId>
                <version>${crowd.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>crowd-password-encoders</artifactId>
                <version>${crowd.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.bouncycastle</groupId>
                        <artifactId>bcprov-jdk18on</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>crowd-server-api</artifactId>
                <version>${crowd.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.activation</groupId>
                        <artifactId>activation</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>javax.servlet-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.whisper</groupId>
                <artifactId>atlassian-whisper-api</artifactId>
                <version>${whisper.version}</version>
            </dependency>
            <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>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!-- REST doc (Swagger) dependencies -->
            <dependency>
                <groupId>com.atlassian.dc.swagger</groupId>
                <artifactId>annotations</artifactId>
                <version>${swagger.dc.version}</version>
            </dependency>
            <dependency>
                <groupId>io.swagger.core.v3</groupId>
                <artifactId>swagger-annotations</artifactId>
                <version>${swagger.version}</version>
            </dependency>
            <dependency>
                <groupId>com.tngtech.archunit</groupId>
                <artifactId>archunit-junit4</artifactId>
                <version>1.3.0</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>jquery</artifactId>
                <version>${atlassian.plugins.jquery.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.confluence.plugins</groupId>
                <artifactId>recently-viewed-api</artifactId>
                <version>${recently.viewed.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.mywork</groupId>
                <artifactId>mywork-api</artifactId>
                <version>${mywork.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.retry</groupId>
                <artifactId>spring-retry</artifactId>
                <version>2.0.6</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.instrumentation</groupId>
                <artifactId>atlassian-instrumentation-core</artifactId>
                <version>${atlassian.instrumentation.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.instrumentation</groupId>
                <artifactId>atlassian-instrumentation-expose-jmx</artifactId>
                <version>${atlassian.instrumentation.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.plugins.rest</groupId>
                <artifactId>atlassian-rest-common</artifactId>
                <version>${restv1.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins.rest</groupId>
                <artifactId>atlassian-rest-doclet</artifactId>
                <version>${restv1.version}</version>
            </dependency>

            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
                <version>${jackson1.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>${jackson1.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-jaxrs</artifactId>
                <version>${jackson1.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-xc</artifactId>
                <version>${jackson1.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-crypto</artifactId>
                <version>${spring.security.crypto.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.querylang</groupId>
                <artifactId>confluence-cql-plugin</artifactId>
                <version>${cql.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.mock-server</groupId>
                <artifactId>mockserver-junit-rule</artifactId>
                <version>${mockserver.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mock-server</groupId>
                <artifactId>mockserver-core</artifactId>
                <version>${mockserver.version}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>com.sun.xml.bind</groupId>
                        <artifactId>jaxb-impl</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.servlet</groupId>
                        <artifactId>javax.servlet-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.xml.bind</groupId>
                        <artifactId>jaxb-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.velocity</groupId>
                        <artifactId>velocity-engine-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.velocity</groupId>
                        <artifactId>velocity-engine-scripting</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.eclipse.angus</groupId>
                        <artifactId>angus-activation</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.opensearch</groupId>
                <artifactId>opensearch-testcontainers</artifactId>
                <version>${opensearch-testcontainers.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>cloud.localstack</groupId>
                <artifactId>localstack-utils</artifactId>
                <version>${localstack.version}</version>
                <scope>test</scope>
                <exclusions>
                    <!-- Adding Jackson-datatformat-cbor manually to avoid vulnerable version(CVE-2020-28491) provided by cloud.localstack.-->
                    <exclusion>
                        <groupId>com.fasterxml.jackson.dataformat</groupId>
                        <artifactId>jackson-dataformat-cbor</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.atlassian.maven.extensions</groupId>
                    <artifactId>incremental-build-plugin</artifactId>
                    <version>0.359</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.3.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>3.6.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>3.2.4</version>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>api-compat-maven-plugin</artifactId>
                    <version>0.9.1</version>
                    <configuration>
                        <traverse>true</traverse>
                        <oldVersion>
                            <dependency>
                                <groupId>${project.groupId}</groupId>
                                <artifactId>${project.artifactId}</artifactId>
                                <version>${api.compatibility.check.version}</version>
                            </dependency>
                        </oldVersion>
                        <newVersion>
                            <dependency>
                                <groupId>${project.groupId}</groupId>
                                <artifactId>${project.artifactId}</artifactId>
                                <version>${project.version}</version>
                            </dependency>
                        </newVersion>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.gmaven</groupId>
                    <artifactId>groovy-maven-plugin</artifactId>
                    <version>2.1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.cargo</groupId>
                    <artifactId>cargo-maven2-plugin</artifactId>
                    <version>${cargo.version}</version>
                    <configuration>
                        <configuration>
                            <xmlReplacements>
                                <xmlReplacement>
                                    <!-- Sets the HTTP thread limit to match the production value defined in the
                                      common-standalone/src/main/tomcat/conf/server.xml file found in the Confluence
                                      distribution project. This prevents the HttpThreadsVsDbConnectionsHealthCheck
                                      from Johnsoning the application. -->
                                    <file>conf/server.xml</file>
                                    <xpathExpression>//Connector</xpathExpression>
                                    <attributeName>maxThreads</attributeName>
                                    <value>48</value>
                                </xmlReplacement>
                            </xmlReplacements>
                        </configuration>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${surefire.version}</version>
                    <configuration>
                        <argLine>${surefire.argLine}</argLine>
                        <skip>${maven.test.unit.skip}</skip>
                        <runOrder>alphabetical</runOrder>
                        <systemPropertyVariables>
                            <java.io.tmpdir>${java.io.tmpdir}</java.io.tmpdir>
                            <whisper.version>${whisper.version}</whisper.version>
                        </systemPropertyVariables>
                        <!-- Sets the VM argument line used when integration tests are run. -->
                        <argLine>@{utCoverageAgent}</argLine>
                        <forkCount>${surefire.forkCount}</forkCount>
                        <workingDirectory>${project.build.directory}/fork_dir_${surefire.forkNumber}</workingDirectory>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire-junit47</artifactId>
                            <version>${surefire.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>${surefire.version}</version>
                    <configuration>
                        <!-- Sets the VM argument line used when integration tests are run.
                             This breaks running tests from intellij, unless you go to the "Running Tests" setting
                             and uncheck argLine. -->
                        <argLine>@{itCoverageAgent}</argLine>
                        <forkCount>${failsafe.forkCount}</forkCount>
                    </configuration>
                    <!-- Same version as surefire -->
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire-junit47</artifactId>
                            <version>${surefire.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.5.3</version>
                    <configuration>
                        <!-- Looks like you might need to add -P here as well :( http://jira.codehaus.org/browse/MRELEASE-459 -->
                        <arguments>-DskipTests=true -Dmaven.javadoc.skip=true -Dprofile=false -P${release.plugin.perform.profiles} ${release.plugin.extraArguments}</arguments>
                        <preparationGoals>${release.plugin.preparation.goals}</preparationGoals>
                        <goals>${release.plugin.goals}</goals>
                        <releaseProfiles>${release.plugin.perform.profiles}</releaseProfiles>
                        <scmCommentPrefix>#noissue [${release.plugin.trigger.userName}] [maven-release-plugin]</scmCommentPrefix>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${javadoc.version}</version>
                    <configuration>
                        <!--
                        Doclint turned off because our javadocs are not java8 compatible.
                        Search for -Xdoclint:none all over the rest of the poms and fix it!
                        To test, run this from the root project
                        mvn javadoc:aggregate
                        -->
                        <doclint>none</doclint>
                        <maxmemory>1536m</maxmemory>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>2.5</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.5</version>
                    <!-- we need the fix for MRESOURCES-39 -->
                    <configuration>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <version>2.6</version>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>maven-up-and-down-plugin</artifactId>
                    <version>0.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.8</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>3.0.0</version>
                    <configuration>
                        <environmentVariables>
                            <npm_config_tmp>${project.build.directory}/npm_tmp</npm_config_tmp>
                        </environmentVariables>
                        <useMavenLogger>true</useMavenLogger>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>xml-maven-plugin</artifactId>
                    <version>1.0.2</version>
                </plugin>
                <!-- If the maven-source-plugin is invoked, it should not attach the sources
                     to the main artifacts, since that would get them deployed alongside in the
                     public repository. -->
                <plugin>
                    <artifactId>maven-source-plugin</artifactId>
                    <configuration>
                        <attach>false</attach>
                    </configuration>
                </plugin>
                <!-- Should match the version in AMPS, while we still use it at all -->
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>${maven-bundle-plugin.version}</version>
                    <extensions>true</extensions>
                    <configuration>
                        <instructions>
                            <!--
                            The version of bndlib that we currently use (3.5.0) doesn't recognise Java versions >8,
                            and so generates an invalid EE (Execution Environment) Require-Capability manifest entry in
                            the bundles when we use Java 11 bytecode. We don't really need this entry, though, so we
                            until such a time as we can upgrade bndlib and felix (since Felix needs to be able to
                            understand the EE value), the simple workaround is to instruct bndlib to suppress generation
                            of the entry entirely, using the -noee directive (which is phrased as _noee in XML).
                            -->
                            <_noee>true</_noee>
                        </instructions>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>biz.aQute.bnd</groupId>
                            <artifactId>biz.aQute.bndlib</artifactId>
                            <version>${confluence.project.bndlib.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.sonarsource.scanner.maven</groupId>
                    <artifactId>sonar-maven-plugin</artifactId>
                </plugin>

                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>amps-maven-plugin</artifactId>
                    <version>${amps8.version}</version>
                    <dependencies>
                        <!-- remove when we reach an AMPS version that shares our rest-doclet version -->
                        <dependency>
                            <groupId>com.atlassian.plugins.rest</groupId>
                            <artifactId>atlassian-rest-doclet</artifactId>
                            <version>${restv1.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>com.google.guava</groupId>
                            <artifactId>guava</artifactId>
                            <version>${guava.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>confluence-maven-plugin</artifactId>
                    <version>${amps8.version}</version>
                    <configuration>
                        <platformVersion>${platform.dependencies.version}</platformVersion>
                    </configuration>
                    <dependencies>
                        <!-- remove when we reach an AMPS version that shares our rest-doclet version -->
                        <dependency>
                            <groupId>com.atlassian.plugins.rest</groupId>
                            <artifactId>atlassian-rest-doclet</artifactId>
                            <version>${restv1.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>com.google.guava</groupId>
                            <artifactId>guava</artifactId>
                            <version>${guava.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>refapp-maven-plugin</artifactId>
                    <version>${amps8.version}</version>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.plugin</groupId>
                    <artifactId>atlassian-spring-scanner-maven-plugin</artifactId>
                    <version>${atlassian.spring.scanner.version}</version>
                    <configuration>
                        <verbose>false</verbose>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>atlassian-spring-scanner</goal>
                            </goals>
                            <phase>process-classes</phase>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>com.samaxes.maven</groupId>
                    <artifactId>minify-maven-plugin</artifactId>
                    <version>${minify.maven.plugin.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>minify</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>selenium-maven-plugin</artifactId>
                    <version>${selenium.maven.version}</version>
                    <configuration>
                        <firefoxProfileTemplate>${selenium.firefox.profile}</firefoxProfileTemplate>
                    </configuration>
                    <executions>
                        <execution>
                            <id>start-xvfb-instance</id>
                            <goals>
                                <goal>xvfb</goal>
                            </goals>
                            <phase>pre-integration-test</phase>
                            <configuration>
                                <skip>${selenium.xvfb.skip}</skip>
                                <display>${selenium.xvfb.display}</display>
                            </configuration>
                        </execution>
                        <execution>
                            <id>start-selenium-server</id>
                            <goals>
                                <goal>start-server</goal>
                            </goals>
                            <phase>pre-integration-test</phase>
                            <configuration>
                                <background>true</background>
                                <singleWindow>${single.window}</singleWindow>
                                <port>${selenium.server.port}</port>
                            </configuration>
                        </execution>
                        <execution>
                            <id>stop-selenium-server</id>
                            <goals>
                                <goal>stop-server</goal>
                            </goals>
                            <phase>post-integration-test</phase>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>${maven-enforcer.version}</version>
                    <dependencies>
                        <dependency>
                            <groupId>com.atlassian.confluence.maven-enforcer-rules</groupId>
                            <artifactId>confluence-maven-enforcer-rules</artifactId>
                            <version>${confluence.maven-enforcer-rules.version}</version>
                        </dependency>
                    </dependencies>
                    <executions>
                        <execution>
                            <id>ban-milestones-and-release-candidates</id>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                            <phase>validate</phase>
                            <configuration>
                                <rules>
                                    <banVersionDeps>
                                        <excludes>
                                            <exclude>com.atlassian.crowd:*</exclude>
                                            <exclude>com.atlassian.functest:functest-plugin</exclude>
                                            <exclude>com.atlassian.plugins:atlassian-plugins-webresource</exclude>
                                            <exclude>com.atlassian.plugins:atlassian-plugins-webresource-plugin</exclude>
                                            <exclude>com.atlassian.plugins:atlassian-plugins-webresource-rest</exclude>
                                            <exclude>com.atlassian.plugins:jquery</exclude>
                                            <exclude>com.atlassian.selenium:*</exclude>
                                            <exclude>com.atlassian.translations:*</exclude>
                                            <exclude>com.octo.captcha:jcaptcha-api</exclude>
                                            <exclude>com.octo.captcha:jcaptcha-core</exclude>
                                            <exclude>org.eclipse.gemini.blueprint:*</exclude>
                                            <!-- TODO: remove when on a non-milestone version-->
                                            <exclude>com.atlassian.analytics:*</exclude>
                                            <!-- TODO: remove when on a non-milestone version-->
                                            <exclude>com.atlassian.applinks:*</exclude>
                                            <!-- TODO: remove when on a non-milestone version-->
                                            <!--                                                <exclude>com.atlassian.activeobjects:activeobjects-plugin</exclude>-->
                                            <!--                                                <exclude>com.atlassian.scheduler:atlassian-scheduler-caesium</exclude>-->
                                            <!--                                                <exclude>com.atlassian.upm:licensing-api</exclude>-->
                                            <!--                                                <exclude>com.atlassian.scheduler:atlassian-scheduler-api</exclude>-->
                                        </excludes>
                                    </banVersionDeps>
                                </rules>
                            </configuration>
                        </execution>

                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                </plugin>
                <!-- These override the parent pom versions. Remove these when maven 3 migration is complete with newer parent pom -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.3.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.4</version>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.lesscss</groupId>
                    <artifactId>lesscss-maven-plugin</artifactId>
                    <version>${atlassian.less.version}</version>
                    <executions>
                        <execution>
                            <id>compile-less</id>
                            <goals>
                                <goal>compile</goal>
                            </goals>
                            <phase>process-resources</phase>
                            <configuration>
                                <sourceDirectory>${project.basedir}/src/main/resources</sourceDirectory>
                                <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>${license-maven-plugin.version}</version>
                    <configuration>
                        <nonMavenDependenciesFile>${thirdpartylicensing.dir}/missing-non-maven-dependencies.properties</nonMavenDependenciesFile>
                        <licensesDirectory>${thirdpartylicensing.licenses}</licensesDirectory>
                        <bomFile>${thirdpartylicensing.bom}</bomFile>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>3.3.0</version>
                    <dependencies>
                        <dependency>
                            <groupId>com.puppycrawl.tools</groupId>
                            <artifactId>checkstyle</artifactId>
                            <version>${checkstyle.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>io.fabric8</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <version>${docker-maven-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>sql-maven-plugin</artifactId>
                    <version>1.5</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>${spring-boot.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.sling</groupId>
                    <artifactId>jspc-maven-plugin</artifactId>
                    <version>${sling.jspc.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.drs</groupId>
                    <artifactId>dependency-report-maven-plugin</artifactId>
                    <version>2.0.9</version>
                </plugin>
                <!-- Spotless Plugin with integrated SortPom -->
                <plugin>
                    <groupId>com.diffplug.spotless</groupId>
                    <artifactId>spotless-maven-plugin</artifactId>
                    <version>${spotless-maven-plugin.version}</version>
                    <configuration>
                        <pom>
                            <sortPom>
                                <nrOfIndentSpace>4</nrOfIndentSpace>
                                <sortModules>true</sortModules>
                                <expandEmptyElements>false</expandEmptyElements>
                                <spaceBeforeCloseEmptyElement>true</spaceBeforeCloseEmptyElement>
                                <sortDependencies>scope</sortDependencies>
                                <sortDependencyManagement>scope</sortDependencyManagement>
                                <sortDependencyExclusions>groupId,artifactId</sortDependencyExclusions>
                                <sortProperties>true</sortProperties>
                            </sortPom>
                        </pom>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <version>1.0</version>
                <configuration>
                    <revisionOnScmFailure>${git.commit.hash.unknown}</revisionOnScmFailure>
                    <buildNumberPropertyName>git.commit.hash</buildNumberPropertyName>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>create</goal>
                        </goals>
                        <phase>validate</phase>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <executions>
                    <execution>
                        <id>clean-bundled-jars</id>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                        <phase>process-resources</phase>
                        <configuration>
                            <excludeDefaultDirectories>true</excludeDefaultDirectories>
                            <filesets>
                                <fileset>
                                    <directory>${project.build.directory}/classes/META-INF/lib</directory>
                                    <includes>
                                        <include>*</include>
                                    </includes>
                                </fileset>
                            </filesets>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <inherited>false</inherited>
                <dependencies>
                    <dependency>
                        <groupId>ant-contrib</groupId>
                        <artifactId>ant-contrib</artifactId>
                        <version>${ant-contrib.version}</version>
                        <exclusions>
                            <exclusion>
                                <groupId>ant</groupId>
                                <artifactId>ant</artifactId>
                            </exclusion>
                        </exclusions>
                    </dependency>
                    <dependency>
                        <groupId>org.apache.ant</groupId>
                        <artifactId>ant</artifactId>
                        <version>${ant.version}</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <phase>validate</phase>
                        <configuration>
                            <target>
                                <ac:if xmlns:ac="antlib:net.sf.antcontrib">
                                    <available file=".idea/" type="dir" />
                                    <ac:then>
                                        <copy file="resources/idea/codeStyleSettings.xml" overwrite="false" tofile=".idea/codeStyleSettings.xml" />
                                    </ac:then>
                                </ac:if>
                            </target>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <configuration>
                    <consoleOutput>true</consoleOutput>
                    <failOnViolation>true</failOnViolation>
                    <configLocation>resources/checkstyle/checkstyle-rules.xml</configLocation>
                    <includeTestSourceDirectory>true</includeTestSourceDirectory>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <inherited>false</inherited>
                <executions>
                    <!-- pre-install the required versions of node and npm, before any child modules need it -->
                    <!-- avoids partial installs being used and breaking multi-threaded builds -->
                    <execution>
                        <id>node-install</id>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <phase>generate-sources</phase>
                        <configuration>
                            <skip>${npm.install.skip}</skip>
                            <executable>${npm.cmd}</executable>
                            <arguments>
                                <!-- just a dummy command to ensure npm is installed -->
                                <argument>--version</argument>
                            </arguments>
                        </configuration>
                    </execution>
                    <execution>
                        <id>frontend-install</id>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <!-- In case we use npm for other things than testing, change this to generate-sources -->
                        <phase>test</phase>
                        <configuration>
                            <skip>${npm.install.skip}</skip>
                            <!-- Only used for tests so don't install if not running tests -->
                            <skip>${npm.test.skip}</skip>
                            <executable>${npm.cmd}</executable>
                            <arguments>
                                <argument>install</argument>
                                <argument>--no-audit</argument>
                                <argument>--no-fund</argument>
                                <argument>--prefer-offline</argument>
                            </arguments>
                        </configuration>
                    </execution>
                    <execution>
                        <id>frontend-checks</id>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <phase>test</phase>
                        <configuration>
                            <skip>${npm.test.skip}</skip>
                            <executable>${npm.cmd}</executable>
                            <arguments>
                                <argument>run</argument>
                                <argument>checks</argument>
                            </arguments>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.diffplug.spotless</groupId>
                <artifactId>spotless-maven-plugin</artifactId>
                <configuration>
                    <skip>${skip.formatting.check}</skip>
                </configuration>
                <executions>
                    <execution>
                        <id>spotless-check</id>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <phase>validate</phase>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <outputDirectory>${project.build.directory}/classes</outputDirectory>
        <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
    </build>
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>${javadoc.version}</version>
                <configuration>
                    <!--
                    Doclint turned off because our javadocs are not java8 compatible.
                    Search for -Xdoclint:none all over the rest of the poms and fix it!
                    To test, run this from the root project
                    mvn javadoc:aggregate-no-fork
                    -->
                    <doclint>none</doclint>
                    <maxmemory>1536m</maxmemory>
                </configuration>
                <reportSets>
                    <reportSet>
                        <id>aggregate</id>
                        <reports>
                            <report>aggregate-no-fork</report>
                        </reports>
                        <inherited>false</inherited>
                    </reportSet>
                    <reportSet>
                        <id>default</id>
                        <reports>
                            <report>javadoc</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>2.5</version>
            </plugin>
        </plugins>
    </reporting>
    <profiles>
        <profile>
            <id>dependency-validation</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>ban_duplicate_dependencies</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <phase>validate</phase>
                                <configuration>
                                    <rules>
                                        <banDuplicatePomDependencyVersions />
                                    </rules>
                                </configuration>
                            </execution>
                            <execution>
                                <id>ban_conflicting_dependencies</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <phase>validate</phase>
                                <configuration>
                                    <rules>
                                        <!--We only do guava from now on -->
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>make sure google-collections is not accidentally included as a transitive
                                                dependency. Use guava instead</message>
                                            <excludes>
                                                <exclude>com.atlassian.bundles:google-collections</exclude>
                                                <exclude>com.google.collections:google-collections</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>make sure bouncycastle bc*-jdk14, 15 or 16 are not accidentally
                                                included as transitive dependencies. Use bc*-lts8on instead</message>
                                            <excludes>
                                                <exclude>bouncycastle:*</exclude>
                                                <exclude>org.bouncycastle:bcmail-jdk14</exclude>
                                                <exclude>org.bouncycastle:bcmail-jdk15</exclude>
                                                <exclude>org.bouncycastle:bcmail-jdk16</exclude>
                                                <exclude>org.bouncycastle:bcmail-jdk15on</exclude>
                                                <exclude>org.bouncycastle:bcmail-jdk15to18</exclude>
                                                <exclude>org.bouncycastle:bcmail-jdk18on</exclude>
                                                <exclude>org.bouncycastle:bcpkix-jdk14</exclude>
                                                <exclude>org.bouncycastle:bcpkix-jdk15</exclude>
                                                <exclude>org.bouncycastle:bcpkix-jdk16</exclude>
                                                <exclude>org.bouncycastle:bcpkix-jdk15on</exclude>
                                                <exclude>org.bouncycastle:bcpkix-jdk15to18</exclude>
                                                <exclude>org.bouncycastle:bcpkix-jdk18on</exclude>
                                                <exclude>org.bouncycastle:bcprov-jdk14</exclude>
                                                <exclude>org.bouncycastle:bcprov-jdk15</exclude>
                                                <exclude>org.bouncycastle:bcprov-jdk16</exclude>
                                                <exclude>org.bouncycastle:bcprov-jdk15on</exclude>
                                                <exclude>org.bouncycastle:bcprov-jdk15to18</exclude>
                                                <exclude>org.bouncycastle:bcprov-jdk18on</exclude>
                                            </excludes>
                                            <includes>
                                                <!-- MockServer uses these, so we allow them in test-scope to avoid having to redeclare the *-lts18on ones every time we use MockServer -->
                                                <include>org.bouncycastle:bcpkix-jdk18on:*:*:test</include>
                                                <include>org.bouncycastle:bcprov-jdk18on:*:*:test</include>
                                            </includes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>make sure jackson-*-lgpl are not accidentally
                                                included as transitive dependencies. Use jackson-*-asl instead</message>
                                            <excludes>
                                                <exclude>org.codehaus.jackson:jackson-lgpl</exclude>
                                                <exclude>org.codehaus.jackson:jackson-core-lgpl</exclude>
                                                <exclude>org.codehaus.jackson:jackson-mapper-lgpl</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>make sure old junit, junit-dep, hamcrest-all, hamcrest-core,
                                                hamcrest-library, and mockito-all are not accidentally
                                                included as transitive dependencies. Use junit, hamcrest,
                                                and mockito-core instead</message>
                                            <excludes>
                                                <exclude>junit:junit:*:(,4.10]</exclude>
                                                <exclude>junit:junit-dep</exclude>
                                                <exclude>org.mockito:mockito-all</exclude>
                                                <exclude>org.hamcrest:hamcrest-*</exclude>
                                            </excludes>
                                            <includes>
                                                <include>junit:junit:*:[4.11,)</include>
                                            </includes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Do not use mockobjects or easymock. Don't let your friends use them either!</message>
                                            <excludes>
                                                <exclude>mockobjects:*</exclude>
                                                <exclude>org.easymock:*</exclude>
                                                <exclude>easymock:*</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Use com.google.code.findbugs:jsr305 &gt;= 1.3.9 or findbugs-annotations instead</message>
                                            <excludes>
                                                <exclude>com.google.code.findbugs:annotations</exclude>
                                                <!-- allow 3rd party code to use findbugs-annotations, since there are no standard replacements for some of them -->
                                                <!--<exclude>com.google.code.findbugs:findbugs-annotations</exclude>-->
                                                <exclude>com.googlecode.findbugs:jsr305</exclude>
                                                <exclude>net.sourceforge.findbugs:jsr305</exclude>
                                                <exclude>com.google.code.findbugs:jsr305:(,1.3.8]</exclude>
                                                <exclude>com.atlassian.bundles:jsr305</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.jsr305</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>exclude wrong javamail jars, use jakarta.mail:jakarta.mail-api</message>
                                            <excludes>
                                                <exclude>javax.mail:mail</exclude>
                                                <exclude>javamail:javamail</exclude>
                                                <exclude>javax.mail:javax.mail-api</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>exclude javax.xml apis that are now in the JDK</message>
                                            <excludes>
                                                <exclude>org.apache.geronimo.specs:geronimo-activation</exclude>
                                                <exclude>xml-apis:xml-apis</exclude>
                                                <exclude>xml-apis:xmlParserAPIs</exclude>
                                                <exclude>javax.xml:jaxp-api</exclude>
                                                <exclude>javax.xml.parsers:jaxp-api</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Use jakarta.activation:jakarta.activation-api</message>
                                            <excludes>
                                                <!-- Allow use of the combined api+impl jar in core -->
                                                <exclude>javax.activation:javax.activation-api</exclude>
                                                <exclude>javax.activation:activation</exclude>
                                                <exclude>jaxb:activation</exclude>
                                                <exclude>com.sun.activation:javax.activation</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Use jakarta.xml.bind:jakarta.xml.bind-api</message>
                                            <excludes>
                                                <exclude>javax.xml.bind:jaxb-api</exclude>
                                                <exclude>javax.xml:jaxb-api</exclude>
                                                <exclude>javax.xml.bind:jsr173_api</exclude>
                                                <exclude>jaxb:jsr173_api</exclude>
                                                <exclude>org.apache.servicemix.specs:org.apache.servicemix.specs.jaxb-api*</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Only use xml-apis:xml-apis-ext for now.</message>
                                            <excludes>
                                                <exclude>org.w3c.css:sac</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Use fasterxml woodstox</message>
                                            <excludes>
                                                <exclude>org.codehaus.woodstox:wstx-asl</exclude>
                                                <exclude>woodstox:wstx-asl</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>exclude duplicate org.aopalliance dependencies, use spring-aop instead</message>
                                            <excludes>
                                                <exclude>org.glassfish.hk2.external:aopalliance-repackaged</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Use javax.transaction:javax.transaction-api instead</message>
                                            <excludes>
                                                <exclude>jta:jta</exclude>
                                                <exclude>javax.transaction:jta</exclude>
                                                <exclude>javax.transaction:transaction-api</exclude>
                                                <exclude>javax.transaction:com.springsource.javax.transaction</exclude>
                                                <exclude>org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Use official bundles for specifications instead</message>
                                            <excludes>
                                                <exclude>org.apache.geronimo.specs:*</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Use org.jdom:jdom instead</message>
                                            <excludes>
                                                <exclude>jdom:jdom</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>exclude org.springframework:spring, spring-mock and org.springframework:org.springframework.*
                                                as it is no longer available in newer spring releases.
                                                Do not mix and match regular spring jars and springsource and servicemix jars either.
                                                Use org.springframework:spring-beans, spring-context, spring-core, spring-jdbc, etc instead.</message>
                                            <excludes>
                                                <exclude>org.springframework:spring</exclude>
                                                <exclude>org.springframework:spring-mock</exclude>
                                                <exclude>org.springframework:org.springframework.aop</exclude>
                                                <exclude>org.springframework:org.springframework.aspects</exclude>
                                                <exclude>org.springframework:org.springframework.beans</exclude>
                                                <exclude>org.springframework:org.springframework.context</exclude>
                                                <exclude>org.springframework:org.springframework.context.support</exclude>
                                                <exclude>org.springframework:org.springframework.core</exclude>
                                                <exclude>org.springframework:org.springframework.expression</exclude>
                                                <exclude>org.springframework:org.springframework.jdbc</exclude>
                                                <exclude>org.springframework:org.springframework.jms</exclude>
                                                <exclude>org.springframework:org.springframework.orm</exclude>
                                                <exclude>org.springframework:org.springframework.oxm</exclude>
                                                <exclude>org.springframework:org.springframework.spring-library</exclude>
                                                <exclude>org.springframework:org.springframework.transaction</exclude>
                                                <exclude>org.springframework:org.springframework.web</exclude>
                                                <exclude>org.springframework:org.springframework.web.servlet</exclude>
                                                <exclude>org.springframework:org.springframework.web.portlet</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.spring-aop</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.spring-aspects</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.spring-beans</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.spring-context</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.spring-context-support</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.spring-core</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.spring-expression</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.spring-jms</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.spring-orm</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.spring-oxm</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.spring-test</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.spring-web</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.spring-webmvc</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.spring-webmvc-portlet</exclude>
                                                <exclude>org.aopalliance:com.springsource.org.aopalliance</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Make sure commons-logging or old jcl104-over-slf4 are not accidentally
                                                included as transitive dependencies.
                                                org.slf4j:jcl-over-slf4j is provided instead.
                                                It provides the commons-logging api packages,
                                                so you should exclude transitive deps on commons-logging.
                                                (If you're using the commons-logging impl classes,
                                                which jcl-over-slf4j doesn't provide - well, don't do that.)</message>
                                            <excludes>
                                                <exclude>commons-logging:commons-logging</exclude>
                                                <exclude>commons-logging:commons-logging-api</exclude>
                                                <exclude>org.slf4j:jcl104-over-slf4j</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Confluence Server must not depend on WorkContext</message>
                                            <excludes>
                                                <exclude>com.atlassian.workcontext:*</exclude>
                                            </excludes>
                                            <includes>
                                                <!-- For now, VCacheTestHelper brings in WorkContext. Sigh -->
                                                <include>com.atlassian.workcontext:*:*:*:test</include>
                                            </includes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Avoid using jetty. Use org.eclipse.jetty if you must</message>
                                            <excludes>
                                                <exclude>org.mortbay.jetty:jetty</exclude>
                                                <exclude>org.mortbay.jetty:jetty-util</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Use guice, not sisu-guice</message>
                                            <excludes>
                                                <exclude>org.sonatype.sisu:sisu-guice</exclude>
                                            </excludes>
                                            <includes>
                                                <include>org.sonatype.sisu:sisu-guice:*:*:test</include>
                                            </includes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Use org.ow2.asm:asm, org.apache.bcel:bcel, net.bytebuddy:byte-buddy, cglib:cglib, org.javassist:javassist</message>
                                            <excludes>
                                                <exclude>asm</exclude>
                                                <exclude>org.ow2.asm:asm-all</exclude>
                                                <exclude>org.ow2.asm:asm-debug-all</exclude>
                                                <exclude>bcel:bcel</exclude>
                                                <exclude>org.apache:bcel</exclude>
                                                <exclude>net.bytebuddy:byte-buddy-dep</exclude>
                                                <exclude>cglib:cglib-full</exclude>
                                                <exclude>cglib:cglib-nodep</exclude>
                                                <exclude>javassist:javassist</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.asm</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.bcel</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib</exclude>
                                                <exclude>org.apache.servicemix.bundles:org.apache.servicemix.bundles.javassist</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>log4j:log4j is banned. Use org.slf4j and/or org.apache.logging.log4j</message>
                                            <excludes>
                                                <exclude>log4j:log4j</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <excludes>
                                                <exclude>javax.xml.stream:stax-api</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Old/deprecated Apache Commons dependencies are banned</message>
                                            <excludes>
                                                <exclude>org.apache.commons:commons-math3</exclude>
                                                <exclude>org.apache.commons:commons-lang</exclude>
                                                <exclude>commons-pool:commons-pool</exclude>
                                                <exclude>commons-discovery:commons-discovery</exclude>
                                            </excludes>
                                            <includes>
                                                <!-- Utilised by confluence-document-conversion-library -->
                                                <include>org.apache.commons:commons-math3:*:*:runtime</include>
                                                <!-- Utilised by confluence-remote-page-view-plugin, confluence-software-blueprints -->
                                                <include>org.apache.commons:commons-lang:*:*:runtime</include>
                                                <!-- Required transitive of axis:axis in confluence-acceptance-test -->
                                                <include>commons-discovery:commons-discovery:*:*:runtime</include>
                                                <include>commons-discovery:commons-discovery:*:*:test</include>
                                            </includes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>Use com.atlassian.scheduler:atlassian-scheduler-caesium instead</message>
                                            <excludes>
                                                <exclude>com.atlassian.scheduler.caesium:atlassian-scheduler-caesium</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                    </rules>
                                    <fail>true</fail>
                                </configuration>
                            </execution>
                            <execution>
                                <id>enforce_slf4j_binding_scope</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <phase>validate</phase>
                                <configuration>
                                    <rules>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>dependencies should not provide their own slf4j bindings</message>
                                            <excludes>
                                                <exclude>org.slf4j:slf4j-jdk14</exclude>
                                                <exclude>org.slf4j:slf4j-log4j12</exclude>
                                                <exclude>org.slf4j:slf4j-nop</exclude>
                                                <exclude>org.slf4j:slf4j-simple</exclude>
                                                <exclude>ch.qos.logback:logback-classic</exclude>
                                            </excludes>
                                            <includes>
                                                <include>org.slf4j:slf4j-simple:*:*:test</include>
                                            </includes>
                                        </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 confluence-bundled-plugins-library itself, other plugins shouldn't 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>
                            <execution>
                                <id>ban_java_ee_legacy_dependency</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <phase>validate</phase>
                                <configuration>
                                    <rules>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>javax.xml.ws:jaxws-api has been replaced by jakarta.xml.ws:jakarta.xml.ws-api</message>
                                            <excludes>
                                                <exclude>javax.xml.ws:jaxws-api</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>javax.annotation:javax.annotation-api has been replaced by jakarta.annotation:jakarta.annotation-api</message>
                                            <excludes>
                                                <exclude>javax.annotation:javax.annotation-api</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>javax.validation:validation-api has been replaced by jakarta.validation:jakarta.validation-api</message>
                                            <excludes>
                                                <exclude>javax.validation:validation-api</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <message>javax.json:javax.json-api has been replaced by jakarta.json:jakarta.json-api</message>
                                            <excludes>
                                                <exclude>javax.json:javax.json-api</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                    </rules>
                                    <fail>true</fail>
                                </configuration>
                            </execution>
                            <execution>
                                <id>ban_dependency_version_ranges</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <phase>validate</phase>
                                <configuration>
                                    <rules>
                                        <myCustomRule implementation="com.atlassian.confluence.maven.enforcer.rules.BanDependencyVersionRangesRule">
                                            <failureMessage>Some project dependencies have version ranges, which is not allowed. Use dependency:tree to find them.</failureMessage>
                                        </myCustomRule>
                                    </rules>
                                    <fail>true</fail>
                                </configuration>
                            </execution>
                            <execution>
                                <id>consistent-tomcat-versions</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <phase>validate</phase>
                                <configuration>
                                    <rules>
                                        <requireProperty>
                                            <property>tomcat.artifact.version</property>
                                            <regex>^${tomcat.canonical.version}-atlassian-hosted$</regex>
                                            <regexMessage>tomcat.artifact.version property (${tomcat.artifact.version}) must equal '${tomcat.canonical.version}-atlassian-hosted' but was ${tomcat.artifact.version}</regexMessage>
                                        </requireProperty>
                                    </rules>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>ban_platform_dependencies_version_override</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>ban_platform_dependencies_version_override</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <phase>validate</phase>
                                <configuration>
                                    <rules>
                                        <myCustomRule implementation="com.atlassian.confluence.maven.enforcer.rules.PlatformDependencyVersionEnforcerRule">
                                            <platformGroupId>com.atlassian.platform</platformGroupId>
                                            <platformArtifactId>dc-platform</platformArtifactId>
                                            <version>${platform.dependencies.version}</version>
                                            <modules>
                                                <module>platform-system-classpath</module>
                                                <module>platform-framework-bundles</module>
                                                <module>platform-bundled-plugins</module>
                                                <module>platform-internal-api</module>
                                                <module>platform-deprecated-public-api</module>
                                                <module>platform-public-api</module>
                                                <module>platform-test-resources</module>
                                                <module>platform-spring-bundle</module>
                                            </modules>
                                            <excludes>
                                                <exclude>opensymphony:propertyset</exclude>
                                                <!-- Postgresql driver 42.7.5 and CCMA 3.11.3 sometimes fails to create responseStatus in GR_RESPONSE_GROUP table (CONFSRVDEV-36849) -->
                                                <exclude>org.postgresql:postgresql</exclude>
                                            </excludes>
                                        </myCustomRule>
                                    </rules>
                                    <fail>true</fail>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>errorprone</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <fork>true</fork>
                            <compilerArgs>
                                <arg>-XDcompilePolicy=simple</arg>
                                <arg>-Xplugin:ErrorProne</arg>

                                <!-- JPMS args from https://errorprone.info/docs/installation -->
                                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
                                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
                                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
                                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
                                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
                                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
                                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
                                <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
                                <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
                                <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
                            </compilerArgs>
                            <annotationProcessorPaths>
                                <path>
                                    <groupId>com.google.errorprone</groupId>
                                    <artifactId>error_prone_core</artifactId>
                                    <version>${error.prone.version}</version>
                                </path>
                            </annotationProcessorPaths>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>pmd</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-pmd-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>run pmd</id>
                                <goals>
                                    <goal>pmd</goal>
                                </goals>
                                <phase>verify</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>release</id>
            <activation>
                <property>
                    <name>performRelease</name>
                    <value>true</value>
                </property>
            </activation>
            <properties>
                <skipTests>true</skipTests>
            </properties>
        </profile>

        <profile>
            <!-- Profile to disable unit and integration tests -->
            <id>extended-acceptance-test</id>
            <properties>
                <maven.test.it.skip>true</maven.test.it.skip>
                <maven.test.unit.skip>true</maven.test.unit.skip>
            </properties>
        </profile>
        <profile>
            <id>shared-drafts</id>
            <properties>
                <shared.drafts.enabled>true</shared.drafts.enabled>
            </properties>
        </profile>
        <profile>
            <id>profile15</id>
            <properties>
                <jvm.args>-XX:MaxPermSize=128M -Djava.awt.headless=true -Xms256m -Xmx512m -Xdebug
                    -agentlib:yjpagent=port=19875,usedmem=90%</jvm.args>
            </properties>
        </profile>

        <profile>
            <id>profiledebug</id>
            <properties>
                <jvm.args>-XX:MaxPermSize=128M -Djava.awt.headless=true -Xms256m -Xmx512m -Xdebug
                    -Xrunjdwp:transport=dt_socket,server=y,suspend=${jvm.debug.suspend},address=5005
                    -agentlib:yjpagent=port=19875,usedmem=90%</jvm.args>
            </properties>
        </profile>

        <profile>
            <id>debug-suspend</id>
            <properties>
                <jvm.debug.suspend>y</jvm.debug.suspend>
            </properties>
        </profile>

        <profile>
            <id>smoke-test-modules</id>
            <activation>
                <property>
                    <name>enable.smoke-test-modules</name>
                </property>
            </activation>
            <modules>
                <module>confluence-test/confluence-sanity-tests</module>
            </modules>
        </profile>
        <profile>
            <id>save-test-results</id>
            <activation>
                <property>
                    <name>reportsDirectory</name>
                </property>
            </activation>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <version>${surefire.version}</version>
                            <configuration>
                                <reportsDirectory>${reportsDirectory}/${maven.build.timestamp}/${project.name}</reportsDirectory>
                                <argLine>@{utCoverageAgent}</argLine>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>

        <profile>
            <id>apidocs</id>
            <properties>
                <enforcer.skip>true</enforcer.skip>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>aggregate</id>
                                <goals>
                                    <goal>aggregate-no-fork</goal>
                                </goals>
                                <phase>validate</phase>
                                <!-- avoid recursive aggregate reports -->
                                <inherited>false</inherited>
                                <configuration>
                                    <skip>false</skip>
                                    <!-- Specific configuration for the aggregate report -->
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>deprecation-report</id>
            <properties>
                <enforcer.skip>true</enforcer.skip>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>aggregate</id>
                                <goals>
                                    <goal>aggregate-no-fork</goal>
                                </goals>
                                <phase>validate</phase>
                                <inherited>false</inherited>
                                <configuration>
                                    <doclet>com.atlassian.confluence.doc.DeprecationReportDoclet</doclet>
                                    <docletArtifact>
                                        <groupId>com.atlassian.confluence.contrib</groupId>
                                        <artifactId>deprecation-report-doclet</artifactId>
                                        <version>1.8.1</version>
                                    </docletArtifact>
                                    <useStandardDocletOptions>false</useStandardDocletOptions>
                                    <additionalOptions>-deprecationReportOutputFile ${project.build.directory}/deprecation-report.html
                                        -deprecationReportXmlOutputFile ${project.build.directory}/deprecation-report.xml
                                        -configFile ${basedir}/confluence-build/etc/deprecation-report-config.xml</additionalOptions>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>pre-commit-checkstyle</id>
            <dependencies>
                <dependency>
                    <groupId>com.puppycrawl.tools</groupId>
                    <artifactId>checkstyle</artifactId>
                </dependency>
            </dependencies>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-checkstyle-plugin</artifactId>
                        <configuration>
                            <sourceDirectories>${basedir}</sourceDirectories>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>spotbugs</id>
            <properties>
                <findsecbugs.version>1.12.0</findsecbugs.version>
                <!--suppress UnresolvedMavenProperty -->
                <junit.stylesheet>${session.executionRootDirectory}/scripts/findbugs/generate-junit-report.xsl</junit.stylesheet>
                <spotbugs-maven.version>4.9.3.0</spotbugs-maven.version>
                <spotbugs.effort>max</spotbugs.effort>
                <spotbugs.excludes />
                <spotbugs.failonerror>true</spotbugs.failonerror>
                <spotbugs.maxHeap>2048</spotbugs.maxHeap>
                <!-- These visitors are from the findsecbugs plugin, and they crap out when run. Seems to be a bug in those visitors -->
                <spotbugs.omit.visitors />
                <spotbugs.skip>false</spotbugs.skip>
                <spotbugs.threshold>Medium</spotbugs.threshold>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.github.spotbugs</groupId>
                        <artifactId>spotbugs-maven-plugin</artifactId>
                        <version>${spotbugs-maven.version}</version>
                        <configuration>
                            <xmlOutput>true</xmlOutput>
                            <excludeFilterFile>${spotbugs.excludes}</excludeFilterFile>
                            <maxHeap>${spotbugs.maxHeap}</maxHeap>
                            <threshold>${spotbugs.threshold}</threshold>
                            <effort>${spotbugs.effort}</effort>
                            <omitVisitors>${spotbugs.omit.visitors}</omitVisitors>
                            <skip>${spotbugs.skip}</skip>
                            <failOnError>${spotbugs.failonerror}</failOnError>

                            <plugins>
                                <plugin>
                                    <groupId>com.h3xstream.findsecbugs</groupId>
                                    <artifactId>findsecbugs-plugin</artifactId>
                                    <version>${findsecbugs.version}</version>
                                </plugin>
                            </plugins>
                        </configuration>
                        <dependencies>
                            <dependency>
                                <groupId>com.github.spotbugs</groupId>
                                <artifactId>spotbugs</artifactId>
                                <version>${spotbugs.version}</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                    <plugin>
                        <!-- This configures the XML plugin to transform the spotbugs report into a junit report -->
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>xml-maven-plugin</artifactId>
                        <configuration>
                            <transformationSets>
                                <transformationSet>
                                    <dir>target</dir>
                                    <outputDir>target</outputDir>
                                    <includes>
                                        <include>spotbugs.xml</include>
                                    </includes>
                                    <stylesheet>${junit.stylesheet}</stylesheet>
                                    <fileMappers>
                                        <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
                                            <pattern>spotbugs\.xml</pattern>
                                            <replacement>spotbugs-junit.xml</replacement>
                                        </fileMapper>
                                    </fileMappers>
                                </transformationSet>
                            </transformationSets>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
            <reporting>
                <plugins>
                    <plugin>
                        <groupId>com.github.spotbugs</groupId>
                        <artifactId>spotbugs-maven-plugin</artifactId>
                        <version>${spotbugs-maven.version}</version>
                        <configuration>
                            <xmlOutput>true</xmlOutput>
                            <failOnError>${spotbugs.failonerror}</failOnError>
                            <effort>${spotbugs.effort}</effort>
                            <omitVisitors>${spotbugs.omit.visitors}</omitVisitors>
                            <plugins>
                                <plugin>
                                    <groupId>com.h3xstream.findsecbugs</groupId>
                                    <artifactId>findsecbugs-plugin</artifactId>
                                    <version>${findsecbugs.version}</version>
                                </plugin>
                            </plugins>
                        </configuration>
                    </plugin>
                </plugins>
            </reporting>
        </profile>

        <profile>
            <id>hsqldb-server</id>
            <dependencies>
                <dependency>
                    <groupId>org.hsqldb</groupId>
                    <artifactId>hsqldb</artifactId>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>cargo-dev</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.cargo</groupId>
                        <artifactId>cargo-maven2-plugin</artifactId>
                        <configuration>
                            <wait>true</wait>
                            <container>
                                <timeout>${cargo.timeout}</timeout>
                                <systemProperties combine.children="append">
                                    <atlassian.dev.mode>true</atlassian.dev.mode>
                                    <atlassian.disable.caches>true</atlassian.disable.caches>
                                    <atlassian.webresource.disable.minification>true</atlassian.webresource.disable.minification>
                                    <confluence.context.batching.disable>true</confluence.context.batching.disable>
                                    <plugin.webresource.batching.off>true</plugin.webresource.batching.off>
                                </systemProperties>
                            </container>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <!--
            If this profile is activated, then the enforce plugin will assert that the project version in this POM
            matches the expected value. This is to try and flag up situations where master/stable branches get
            accidentally mis-merged
            -->
            <id>enforce-project-version</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>enforce-project-version</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireProperty>
                                            <property>project.version</property>
                                            <regex>${expected.project.version}</regex>
                                            <regexMessage>POM project version is expected to match ${expected.project.version}, but is ${project.version}</regexMessage>
                                        </requireProperty>
                                    </rules>
                                    <fail>true</fail>
                                </configuration>
                            </execution>
                            <execution>
                                <id>enforce-build-number</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireProperty>
                                            <property>confluence.build.number</property>
                                            <regex>${expected.build.number}</regex>
                                            <regexMessage>Build number is expected to match ${expected.build.number}, but is ${confluence.build.number}</regexMessage>
                                        </requireProperty>
                                    </rules>
                                    <fail>true</fail>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>skipTestForks</id>
            <properties>
                <surefire.forkCount>1</surefire.forkCount>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <configuration>
                                <workingDirectory>${project.build.directory}</workingDirectory>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        <profile>
            <id>test-coverage</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.atlassian.maven.plugins</groupId>
                        <artifactId>confluence-maven-plugin</artifactId>
                        <configuration>
                            <!--suppress UnresolvedMavenProperty -->
                            <jvmArgs>${jvm.args} ${itCoverageAgent}</jvmArgs>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <configuration>
                            <excludes>
                                <exclude>META-INF/**</exclude>
                            </excludes>
                        </configuration>
                        <executions>
                            <execution>
                                <id>prepare-unit-tests</id>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                                <phase>test-compile</phase>
                                <configuration>
                                    <propertyName>utCoverageAgent</propertyName>
                                </configuration>
                            </execution>
                            <!-- prepare agent for measuring integration tests -->
                            <execution>
                                <id>prepare-integration-tests</id>
                                <goals>
                                    <goal>prepare-agent-integration</goal>
                                </goals>
                                <phase>pre-integration-test</phase>
                                <configuration>
                                    <propertyName>itCoverageAgent</propertyName>
                                </configuration>
                            </execution>
                            <execution>
                                <id>parse-jacoco-ut-report</id>
                                <goals>
                                    <goal>report</goal>
                                </goals>
                                <phase>package</phase>
                            </execution>
                            <execution>
                                <id>parse-jacoco-it-report</id>
                                <goals>
                                    <goal>report-integration</goal>
                                </goals>
                                <phase>post-integration-test</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>com.atlassian.drs</groupId>
                        <artifactId>dependency-report-maven-plugin</artifactId>
                        <configuration>
                            <projectId>c79d4365-ae0e-4183-b9d2-c4f175d51250</projectId>
                            <gracefulFailure>true</gracefulFailure>
                            <artifactPath>${project.build.outputDirectory}/**/*.class</artifactPath>
                            <unitTestCodeCoveragePaths>target/jacoco.exec</unitTestCodeCoveragePaths>
                            <integrationTestCodeCoveragePaths>target/jacoco-it.exec</integrationTestCodeCoveragePaths>

                            <!--suppress UnresolvedMavenProperty -->
                            <endToEndTestCodeCoveragePaths>${maven.multiModuleProjectDirectory}/${custom.jacoco.exec.file}</endToEndTestCodeCoveragePaths>
                        </configuration>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>upload</goal>
                                </goals>
                                <phase>post-integration-test</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>generate-coverage-report-custom</id>
            <properties>
                <custom.jacoco.exec.file>confluence-build/confluence-test-runner/confluence-multi-test/target/jacoco-wd.exec</custom.jacoco.exec.file>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.atlassian.maven.plugins</groupId>
                        <artifactId>confluence-maven-plugin</artifactId>
                        <configuration>
                            <!--suppress UnresolvedMavenProperty -->
                            <jvmArgs>${jvm.args} ${itCoverageAgent}</jvmArgs>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>parse-jacoco-report-custom</id>
                                <goals>
                                    <goal>report</goal>
                                </goals>
                                <phase>validate</phase>
                                <configuration>
                                    <dataFile>${maven.multiModuleProjectDirectory}/${custom.jacoco.exec.file}</dataFile>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>jrebel</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>regex-property</id>
                                <goals>
                                    <goal>regex-property</goal>
                                </goals>
                                <phase>process-resources</phase>
                                <configuration>
                                    <name>project.relative.path</name>
                                    <value>${project.basedir}</value>
                                    <regex>^\Q${session.executionRootDirectory}\E(.*)$</regex>
                                    <replacement>$1</replacement>
                                    <failIfNoMatch>true</failIfNoMatch>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.zeroturnaround</groupId>
                        <artifactId>jrebel-maven-plugin</artifactId>
                        <version>1.1.10</version>
                        <configuration>
                            <rootPath>$${confluence.root.directory}${project.relative.path}</rootPath>
                        </configuration>
                        <executions>
                            <execution>
                                <id>generate-rebel-xml</id>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                                <phase>process-resources</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>windows</id>
            <activation>
                <os>
                    <family>windows</family>
                </os>
            </activation>
            <properties>
                <!--suppress UnresolvedMavenProperty -->
                <npm.cmd>${maven.multiModuleProjectDirectory}/scripts/npm.cmd</npm.cmd>
            </properties>
        </profile>

        <profile>
            <id>skip-frontend-build</id>
            <!-- Sets the properties which will disable all frontend build activity -->
            <properties>
                <npm.build.skip>true</npm.build.skip>
                <npm.install.skip>true</npm.install.skip>
                <npm.test.skip>true</npm.test.skip>
            </properties>
        </profile>
        <profile>
            <id>skip-frontend-test</id>
            <!-- If not running tests, skip frontend tests too  -->
            <activation>
                <property>
                    <name>skipTests</name>
                    <value>true</value>
                </property>
            </activation>
            <properties>
                <npm.test.skip>true</npm.test.skip>
            </properties>
        </profile>
        <profile>
            <id>openrewrite</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.openrewrite.maven</groupId>
                        <artifactId>rewrite-maven-plugin</artifactId>
                        <version>${openrewrite.version}</version>
                        <configuration>
                            <failOnDryRunResults>true</failOnDryRunResults>
                        </configuration>
                        <dependencies>
                            <dependency>
                                <groupId>org.openrewrite.recipe</groupId>
                                <artifactId>rewrite-migrate-java</artifactId>
                                <version>${openrewrite.recipe.version}</version>
                            </dependency>
                            <dependency>
                                <groupId>com.atlassian.platform</groupId>
                                <artifactId>openrewrite-recipes</artifactId>
                                <version>${platform.dependencies.version}</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <!-- Mac-specific formatting profile -->
        <profile>
            <id>formatting-on-mac</id>
            <activation>
                <os>
                    <family>mac</family>
                </os>
            </activation>
            <properties>
                <skip.formatting.check>false</skip.formatting.check>
            </properties>
        </profile>
    </profiles>
</project>
