<?xml version="1.0"?>
<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.13</version>
    </parent>

    <groupId>com.atlassian.jira</groupId>
    <artifactId>jira-software-application-parent</artifactId>
    <version>11.3.11</version>
    <packaging>pom</packaging>

    <name>Jira Software Application Parent POM</name>
    <description>Definition of the Jira Software Application</description>
    <licenses>
        <license>
            <distribution>repo</distribution>
            <name>Atlassian 3.0 End User License Agreement</name>
            <url>https://www.atlassian.com/end-user-agreement/</url>
        </license>
    </licenses>

    <modules>
        <module>jira-software-application</module>
        <module>jira-software-plugins</module>
    </modules>

    <scm>
        <connection>scm:git:ssh://git@stash.atlassian.com:7997/jswserver/jira-software-application.git</connection>
        <developerConnection>scm:git:ssh://git@stash.atlassian.com:7997/jswserver/jira-software-application.git</developerConnection>
        <url>https://stash.atlassian.com/projects/JSWSERVER/repos/jira-software-application</url>
        <tag>HEAD</tag>
    </scm>

    <properties>
        <enforcer.skip>true</enforcer.skip>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <jira.version>11.3.11-QR-20260820105801</jira.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <amps.version>9.5.1-e5a44e7b</amps.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <testkit.version>12.0.1</testkit.version>
        <!-- Used by legacy pocketknife (as well as others) - needs to match the querydsl version used in Jira -->
        <querydsl.version>5.1.0</querydsl.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <plugin.osgi.testrunner.version>2.0.13</plugin.osgi.testrunner.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <dvcs.version>${project.version}</dvcs.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <atlassian.spring.scanner.version>6.0.0</atlassian.spring.scanner.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <osgi.javaconfig.version>0.6.0</osgi.javaconfig.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <versions-maven-plugin.version>2.13.0</versions-maven-plugin.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <docker.maven.plugin.version>0.48.0</docker.maven.plugin.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <io.swagger.core.v3.version>2.2.30</io.swagger.core.v3.version>
        <!-- Blank line to avoid conflicts -->
        <jira.swagger.extras.version>2.0.0</jira.swagger.extras.version>
        <!-- Blank line to avoid conflicts -->
        <swagger.maven.plugin.version>3.0.2-atlassian-1</swagger.maven.plugin.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <jersey-1-test.version>1.19.5-atlassian-17</jersey-1-test.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <sonar.version>5.1.0.4751</sonar.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <functest.plugin.version>4.0.1</functest.plugin.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <jira.activeobjects.version>5.0.3</jira.activeobjects.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <assertj.version>3.25.3</assertj.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <pocketknife.querydsl.version>9.0.1</pocketknife.querydsl.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <mysql.jdbc.version>8.0.33</mysql.jdbc.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <hsql.jdbc.version>1.8.0.10</hsql.jdbc.version>
        <!-- Line break to avoid merge conflicts with adjacent lines -->
        <software-language-pack.version>11.4.0.v20251126082814</software-language-pack.version>
        <software-language-pack-de_DE.version>${software-language-pack.version}</software-language-pack-de_DE.version>
        <software-language-pack-es_ES.version>${software-language-pack.version}</software-language-pack-es_ES.version>
        <software-language-pack-fr_FR.version>${software-language-pack.version}</software-language-pack-fr_FR.version>
        <software-language-pack-ja_JP.version>${software-language-pack.version}</software-language-pack-ja_JP.version>
        <software-language-pack-ru_RU.version>${software-language-pack.version}</software-language-pack-ru_RU.version>
        <software-language-pack-pt_BR.version>${software-language-pack.version}</software-language-pack-pt_BR.version>
        <software-language-pack-ko_KR.version>${software-language-pack.version}</software-language-pack-ko_KR.version>
        <software-language-pack-en_US.version>${software-language-pack.version}</software-language-pack-en_US.version>
        <software-language-pack-zh_CN.version>${software-language-pack.version}</software-language-pack-zh_CN.version>
        <software-language-pack-cs_CZ.version>${software-language-pack.version}</software-language-pack-cs_CZ.version>
        <software-language-pack-et_EE.version>${software-language-pack.version}</software-language-pack-et_EE.version>
        <software-language-pack-da_DK.version>${software-language-pack.version}</software-language-pack-da_DK.version>
        <software-language-pack-is_IS.version>${software-language-pack.version}</software-language-pack-is_IS.version>
        <software-language-pack-no_NO.version>${software-language-pack.version}</software-language-pack-no_NO.version>
        <software-language-pack-ro_RO.version>${software-language-pack.version}</software-language-pack-ro_RO.version>
        <software-language-pack-sk_SK.version>${software-language-pack.version}</software-language-pack-sk_SK.version>
        <software-language-pack-pl_PL.version>${software-language-pack.version}</software-language-pack-pl_PL.version>
        <software-language-pack-sv_SE.version>${software-language-pack.version}</software-language-pack-sv_SE.version>
        <software-language-pack-hu_HU.version>${software-language-pack.version}</software-language-pack-hu_HU.version>
        <software-language-pack-fi_FI.version>${software-language-pack.version}</software-language-pack-fi_FI.version>
        <software-language-pack-it_IT.version>${software-language-pack.version}</software-language-pack-it_IT.version>
        <software-language-pack-nl_NL.version>${software-language-pack.version}</software-language-pack-nl_NL.version>

        <!-- Front end dependencies -->
        <node.installDirectory>${maven.multiModuleProjectDirectory}/target</node.installDirectory>
        <npm.version>10.8.2</npm.version>
        <yarn.version>1.22.22</yarn.version>

        <frontend.maven.plugin.version>1.15.1-atlassian-6</frontend.maven.plugin.version>
        <frontend.install.cmd.forDevelopment>install --immutable</frontend.install.cmd.forDevelopment>
        <frontend.install.cmd.noDevDependencies>install --immutable</frontend.install.cmd.noDevDependencies>
        <frontend.install.cmd.ci>install --immutable</frontend.install.cmd.ci>

        <maven.compiler.source>${jdk.level}</maven.compiler.source>
        <maven.compiler.target>${jdk.level}</maven.compiler.target>
        <jdk.level>21</jdk.level>

        <nexus.staging.autoRelease>true</nexus.staging.autoRelease>

        <thirdpartylicensing.dir>${user.dir}/third-party-licensing</thirdpartylicensing.dir>
        <thirdpartylicensing.licenses>${thirdpartylicensing.dir}/licenses/</thirdpartylicensing.licenses>
        <thirdpartylicensing.bom>${thirdpartylicensing.dir}/bom.csv</thirdpartylicensing.bom>
        <thirdpartylicensing.deployBom>false</thirdpartylicensing.deployBom>
        <!--code coverage-->
        <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
        <sonar.coverage.jacoco.xmlReportPaths>${project.basedir}/target/site/jacoco/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
        <sonar.language>java</sonar.language>
        <sonar.coverage.exclusions>jira-software-application/**, scripts/**, third-party-licensing/**, jira-software-plugins/jira-agile/greenhopper-integration-test/**,  jira-software-plugins/jira-dvcs-connector-server/**, jira-software-plugins/jira-development-status-server/**</sonar.coverage.exclusions>
        <jacocoArgLine/>
        <jvmOpens/>
        <jvm.test.opens>--add-opens=java.base/jdk.internal.util.random=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.nio.file=ALL-UNNAMED --add-opens=java.base/javax.crypto=ALL-UNNAMED --add-opens=java.management/javax.management=ALL-UNNAMED --add-opens=java.desktop/sun.font=ALL-UNNAMED --add-opens=java.base/sun.reflect.generics.parser=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-exports=java.base/sun.util.calendar=ALL-UNNAMED --add-exports=java.base/sun.security.action=ALL-UNNAMED --add-exports=java.xml/jdk.xml.internal=ALL-UNNAMED</jvm.test.opens>
        <maven.profiling.product>JSW_DC</maven.profiling.product>
        <arj.base.amps.jira.home.resource.name>jira-7-renaissance.zip</arj.base.amps.jira.home.resource.name>
        <!-- It's automatically discovered by the cache plugin by following the frontend-maven-plugin configuration -->
        <maven.build.cache.exclude.nodeInstallDirectory>${node.installDirectory}</maven.build.cache.exclude.nodeInstallDirectory>

        <!-- MDK-229: Default values for FE manifest associations (SBOM) verification.
             Two name forms are intentionally set for each setting:

             (a) The parameter-element names (e.g. skipVerifyFeManifestAssociations) are
                 used by modules that explicitly reference them via `${...}` interpolation
                 inside their jira-maven-plugin <configuration> block (greenhopper/pom.xml,
                 team-management-plugin, etc.).

             (b) The dotted user-property names (e.g. verify.fe.manifest.associations.skip)
                 are the ones the plugin's @Parameter annotations actually map to. The plugin
                 reads these for modules that do NOT have an explicit <configuration>
                 override (greenhopper-client-plugin, jira-sample-transition-triggers-plugin,
                 etc.). Without these, -Dskip.sbom.verification=true would not opt those
                 modules out and the verify goal would still run.

             Defining all of them at the root pom level keeps the defaults in one place
             and lets the skip-fe-manifest-verification profile (below) flip every name
             form atomically when the activation flag is passed. -->

        <!-- (a) parameter-element names — read via `${...}` interpolation -->
        <verifyFeManifestAssociationsFailOnUndeclaredFiles>true</verifyFeManifestAssociationsFailOnUndeclaredFiles>
        <verifyFeManifestAssociationsFailOnExtraDeclarations>true</verifyFeManifestAssociationsFailOnExtraDeclarations>
        <skipReportFeManifestAssociations>false</skipReportFeManifestAssociations>
        <skipVerifyFeManifestAssociations>false</skipVerifyFeManifestAssociations>

        <!-- (b) dotted user-property names — read directly by the plugin's @Parameter mapping -->
        <verify.fe.manifest.associations.skip>false</verify.fe.manifest.associations.skip>
        <verify.fe.manifest.associations.failOnUndeclaredFiles>true</verify.fe.manifest.associations.failOnUndeclaredFiles>
        <verify.fe.manifest.associations.failOnExtraDeclarations>true</verify.fe.manifest.associations.failOnExtraDeclarations>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.atlassian.jira</groupId>
                <artifactId>jira-internal-bom</artifactId>
                <version>${jira.version}</version>
                <scope>import</scope>
                <type>pom</type>
                <exclusions>
                    <exclusion>
                        <groupId>hsqldb</groupId>
                        <artifactId>hsqldb</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.jira</groupId>
                <artifactId>jira-bundled-plugins-bom</artifactId>
                <version>${jira.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.atlassian.jira</groupId>
                <artifactId>jira-functional-tests</artifactId>
                <version>${jira.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>

            <dependency>
                <groupId>com.atlassian.jira.plugins</groupId>
                <artifactId>jira-software-monitor-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.jira.plugins</groupId>
                <artifactId>jira-software-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.jira.plugins</groupId>
                <artifactId>jira-greenhopper-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.jira.plugins</groupId>
                <artifactId>jira-greenhopper-api</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.jira.plugins</groupId>
                <artifactId>jira-development-integration-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.jira.plugins</groupId>
                <artifactId>jira-development-status-api</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.jira.plugins</groupId>
                <artifactId>jira-fisheye-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.jira.plugins</groupId>
                <artifactId>jira-bamboo-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.jira.plugins</groupId>
                <artifactId>jira-dvcs-connector-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.jira.plugins</groupId>
                <artifactId>jira-transition-triggers-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian</groupId>
                <artifactId>jira-portfolio</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian</groupId>
                <artifactId>team-management-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian</groupId>
                <artifactId>team-management-plugin</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian</groupId>
                <artifactId>portfolio-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian</groupId>
                <artifactId>portfolio-plugin</artifactId>
                <version>${project.version}</version>
                <type>test-jar</type>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-osgi-testrunner</artifactId>
                <version>${plugin.osgi.testrunner.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>junit</artifactId>
                        <groupId>junit</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>junit</artifactId>
                        <groupId>junit-dep</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-osgi-testrunner-bundle</artifactId>
                <version>${plugin.osgi.testrunner.version}</version>
            </dependency>

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

            <dependency>
                <groupId>com.atlassian.jira</groupId>
                <artifactId>jira-func-tests</artifactId>
                <version>${jira.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jdom</groupId>
                        <artifactId>jdom</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.atlassian.plugins</groupId>
                <artifactId>atlassian-plugins-osgi-javaconfig</artifactId>
                <version>${osgi.javaconfig.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
                <version>${jersey-1-test.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-json</artifactId>
                <version>${jersey-1-test.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
                <version>${jersey-1-test.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-servlet</artifactId>
                <version>${jersey-1-test.version}</version>
            </dependency>

            <dependency>
                <groupId>io.swagger.core.v3</groupId>
                <artifactId>swagger-jaxrs2-jakarta</artifactId>
                <version>${io.swagger.core.v3.version}</version>
            </dependency>

            <dependency>
                <groupId>io.swagger.core.v3</groupId>
                <artifactId>swagger-models-jakarta</artifactId>
                <version>${io.swagger.core.v3.version}</version>
            </dependency>

            <dependency>
                <groupId>io.swagger.core.v3</groupId>
                <artifactId>swagger-annotations-jakarta</artifactId>
                <version>${io.swagger.core.v3.version}</version>
            </dependency>

            <dependency>
                <groupId>hsqldb</groupId>
                <artifactId>hsqldb</artifactId>
                <version>${hsql.jdbc.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.pocketknife</groupId>
                <artifactId>atlassian-pocketknife-querydsl</artifactId>
                <version>${pocketknife.querydsl.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.atlassian.plugin</groupId>
                        <artifactId>atlassian-spring-scanner-annotation</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.atlassian.pocketknife</groupId>
                <artifactId>atlassian-pocketknife-querydsl-test-util</artifactId>
                <version>${pocketknife.querydsl.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <!-- This plugin has aggregator-style goals. Check BUILDENG-4706 for more details why it should never
                      be called from inside the normal lifecycle -->
            <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <version>1.0.1</version>
                <configuration>
                    <licensesDirectory>${thirdpartylicensing.licenses}</licensesDirectory>
                    <bomFile>${thirdpartylicensing.bom}</bomFile>
                    <nonMavenDependenciesFile>${thirdpartylicensing.dir}/missing-non-maven-dependencies.properties</nonMavenDependenciesFile>
                    <deployBom>${thirdpartylicensing.deployBom}</deployBom>
                </configuration>
            </plugin>

            <plugin>
                <groupId>com.github.eirslett</groupId>
                <artifactId>frontend-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>install-node-and-yarn</id>
                        <goals>
                            <goal>install-node-and-yarn</goal>
                        </goals>
                        <phase>generate-resources</phase>
                        <inherited>false</inherited>
                    </execution>

                    <execution>
                        <id>install-node-and-npm</id>
                        <goals>
                            <goal>install-node-and-npm</goal>
                        </goals>
                        <phase>generate-resources</phase>
                        <inherited>false</inherited>
                    </execution>

                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <!--code coverage-->
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.8.13</version>
                    <configuration>
                        <excludes>
                            <exclude>META-INF/**/*</exclude>
                        </excludes>
                    </configuration>
                </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>exec-maven-plugin</artifactId>
                    <version>${exec-maven-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>versions-maven-plugin</artifactId>
                    <version>${versions-maven-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.plugin</groupId>
                    <artifactId>atlassian-spring-scanner-maven-plugin</artifactId>
                    <version>${atlassian.spring.scanner.version}</version>
                </plugin>
                <plugin>
                    <groupId>com.github.eirslett</groupId>
                    <artifactId>frontend-maven-plugin</artifactId>
                    <version>${frontend.maven.plugin.version}</version>
                    <configuration>
                        <npmVersion>${npm.version}</npmVersion>
                        <yarnVersion>v${yarn.version}</yarnVersion>
                        <installDirectory>${node.installDirectory}</installDirectory>
                        <workingDirectory>${project.basedir}</workingDirectory>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    <profiles>
        <profile>
            <id>jvm-opens-activation</id>
            <activation>
                <property>
                    <name>env.JVM_OPENS</name>
                </property>
            </activation>
            <properties>
                <jvmOpens>${env.JVM_OPENS}</jvmOpens>
            </properties>
        </profile>
        <profile>
            <id>clean-node-modules</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-clean-plugin</artifactId>
                        <configuration>
                            <filesets>
                                <fileset>
                                    <directory>node_modules</directory>
                                </fileset>
                            </filesets>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <!--code coverage-->
        <profile>
            <id>jacoco</id>
            <properties>
                <jacocoArgLine>${argLine} ${jvm.test.opens}</jacocoArgLine>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>prepare-agent</id>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>report</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>report</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>report-aggregate</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>report-aggregate</goal>
                                </goals>
                                <configuration>
                                    <excludes>
                                        <exclude>META-INF/**/*</exclude>
                                    </excludes>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <argLine>${jacocoArgLine}</argLine>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <configuration>
                            <argLine>${jacocoArgLine}</argLine>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>com.atlassian.maven.plugins</groupId>
                        <artifactId>jira-maven-plugin</artifactId>
                        <version>${amps.version}</version>
                        <configuration>
                            <processI18nUsage>false</processI18nUsage>
                            <skipBanningDependencies>true</skipBanningDependencies>
                            <closureJsCompiler>false</closureJsCompiler>
                            <jvmArgs>${jacocoArgLine}</jvmArgs>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>com.atlassian.maven.plugins</groupId>
                        <artifactId>amps-maven-plugin</artifactId>
                        <version>${amps.version}</version>
                        <configuration>
                            <jvmArgs>${jacocoArgLine}</jvmArgs>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <!--
            This profile allows frontend-maven-plugin to download yarn and node directly from internal maven repo
            instead of using github.
            -->
            <id>useMavenRestrictedRepoForYarn</id>
            <activation>
                <!--
                Activated on bamboo builds.
                Deactivate it (passing -P -useMavenRestrictedRepoForYarn as a build parameter) if there are issues
                when building without access to internal maven repo.
                -->
                <property>
                    <name>env.bamboo_planKey</name>
                </property>
            </activation>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>com.github.eirslett</groupId>
                            <artifactId>frontend-maven-plugin</artifactId>
                            <configuration>
                                <serverId>maven-atlassian-com</serverId>
                                <nodeDownloadRoot>https://packages.atlassian.com/artifactory/nodejs-dist/</nodeDownloadRoot>
                                <yarnDownloadRoot>https://packages.atlassian.com/artifactory/yarn-dist/</yarnDownloadRoot>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>

        <profile>
            <id>skipLicensesJobBasedOnProperty</id>
            <activation>
                <property>
                    <name>skipLicenses</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-license</id>
                                <phase>none</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <!--
            Turn off execution of any frontend related commands from com.github.eirslett
            additionally skip node & yarn installation
            -->
            <id>without-frontend</id>
            <properties>
                <skip.node>true</skip.node>
                <skip.npm>true</skip.npm>
                <skip.yarn>true</skip.yarn>
                <skip.bower>true</skip.bower>
                <skip.grunt>true</skip.grunt>
                <skip.gulp>true</skip.gulp>
                <skip.jspm>true</skip.jspm>
                <skip.karma>true</skip.karma>
                <skip.webpack>true</skip.webpack>
                <skip.lesscss>true</skip.lesscss>
                <skip.installyarn>true</skip.installyarn>
                <skipLessCompilation>true</skipLessCompilation>
                <skipReportFeManifestAssociations>true</skipReportFeManifestAssociations>
            </properties>
        </profile>
        <profile>
            <!--
            MDK-229: Audit-friendly opt-out for FE manifest associations (SBOM)
            verification. Activated by -Dskip.sbom.verification=true. Use only
            in CI plans that build a non-production artifact (extra test fixtures,
            embedded third-party drivers, etc.). Production plans must NOT pass
            this flag.
            -->
            <id>skip-fe-manifest-verification</id>
            <activation>
                <property>
                    <name>skip.sbom.verification</name>
                    <value>true</value>
                </property>
            </activation>
            <properties>
                <!-- (a) parameter-element names — read via `${...}` interpolation in modules with explicit <configuration> -->
                <skipReportFeManifestAssociations>true</skipReportFeManifestAssociations>
                <skipVerifyFeManifestAssociations>true</skipVerifyFeManifestAssociations>
                <verifyFeManifestAssociationsFailOnUndeclaredFiles>false</verifyFeManifestAssociationsFailOnUndeclaredFiles>
                <verifyFeManifestAssociationsFailOnExtraDeclarations>false</verifyFeManifestAssociationsFailOnExtraDeclarations>

                <!-- (b) dotted user-property names — read directly by the plugin's @Parameter mapping
                     in modules without explicit <configuration> (greenhopper-client, sample-triggers, ...) -->
                <verify.fe.manifest.associations.skip>true</verify.fe.manifest.associations.skip>
                <verify.fe.manifest.associations.failOnUndeclaredFiles>false</verify.fe.manifest.associations.failOnUndeclaredFiles>
                <verify.fe.manifest.associations.failOnExtraDeclarations>false</verify.fe.manifest.associations.failOnExtraDeclarations>
            </properties>
        </profile>
    </profiles>
</project>
