<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.atlassian.confluence.plugins</groupId>
        <artifactId>confluence-jira-integration-plugins</artifactId>
        <version>20.2.3</version>
    </parent>

    <groupId>com.atlassian.confluence.extra.team-calendars</groupId>
    <artifactId>team-calendars-project</artifactId>
    <packaging>pom</packaging>

    <name>Team Calendars Project</name>
    <description>Team Calendars Plugin Project.</description>

    <modules>
        <module>api</module>
        <module>team-calendars</module>
        <module>team-calendars-integration-tests</module>
        <module>teamcal-stateless-webdriver-tests</module>
        <module>webdriver-tests</module>
    </modules>

    <properties>
        <aui.version>5.8.29</aui.version>
        <compress.resources>true</compress.resources>
        <confluence-extractor-api-plugin.version>2.1.0</confluence-extractor-api-plugin.version>
        <docker-maven-plugin.version>0.48.0</docker-maven-plugin.version>
        <easymock.version>3.2</easymock.version>
        <ical4j-extensions.version>1.0.5</ical4j-extensions.version>
        <ical4j.version>3.0.29</ical4j.version>
        <incrementalbuild.enabled>false</incrementalbuild.enabled>
        <jira.jvm.args.extra>-Duser.timezone=${jvm.args.user.timezone}
            -Xms384m
            -Djava.awt.headless=true
            -XX:+HeapDumpOnOutOfMemoryError
            -Dcom.atlassian.logout.invalidatesession=true</jira.jvm.args.extra>

        <jira.jvm.args.xmx>2560m</jira.jvm.args.xmx>

        <jquery.version>1.11.1</jquery.version>
        <jsr311.api.version>1.1.1</jsr311.api.version>
        <jvm.args.extra>-Duser.timezone=${jvm.args.user.timezone}
            -Xms128m
            -Djava.awt.headless=true
            -XX:+HeapDumpOnOutOfMemoryError
            -Dcom.atlassian.logout.invalidatesession=true
            -Dconfluence.invalidate.rpc.sessions=true
            -Dconfluence.disable.mailpolling=true
            -Dconfluence.index.manager.lock.timeout=5
            -Dconfluence.upgrade.recovery.file.enabled=false
            -Datlassian.darkfeature.pulp.disable=true</jvm.args.extra>

        <!-- Custom Confluence and Jira run configuration for teamcal -->
        <jvm.args.user.timezone>Australia/Sydney</jvm.args.user.timezone>
        <lucene-compat-plugin.version>1.1</lucene-compat-plugin.version>
        <maven.test.integration.skip>true</maven.test.integration.skip>
        <maven.test.unit.skip>false</maven.test.unit.skip>

        <!-- sbom properties -->
        <node.install.skip>true</node.install.skip>
        <org.bedework.version>6.0.1</org.bedework.version>
        <org.testcontainer.version>1.21.3</org.testcontainer.version>
        <plugin.testrunner.version>2.0.16</plugin.testrunner.version>
        <prettyurl.version>1.5</prettyurl.version>
        <teamcal.language.chinese.version>5.3.19.v2r1311-2017-06-26</teamcal.language.chinese.version>
        <teamcal.language.czech.version>5.3.19.v2r1529-2017-06-26</teamcal.language.czech.version>
        <teamcal.language.danish.version>5.3.19.v2r162-2017-06-26</teamcal.language.danish.version>
        <teamcal.language.dutch.version>5.3.19.v2r298-2017-06-26</teamcal.language.dutch.version>
        <teamcal.language.estonian.version>5.3.19.v2r311-2017-06-26</teamcal.language.estonian.version>
        <teamcal.language.finnish.version>5.3.19.v2r1364-2017-06-26</teamcal.language.finnish.version>
        <teamcal.language.french.version>5.3.19.v2r287-2017-06-26</teamcal.language.french.version>
        <!-- Languages need to be updated manually (i.e. properties file is bundled in the plugin. -->
        <!-- These versions are here for reference -->
        <teamcal.language.german.version>5.3.19.v2r1282-2017-06-26</teamcal.language.german.version>
        <teamcal.language.hungarian.version>5.3.19.v2r320-2017-06-26</teamcal.language.hungarian.version>
        <teamcal.language.icelandic.version>5.3.19.v2r157-2017-06-26</teamcal.language.icelandic.version>
        <teamcal.language.italian.version>5.3.19.v2r702-2017-06-26</teamcal.language.italian.version>
        <teamcal.language.japanese.version>5.3.19.v2r895-2017-06-26</teamcal.language.japanese.version>
        <teamcal.language.korean.version>5.3.19.v2r954-2017-06-26</teamcal.language.korean.version>
        <teamcal.language.norwegian.version>5.3.19.v2r110-2017-06-26</teamcal.language.norwegian.version>
        <teamcal.language.polish.version>5.3.19.v2r524-2017-06-26</teamcal.language.polish.version>
        <teamcal.language.portuguese.version>5.3.19.v2r405-2017-06-26</teamcal.language.portuguese.version>
        <teamcal.language.romanian.version>5.3.19.v2r97-2017-06-26</teamcal.language.romanian.version>
        <teamcal.language.russian.version>5.3.19.v2r901-2017-06-26</teamcal.language.russian.version>
        <teamcal.language.slovak.version>5.3.19.v2r164-2017-06-26</teamcal.language.slovak.version>
        <teamcal.language.spanish.version>5.3.19.v2r331-2017-06-26</teamcal.language.spanish.version>
        <teamcal.language.swedish.version>5.3.19.v2r908-2017-06-26</teamcal.language.swedish.version>
        <teamcal.language.us.version>5.3.19.v2r171-2017-06-26</teamcal.language.us.version>
        <upm.version>1000.0.4</upm.version>
        <xml-apis.version>1.0.b2</xml-apis.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>xml-apis</groupId>
                <artifactId>xml-apis</artifactId>
                <version>${xml-apis.version}</version>
            </dependency>
            <!-- licensing deps -->
            <dependency>
                <!-- intentionally have this as compile scope -->
                <groupId>com.atlassian.upm</groupId>
                <artifactId>licensing-legacy-compatibility-spi</artifactId>
                <version>${upm.version}</version>
                <scope>compile</scope>
                <exclusions>
                    <exclusion>
                        <groupId>com.atlassian.marketplace</groupId>
                        <artifactId>marketplace-client-java</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.atlassian.util.concurrent</groupId>
                        <artifactId>atlassian-util-concurrent</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.mnode.ical4j</groupId>
                <artifactId>ical4j</artifactId>
                <version>${ical4j.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sun.mail</groupId>
                        <artifactId>jakarta.mail</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.mail</groupId>
                        <artifactId>javax.mail</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.mail</groupId>
                        <artifactId>javax.mail-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.mnode.ical4j</groupId>
                <artifactId>ical4j-extensions</artifactId>
                <version>${ical4j-extensions.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sun.mail</groupId>
                        <artifactId>jakarta.mail</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.mail</groupId>
                        <artifactId>javax.mail</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>javax.mail</groupId>
                        <artifactId>javax.mail-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.mnode.ical4j</groupId>
                        <artifactId>ical4j</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.ws</groupId>
                <artifactId>jakarta.xml.ws-api</artifactId>
                <version>4.0.2</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <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>3.0.0</version>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>confluence-maven-plugin</artifactId>
                    <configuration>
                        <productVersion>${confluence.version}</productVersion>
                        <productDataVersion>${confluence.data.version}</productDataVersion>
                        <server>${server}</server>
                        <allowGoogleTracking>false</allowGoogleTracking>
                        <containerId>${containerId}</containerId>
                        <skipAmpsPomCheck>true</skipAmpsPomCheck>
                        <quickReloadVersion>1.28</quickReloadVersion>
                        <compressJs>false</compressJs>
                        <compressCss>false</compressCss>
                        <compressResources>false</compressResources>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>3.2.0</version>
                    <configuration>
                        <preparationGoals>clean install</preparationGoals>
                        <!-- Don't upload source and javadoc jar -->
                        <useReleaseProfile>false</useReleaseProfile>
                        <releaseProfiles>third-party-licensing</releaseProfiles>
                        <goals>license:verify license:bom license:download deploy</goals>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.atlassian.maven.plugins</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>2.0.0</version>
                    <configuration>
                        <licensesDirectory>${user.dir}/third-party-licensing/licenses</licensesDirectory>
                        <bomFile>${user.dir}/third-party-licensing/bom.csv</bomFile>
                        <nonMavenDependenciesFile>${user.dir}/third-party-licensing/missing-non-maven-dependencies.properties</nonMavenDependenciesFile>
                        <ignoredArtifactsTrees>com.atlassian.confluence:confluence-test-support</ignoredArtifactsTrees>
                        <ignoredMavenScopes>test,provided</ignoredMavenScopes>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>ban-log4j12</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <bannedDependencies>
                                    <excludes>
                                        <exclude>log4j:log4j</exclude>
                                    </excludes>
                                    <includes>
                                        <include>log4j:log4j:*:*:test</include>
                                    </includes>
                                </bannedDependencies>
                            </rules>
                            <fail>true</fail>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
