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

    <groupId>com.atlassian.crowd</groupId>
    <artifactId>atlassian-embedded-crowd</artifactId>
    <packaging>pom</packaging>
    <version>7.0.0-platform-1</version>

    <name>Atlassian Embedded Crowd - Parent POM</name>
    <url>http://www.atlassian.com/software/crowd</url>

    <scm>
        <connection>scm:git:ssh://git@stash.atlassian.com:7997/CWD/atlassian-embedded-crowd.git</connection>
        <developerConnection>scm:git:ssh://git@stash.atlassian.com:7997/CWD/atlassian-embedded-crowd.git</developerConnection>
        <url>https://stash.atlassian.com/projects/CWD/repos/atlassian-embedded-crowd/</url>
      <tag>atlassian-embedded-crowd-7.0.0-platform-1</tag>
  </scm>

    <modules>
        <module>atlassian-embedded-crowd-testing</module>
        <module>embedded-crowd-admin</module>
        <module>embedded-crowd-admin-plugin</module>
        <module>service-accounts-plugin</module>

        <module>embedded-crowd-pageobjects</module>
        <module>embedded-crowd-admin-plugin-test</module>
        <module>embedded-crowd-refapp-plugin</module>
        <module>embedded-crowd-test-runner</module>
    </modules>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>amps-maven-plugin</artifactId>
                    <version>${amps.version}</version>
                    <extensions>true</extensions>
                    <configuration>
                        <systemPropertyVariables>
                            <atlassian.darkfeature.crowd.admin.user.preview.enable>
                                ${atlassian.darkfeature.crowd.admin.user.preview.enable}
                            </atlassian.darkfeature.crowd.admin.user.preview.enable>
                        </systemPropertyVariables>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>1.0.1</version>
                    <configuration>
                        <nonMavenDependenciesFile>${user.dir}/third-party-licensing/missing-non-maven-dependencies.properties</nonMavenDependenciesFile>
                        <licensesDirectory>${thirdpartylicensing.licenses}</licensesDirectory>
                        <bomFile>${thirdpartylicensing.bom}</bomFile>
                        <ignoredMavenScopes>test,provided</ignoredMavenScopes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.5.3</version>
                    <configuration>
                        <arguments>${release.extra.arguments}</arguments>
                        <preparationGoals>clean verify license:verify</preparationGoals>
                        <goals>license:bom license:download deploy</goals>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <configuration>
                        <skip>true</skip>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>dependency-tracker-plugin</artifactId>
                <version>2.0.4</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>validate</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.atlassian.maven.plugins</groupId>
                <artifactId>maven-clover2-plugin</artifactId>
                <version>${clover.version}</version>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>enforce-build-environment</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>3.2.5</version>
                                </requireMavenVersion>
                            </rules>
                        </configuration>
                    </execution>
                    <execution>
                        <id>ban_conflicting_dependencies</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <phase>validate</phase>
                        <configuration>
                            <rules>
                                <bannedDependencies>
                                    <searchTransitive>true</searchTransitive>
                                    <message>Please exclude transitive javax.servlet:servlet-api dependencies and use javax.servlet:javax.servlet-api instead
                                    </message>
                                    <excludes>
                                        <exclude>javax.servlet:servlet-api</exclude>
                                    </excludes>
                                </bannedDependencies>
                            </rules>
                        </configuration>
                    </execution>
                    <execution>
                        <id>ban-milestones-and-release-candidates</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <banVersionDeps>
                                    <level>WARN</level> <!-- TODO: KRAK-5697 change back to ERROR -->
                                    <excludes>
                                        <exclude>com.atlassian.selenium:*</exclude>
                                        <exclude>com.atlassian.crowd:*</exclude>
                                    </excludes>
                                </banVersionDeps>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.atlassian.platform.dependencies</groupId>
                <artifactId>platform-internal-api</artifactId>
                <version>${platform.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.platform.dependencies</groupId>
                <artifactId>platform-test-resources</artifactId>
                <version>${platform.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--
                TODO fix dependencies here or in Platform
                This plugin is using packages that Platform defines as "not exported".
                We need to either remove its usages in this project or accept reality and add it to `platform-internal-api`.
            -->
            <dependency>
                <groupId>com.atlassian.platform.dependencies</groupId>
                <artifactId>platform-system-classpath</artifactId>
                <version>${platform.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>embedded-crowd-admin</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>embedded-crowd-admin-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>

          <dependency>
            <groupId>com.atlassian.crowd</groupId>
            <artifactId>service-accounts-plugin</artifactId>
            <version>${project.version}</version>
          </dependency>

            <dependency>
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>embedded-crowd-admin-plugin-test</artifactId>
                <version>${project.version}</version>
            </dependency>

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

            <dependency>
                <groupId>com.atlassian.crowd</groupId>
                <artifactId>embedded-crowd-refapp-plugin</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.platform</groupId>
                <artifactId>spring-velocity-support</artifactId>
                <version>${spring.velocity.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-collections</groupId>
                        <artifactId>commons-collections</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>commons-beanutils</groupId>
                        <artifactId>commons-beanutils</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.atlassian.webwork1</groupId>
                <artifactId>atlassian-webwork1</artifactId>
                <version>1.1</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.core</groupId>
                        <artifactId>atlassian-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>opensymphony</groupId>
                        <artifactId>webwork</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>velocity-tools</groupId>
                <artifactId>velocity-tools</artifactId>
                <version>${velocity.tools.version}</version>
            </dependency>

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.13.2</version>
            </dependency>

            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>2.28.2</version>
            </dependency>

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

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

            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>${assertj.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>com.atlassian.selenium</groupId>
                <artifactId>atlassian-webdriver-core</artifactId>
                <version>${atlassian.selenium.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.velocity</groupId>
                        <artifactId>velocity</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.atlassian.selenium</groupId>
                <artifactId>atlassian-pageobjects-api</artifactId>
                <version>${atlassian.selenium.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.collections</groupId>
                        <artifactId>google-collections</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.atlassian.selenium</groupId>
                <artifactId>atlassian-pageobjects-elements</artifactId>
                <version>${atlassian.selenium.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.collections</groupId>
                        <artifactId>google-collections</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- Provide fix for https://app.snyk.io/vuln/SNYK-JAVA-COMSQUAREUPOKHTTP3-2958044 -->
            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp</artifactId>
                <version>${okhttp.version}</version>
            </dependency>
            <!-- Provide fix for VULN-1065089, VULN-1065072 -->
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>${json.version}</version>
            </dependency>
            <!-- Provide fix for https://app.snyk.io/vuln/SNYK-JAVA-ORGSPRINGFRAMEWORKSECURITY-2833360 -->
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-crypto</artifactId>
                <version>${spring.security.crypto.version}</version>
            </dependency>
            <!-- Provide fix for https://app.snyk.io/vuln/SNYK-JAVA-COMMONSCODEC-561518 -->
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${commons.codec.version}</version>
            </dependency>
            <!-- Provide fix for https://app.snyk.io/vuln/SNYK-JAVA-ORGCODEHAUSJETTISON-3037311,
             https://app.snyk.io/vuln/SNYK-JAVA-ORGCODEHAUSJETTISON-3033152 -->
            <dependency>
                <groupId>org.codehaus.jettison</groupId>
                <artifactId>jettison</artifactId>
                <version>${jettison.version}</version>
            </dependency>

            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17-atlassian-18</version>
            </dependency>

            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>2.13.1</version>
            </dependency>

            <dependency>
                <groupId>io.rest-assured</groupId>
                <artifactId>rest-assured</artifactId>
                <version>5.5.5</version>
            </dependency>

            <dependency>
                <groupId>org.reflections</groupId>
                <artifactId>reflections</artifactId>
                <version>0.10.2</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <properties>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>

        <platform.version>8.0.0-m18-efda6938c</platform.version>
        <refapp.version>${platform.version}</refapp.version>

        <amps.version>9.3.5</amps.version>
        <amps.containerId>tomcat10x</amps.containerId>

        <clover.version>4.0.6</clover.version>
        <hamcrest.version>1.4-atlassian-1</hamcrest.version>
        <assertj.version>3.27.3</assertj.version>
        <jira.version>11.0.0-QR-20250526092936</jira.version>
        <spring.velocity.version>1.1.0</spring.velocity.version>
        <velocity.tools.version>1.4</velocity.tools.version>
        <spring.security.crypto.version>6.4.7</spring.security.crypto.version>
        <spring.beans.vesion>5.3.20</spring.beans.vesion>
        <okhttp.version>4.12.0</okhttp.version>
        <json.version>20230618</json.version>
        <!-- Provide fix for https://app.snyk.io/vuln/SNYK-JAVA-ORGAPACHEHTTPCOMPONENTS-1048058 -->
        <httpclient.version>4.5.14</httpclient.version>
        <commons.codec.version>1.18.0</commons.codec.version>
        <jettison.version>1.5.4</jettison.version>

        <!-- used for OSGi version checking, so these should NOT be patch versions -->
        <atlassian.selenium.version>3.8.0</atlassian.selenium.version>
        <slf4j.osgi.version>1.7</slf4j.osgi.version>
        <velocity.osgi.version>1.7</velocity.osgi.version>

        <!-- used by the 'checkstyle' profile inherited from the parent pom -->
        <atlassian.codestyle>platform:1.0.1</atlassian.codestyle>

        <atlassian.darkfeature.crowd.admin.user.preview.enable>false</atlassian.darkfeature.crowd.admin.user.preview.enable>

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

        <release.extra.arguments>-DskipITs</release.extra.arguments>

        <com.fasterxml.woodstox.version>5.4.0</com.fasterxml.woodstox.version>
    </properties>


    <profiles>
        <profile>
            <id>clover</id>
            <dependencies>
                <dependency>
                    <groupId>com.cenqua.clover</groupId>
                    <artifactId>clover</artifactId>
                    <version>${clover.version}</version>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>enforcerSkip</id>
            <properties>
                <enforcer.skip>true</enforcer.skip>
            </properties>
        </profile>
    </profiles>
</project>
