<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.atlassian.pom</groupId>
        <artifactId>closedsource-private-pom</artifactId>
        <version>6.3.6</version>
    </parent>

    <groupId>com.atlassian.crowd</groupId>
    <artifactId>atlassian-embedded-crowd</artifactId>
    <packaging>pom</packaging>
    <version>6.0.7</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-6.0.7</tag>
  </scm>

    <modules>
        <module>atlassian-embedded-crowd-testing</module>
        <module>embedded-crowd-admin</module>
        <module>embedded-crowd-admin-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>
            </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-public-api</artifactId>
                <version>${platform.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.platform.dependencies</groupId>
                <artifactId>platform-deprecated-public-api</artifactId>
                <version>${platform.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.platform.dependencies</groupId>
                <artifactId>platform-internal-api</artifactId>
                <version>${platform.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.atlassian.platform.dependencies</groupId>
                <artifactId>platform-test-resources</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>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.1</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>

            <dependency>
                <groupId>com.atlassian.annotations</groupId>
                <artifactId>atlassian-annotations</artifactId>
                <version>${atlassian.annotations.version}</version>
            </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-ORGSPRINGFRAMEWORK-2823313 -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${spring.beans.vesion}</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.3.1</version>
            </dependency>

            <dependency>
                <groupId>io.rest-assured</groupId>
                <artifactId>rest-assured</artifactId>
                <version>4.4.0</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>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>

        <platform.version>7.0.11</platform.version>
        <refapp.version>7.0.0-m33</refapp.version>
        <crowd.version>6.0.7</crowd.version>

        <amps.version>8.17.3</amps.version>
        <amps.containerId>tomcat9x</amps.containerId>

        <clover.version>4.0.6</clover.version>
        <hamcrest.version>1.3</hamcrest.version>
        <assertj.version>3.11.1</assertj.version>
        <jira.version>8.0.0-QR-20181016061321</jira.version>
        <spring.velocity.version>0.2.5</spring.velocity.version>
        <velocity.tools.version>1.4</velocity.tools.version>
        <spring.security.crypto.version>5.6.4</spring.security.crypto.version>
        <spring.beans.vesion>5.3.20</spring.beans.vesion>
        <okhttp.version>4.10.0</okhttp.version>
        <json.version>20230618</json.version>
        <!-- Provide fix for https://app.snyk.io/vuln/SNYK-JAVA-ORGAPACHEHTTPCOMPONENTS-1048058 -->
        <httpclient.version>4.5.13</httpclient.version>
        <commons.codec.version>1.14</commons.codec.version>
        <jettison.version>1.5.1</jettison.version>

        <!-- used for OSGi version checking, so these should NOT be patch versions -->
        <atlassian.selenium.version>3.3.3</atlassian.selenium.version>
        <slf4j.osgi.version>1.7</slf4j.osgi.version>
        <velocity.osgi.version>1.7</velocity.osgi.version>
        <atlassian.annotations.version>4.0.2</atlassian.annotations.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>
