<?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>
	<groupId>com.atlassian.rm</groupId>
	<artifactId>jira-portfolio-main</artifactId>
	<version>1001.0.0-D20170227T223306</version>

	<parent>
		<groupId>com.atlassian.pom</groupId>
		<artifactId>closedsource-pom</artifactId>
		<version>3.0.103</version>
	</parent>

	<scm>
		<connection>scm:git:ssh://git@stash.atlassian.com:7997/jpo/jira-portfolio.git</connection>
		<developerConnection>scm:git:ssh://git@stash.atlassian.com:7997/jpo/jira-portfolio.git</developerConnection>
		<url>scm:git:ssh://git@stash.atlassian.com:7997/jpo/jira-portfolio.git</url>
		<tag>jira-portfolio-main-1.7.0</tag>
	</scm>

	<organization>
		<name>Atlassian</name>
		<url>http://www.atlassian.com/</url>
	</organization>

	<name>Portfolio for JIRA [Parent POM]</name>

	<modules>

		<module>portfolio-2</module>

	</modules>

	<packaging>pom</packaging>

	<properties>

		<java.build.version>1.8</java.build.version>

		<maven.deploy.skip>true</maven.deploy.skip>
		<maven.javadoc.skip>true</maven.javadoc.skip>

		<autoVersionSubmodules>true</autoVersionSubmodules>

		<!-- needs to be its own property due to http://stackoverflow.com/questions/13228472/how-to-acces-maven-build-timestamp-for-resource-filtering -->
		<jpo.build.timestamp>${maven.build.timestamp}</jpo.build.timestamp>
		<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss.SSSZZ</maven.build.timestamp.format>

		<!-- logging -->
		<slf4j.version>1.6.4</slf4j.version>

		<!-- gson -->
		<gson.version>2.3.1</gson.version>

		<!-- atlassian maven plugin: must use version to implement jira-software application -->
		<amps.version>5.1.11</amps.version>

		<!-- atlassian jira maven plugin version -->
		<jira.plugin.version>6.0.1</jira.plugin.version>

		<!-- the portfolio 1 version we're compiling against. needs to be bumped whenever portfolio 1's api changes. -->
		<portfolio.1.version>1001.0.0-D20170209T023732</portfolio.1.version>

		<!-- the jira version we're compiling against -->
		<jira.api.version>1000.621.5</jira.api.version>

		<!-- vertigo / cloud version -->
		<!-- Make sure this version is exists in production -->
		<jira.vertigo.version>1000.621.5</jira.vertigo.version>

        <!--JIRA SW-->
		<jira.it.version>1000.621.5</jira.it.version>
		<jira.agile.it.version>6.7.12</jira.agile.it.version>
        <jira.software.it.version>7.2.0-D20160209T225641</jira.software.it.version>
        <jira.software.plugin.it.version>2.0.6-D20160321T004121</jira.software.plugin.it.version>
        <jira.transition.triggers.it.version>5.0.0-D20160418T082916</jira.transition.triggers.it.version>
        <jira.fisheye.it.version>7.0.13-D20160317T235354</jira.fisheye.it.version>
        <jira.dvcs.connector.it.version>5.0.0-D20160415T064601</jira.dvcs.connector.it.version>
        <jira.development.integration.it.version>5.0.0-D20160413T234436</jira.development.integration.it.version>
        <jira.bamboo.it.version>7.3.36-D20160322T102433</jira.bamboo.it.version>
		<atlassian.connect.integration.plugin.version>1.1.0-D20160614T021032</atlassian.connect.integration.plugin.version>

		<jira.it.test.pattern>it/**/*Test.java</jira.it.test.pattern>

		<atlassian.annotations.version>2.0.0</atlassian.annotations.version>

		<!-- AO -->

		<ao.version>0.23.7</ao.version>

		<guava.version>11.0.2</guava.version>

		<!-- dependency version -->
		<javax.mail.version>1.4.5</javax.mail.version>

		<!-- for testing and micros -->
		<spring.version>4.0.5.RELEASE</spring.version>

		<lucene.version>3.3.0</lucene.version>

		<!-- testing -->
		<junit.version>4.11</junit.version>
		<rest.assured.version>2.5.0</rest.assured.version>

		<atlassian.spring.scanner.version>1.2.9</atlassian.spring.scanner.version>

		<!-- pocketknife -->
		<pocketknife.enablement.version>0.71.0</pocketknife.enablement.version>

		<!-- querydsl -->
		<querydsl.version>4.0.7</querydsl.version>
		<querydsl.version.provided>4.0.7</querydsl.version.provided>

		<surefire.plugin.version>2.12.4</surefire.plugin.version>

		<okhttp.version>2.2.0</okhttp.version>

		<cloud.provisioning.version>1.0.0</cloud.provisioning.version>

		<jersey.version>1.17.1</jersey.version>
		<org.eclipse.jetty.version>9.2.10.v20150310</org.eclipse.jetty.version>

		<enableFastdev>false</enableFastdev>

		<!-- client builds -->

		<frontend.maven.plugin.version>0.0.29</frontend.maven.plugin.version>

		<node.version>v6.2.0</node.version>
		<npm.version>3.8.9</npm.version>

		<node.modules>node_modules</node.modules>
		<node.modules.bin>node_modules/.bin</node.modules.bin>
		<node.executable>node</node.executable>
		<npm.executable>npm</npm.executable>
		<grunt.executable>grunt</grunt.executable>
		<karma.executable>karma</karma.executable>

		<!-- must be defined on plugin-level -->
		<amps.resources>define-in-plugin-modules</amps.resources>
		<amps.resources.testdata>define-in-plugin-modules</amps.resources.testdata>

		<!-- dynamic imports -->
		<agile.bridge.dynamic.imports>
			com.atlassian.greenhopper.api.*;resolution:=optional,
			com.atlassian.greenhopper.service;resolution:=optional,
			com.atlassian.greenhopper.service.project;resolution:=optional,
			com.atlassian.greenhopper.service.sprint;resolution:=optional,
			com.atlassian.greenhopper.model.rapid;resolution:=optional,
			com.atlassian.greenhopper.service.rapid.view;resolution:=optional,
			com.atlassian.greenhopper.web.rapid.view;resolution:=optional,
			com.atlassian.greenhopper.model.validation;resolution:=optional,
			com.atlassian.greenhopper.service.issuelink;resolution:=optional,
			com.atlassian.greenhopper.manager.rapidview;resolution:=optional,
			com.pyxis.greenhopper.jira.license;resolution:=optional,
			com.atlassian.greenhopper.service.rapid.view.statistics;resolution:=optional,
		</agile.bridge.dynamic.imports>

		<inline.issue.create.bridge.dynamic.imports>
			com.atlassian.jira.plugins.issue.create.context.api;resolution:=optional,
		</inline.issue.create.bridge.dynamic.imports>

		<!-- clover: override on module level -->
		<clover.targetPercentage>00.00%</clover.targetPercentage>
		<clover.methodPercentage>00.00%</clover.methodPercentage>
		<clover.statementPercentage>00.00%</clover.statementPercentage>
		<clover.conditionalPercentage>00.00%</clover.conditionalPercentage>

	</properties>

	<!-- plugins -->

	<build>

		<pluginManagement>

			<plugins>

				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<configuration>
						<source>${java.build.version}</source>
						<target>${java.build.version}</target>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>exec-maven-plugin</artifactId>
					<version>1.3.2</version>
				</plugin>

				<plugin>
					<groupId>com.atlassian.maven.plugins</groupId>
					<artifactId>maven-amps-plugin</artifactId>
					<version>${amps.version}</version>
					<extensions>true</extensions>

					<configuration>
						<product>jira</product>
					</configuration>

				</plugin>

				<plugin>

					<groupId>com.atlassian.maven.plugins</groupId>
					<artifactId>maven-clover2-plugin</artifactId>
					<version>4.0.4</version>

					<configuration>

						<contextFilters>property,constructor,toString,hashCode</contextFilters>

						<methodContexts>
							<equals>(.* )?public .*(equals)[(].*</equals>
							<toString>(.* )?public .*(toString)[(].*</toString>
							<hashCode>(.* )?public .*(hashCode)[(].*</hashCode>
						</methodContexts>

					</configuration>

					<executions>

						<execution>
							<id>clover-setup</id>
							<phase>generate-sources</phase>
							<goals>
								<goal>setup</goal>
							</goals>
						</execution>

						<execution>
							<id>aggregate</id>
							<phase>package</phase>
							<goals>
								<goal>aggregate</goal>
							</goals>
						</execution>

						<execution>
							<id>clover-report-gen</id>
							<phase>post-integration-test</phase>
							<goals>
								<goal>clover</goal>
							</goals>
						</execution>

						<execution>
							<id>clover-check</id>
							<phase>verify</phase>
							<goals>
								<goal>check</goal>
							</goals>
							<configuration>
								<targetPercentage>${clover.targetPercentage}</targetPercentage>
								<methodPercentage>${clover.methodPercentage}</methodPercentage>
								<statementPercentage>${clover.statementPercentage}</statementPercentage>
								<conditionalPercentage>${clover.conditionalPercentage}</conditionalPercentage>
							</configuration>
						</execution>

					</executions>

				</plugin>

				<plugin>
					<groupId>org.sonarsource.scanner.maven</groupId>
					<artifactId>sonar-maven-plugin</artifactId>
					<version>3.2</version>
				</plugin>

			</plugins>

		</pluginManagement>

	</build>


	<!-- common dependencies -->

	<dependencyManagement>

		<dependencies>

			<!-- add for npm dependencies -->
			<dependency>
				<groupId>com.atlassian.rm</groupId>
				<artifactId>common-client</artifactId>
				<version>${project.version}</version>
				<type>pom</type>
			</dependency>

			<!-- logging -->

			<dependency>
				<groupId>com.atlassian.pocketknife</groupId>
				<artifactId>jira-pocketknife-enablement</artifactId>
				<version>${pocketknife.enablement.version}</version>
			</dependency>

			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j.version}</version>
				<scope>provided</scope>
			</dependency>

			<!-- shared -->

			<dependency>
				<groupId>com.atlassian.jira</groupId>
				<artifactId>jira-api</artifactId>
				<version>${jira.api.version}</version>
			</dependency>

			<dependency>
				<groupId>com.atlassian.jira</groupId>
				<artifactId>jira-core</artifactId>
				<version>${jira.api.version}</version>
			</dependency>

			<dependency>
				<groupId>com.atlassian.sal</groupId>
				<artifactId>sal-api</artifactId>
				<version>2.4.1</version>
				<scope>provided</scope>
			</dependency>

			<!-- ATLASSIAN Spring Scanner -->
			<!-- https://bitbucket.org/atlassian/atlassian-spring-scanner -->
			<!-- This is the runtime code for interpreting the build time index files -->
			<dependency>
				<groupId>com.atlassian.plugin</groupId>
				<artifactId>atlassian-spring-scanner-runtime</artifactId>
				<version>${atlassian.spring.scanner.version}</version>
				<scope>runtime</scope>
			</dependency>

			<dependency>
				<groupId>com.atlassian.activeobjects</groupId>
				<artifactId>activeobjects-plugin</artifactId>
				<version>${ao.version}</version>
				<scope>provided</scope>
			</dependency>

			<dependency>
				<groupId>com.atlassian.activeobjects</groupId>
				<artifactId>activeobjects-spi</artifactId>
				<version>${ao.version}</version>
				<scope>provided</scope>
			</dependency>

			<dependency>
				<groupId>com.google.code.gson</groupId>
				<artifactId>gson</artifactId>
				<version>${gson.version}</version>
			</dependency>
			<dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>${guava.version}</version>
				<scope>provided</scope>
			</dependency>

			<dependency>
				<groupId>org.reflections</groupId>
				<artifactId>reflections</artifactId>
				<version>0.9.10</version>
			</dependency>

			<dependency>
				<groupId>com.google.code.findbugs</groupId>
				<artifactId>jsr305</artifactId>
				<version>3.0.0</version>
				<scope>provided</scope>
			</dependency>

			<!-- micros -->

			<dependency>
				<groupId>com.squareup.okhttp</groupId>
				<artifactId>okhttp</artifactId>
				<version>${okhttp.version}</version>
			</dependency>

			<!-- provided -->

			<dependency>

				<groupId>com.querydsl</groupId>
				<artifactId>querydsl-sql</artifactId>
				<version>${querydsl.version}</version>

				<!-- query dsl is provided by the shared libs plugin - DON'T COMPILE IN unless you know what you are doing -->
				<scope>provided</scope>

			</dependency>

			<dependency>
				<groupId>javax.mail</groupId>
				<artifactId>mail</artifactId>
				<version>${javax.mail.version}</version>
				<scope>provided</scope>
			</dependency>

			<!-- SCOPE: test -->

			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-all</artifactId>
				<version>1.10.19</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-test</artifactId>
				<version>${spring.version}</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>com.atlassian.annotations</groupId>
				<artifactId>atlassian-annotations</artifactId>
				<version>${atlassian.annotations.version}</version>
				<scope>provided</scope>
			</dependency>

		</dependencies>
	</dependencyManagement>

	<profiles>

		<profile>

			<id>quick</id>

            <activation>
                <property>
                    <name>skipTests</name>
                </property>
            </activation>

			<properties>
                <maven.clover.skip>true</maven.clover.skip>
            </properties>

		</profile>

		<profile>

			<id>client-build</id>

			<activation>
				<property>
					<name>!skipClient</name>
				</property>
			</activation>

			<build>

				<plugins>
					<plugin>

						<groupId>com.github.eirslett</groupId>
						<artifactId>frontend-maven-plugin</artifactId>
						<version>${frontend.maven.plugin.version}</version>

						<executions>

							<execution>

								<id>phase-generate-resource-nodeandnpm</id>
								<goals>
									<goal>install-node-and-npm</goal>
								</goals>
								<phase>validate</phase>
								<inherited>false</inherited>
								<configuration>
									<nodeVersion>${node.version}</nodeVersion>
									<npmVersion>${npm.version}</npmVersion>
								</configuration>

							</execution>

						</executions>

						<configuration>
							<nodeVersion>${node.version}</nodeVersion>
							<npmVersion>${npm.version}</npmVersion>
							<installDirectory>target</installDirectory>
						</configuration>

					</plugin>
				</plugins>
			</build>

		</profile>

		<profile>

			<id>reset-node</id>
			<activation>
				<property>
					<name>resetNode</name>
				</property>
			</activation>

			<build>

				<plugins>
					<plugin>

						<artifactId>maven-clean-plugin</artifactId>
						<version>2.6.1</version>

						<configuration>
							<filesets>
								<fileset>
									<directory>.</directory>
									<includes>
										<include>node/</include>
										<include>node_modules/</include>
									</includes>
								</fileset>
							</filesets>
						</configuration>

					</plugin>
				</plugins>

			</build>

		</profile>

		<!-- =================== -->
		<!-- common amps configs -->
		<!-- =================== -->

		<profile>

			<id>no-it</id>
			<activation>
				<property>
					<name>!it</name>
				</property>
			</activation>

			<build>
				<plugins>

					<plugin>
						<groupId>com.atlassian.maven.plugins</groupId>
						<artifactId>maven-amps-plugin</artifactId>
						<configuration>
							<skipTests>true</skipTests>
						</configuration>
					</plugin>

				</plugins>
			</build>

		</profile>

		<profile>

			<id>it</id>
			<activation>
				<property>
					<name>it</name>
				</property>
			</activation>

			<build>
				<plugins>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-surefire-plugin</artifactId>
						<configuration>
							<skipTests>true</skipTests>
						</configuration>
					</plugin>

					<plugin>
						<groupId>com.atlassian.maven.plugins</groupId>
						<artifactId>maven-amps-plugin</artifactId>
						<configuration>
							<skipTests>false</skipTests>
							<pluginArtifacts combine.children="append">

								<pluginArtifact>
									<groupId>com.atlassian.functest</groupId>
									<artifactId>functest-plugin</artifactId>
									<version>0.8.8</version>
								</pluginArtifact>

							</pluginArtifacts>
						</configuration>
					</plugin>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-failsafe-plugin</artifactId>
						<version>2.19.1</version>
						<configuration>
							<excludes>
								<exclude>it/**/*Test.java</exclude>
							</excludes>
							<includes>
								<include>**/WiredTestInvoker*</include>
							</includes>
						</configuration>
					</plugin>

				</plugins>
			</build>

		</profile>

		<profile>

			<id>software</id>
			<activation>
				<property><name>software</name></property>
			</activation>

			<build>
				<plugins>

					<plugin>

						<groupId>com.atlassian.maven.plugins</groupId>
						<artifactId>maven-amps-plugin</artifactId>

						<configuration>

							<productDataPath>${amps.resources}</productDataPath>

							<applications>
								<application>
									<applicationKey>jira-software</applicationKey>
									<version>${jira.software.it.version}</version>
								</application>
								<application>
									<applicationKey>jira-core</applicationKey>
									<version>${jira.software.it.version}</version>
								</application>
							</applications>

							<pluginArtifacts combine.children="append">

								<pluginArtifact>
									<groupId>com.atlassian.jira.plugins</groupId>
									<artifactId>jira-software-plugin</artifactId>
									<version>${jira.software.plugin.it.version}</version>
								</pluginArtifact>

								<pluginArtifact>
									<groupId>cloud.atlassian.jira.plugins</groupId>
									<artifactId>jira-transition-triggers-plugin</artifactId>
									<version>${jira.transition.triggers.it.version}</version>
								</pluginArtifact>

								<pluginArtifact>
									<groupId>com.atlassian.jira.plugins</groupId>
									<artifactId>jira-greenhopper-plugin</artifactId>
									<version>${jira.agile.it.version}</version>
								</pluginArtifact>

								<pluginArtifact>
									<groupId>com.atlassian.jira.plugins</groupId>
									<artifactId>jira-fisheye-plugin</artifactId>
									<version>${jira.fisheye.it.version}</version>
								</pluginArtifact>

								<pluginArtifact>
									<groupId>cloud.atlassian.jira.plugins</groupId>
									<artifactId>jira-dvcs-connector-plugin</artifactId>
									<version>${jira.dvcs.connector.it.version}</version>
								</pluginArtifact>

								<pluginArtifact>
									<groupId>cloud.atlassian.jira.plugins</groupId>
									<artifactId>jira-development-integration-plugin</artifactId>
									<version>${jira.development.integration.it.version}</version>
								</pluginArtifact>

								<pluginArtifact>
									<groupId>cloud.atlassian.jira.plugins</groupId>
									<artifactId>jira-bamboo-plugin</artifactId>
									<version>${jira.bamboo.it.version}</version>
								</pluginArtifact>

								<dependency>
									<groupId>com.atlassian.fusion.plugins</groupId>
									<artifactId>atlassian-connect-integration-plugin</artifactId>
									<version>${atlassian.connect.integration.plugin.version}</version>
								</dependency>

							</pluginArtifacts>

						</configuration>

					</plugin>

				</plugins>
			</build>

		</profile>

		<profile>
			<id>sonar</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<sonar.host.url>http://sonar.internal.atlassian.com</sonar.host.url>
				<sonar.login>portfolio</sonar.login>
				<sonar.password>portfolio</sonar.password>
				<sonar.skipDesign>true</sonar.skipDesign>
				<sonar.clover.reportPath>target/site/clover/clover.xml</sonar.clover.reportPath>
			</properties>

			<dependencies>
				<dependency>
					<groupId>com.atlassian.maven.plugins</groupId>
					<artifactId>clover-maven-plugin</artifactId>
					<version>4.1.2</version>
				</dependency>
			</dependencies>
		</profile>

	</profiles>

</project>