<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.eclipse.ease</groupId>
	<artifactId>org.eclipse.ease.releng</artifactId>
	<version>0.5.0-SNAPSHOT</version>
	<packaging>pom</packaging>

	<prerequisites>
		<!-- Maven 3.1.0 is the earliest version using Eclipse Aether, Maven 3.0.x 
			uses the incompatible predecessor Sonatype Aether -->
		<maven>3.1</maven>
	</prerequisites>
	
	<properties>
		<!-- used plugin versions -->
		<tycho.version>1.0.0</tycho.version>
		<tycho.extras.version>${tycho.version}</tycho.extras.version>
		<maven.compiler.version>3.6.1</maven.compiler.version>
		<maven.javadoc.version>2.9.1</maven.javadoc.version>
		<jacoco.version>0.7.9</jacoco.version>
		<eclipse.jarsigner.version>1.1.3</eclipse.jarsigner.version> 
		<maven.buildhelper.version>1.9.1</maven.buildhelper.version>

		<!-- build parameters -->
		<compiler.compliance>1.8</compiler.compliance>
		<jacoco.report.path>../../coverage-report/jacoco.exec</jacoco.report.path>

		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

		<!-- help links to integrated help APIs -->
		<platform.api>org.eclipse.platform.doc.isv/reference/api</platform.api>
		<ease.api>org.eclipse.ease.help/help/api-docs/javadoc</ease.api>
		<doclet.path>${user.dir}/ease.module.doclet.jar</doclet.path>
	</properties>


	<pluginRepositories>
		<pluginRepository>
			<id>cbi</id>
			<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
		</pluginRepository>
		<pluginRepository>
			<id>nexus</id>
			<url>https://repo.eclipse.org/content/repositories/maven_central/</url>
		</pluginRepository>
	</pluginRepositories>

	<build>
		<plugins>
			<!-- enable tycho build extension -->
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-maven-plugin</artifactId>
				<version>${tycho.version}</version>
				<extensions>true</extensions>
			</plugin>

			<!-- set target platform for build -->
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<version>${tycho.version}</version>
				<configuration>
					<target>
						<artifact>
							<groupId>org.eclipse.ease</groupId>
							<artifactId>org.eclipse.ease.releng.target</artifactId>
							<version>0.5.0-SNAPSHOT</version>
						</artifact>
					</target>
				</configuration>
			</plugin>

			<!-- set compiler options -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven.compiler.version}</version>
				<configuration>
					<source>${compiler.compliance}</source>
					<target>${compiler.compliance}</target>
				</configuration>
			</plugin>

			<!-- enable pom version updates: to update execute goal "tycho.versions:update-pom" -->
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-versions-plugin</artifactId>
				<version>${tycho.version}</version>
			</plugin>

			<!-- timestamps based on the latest git commit -->
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-packaging-plugin</artifactId>
				<version>${tycho.version}</version>
				<dependencies>
					<dependency>
						<groupId>org.eclipse.tycho.extras</groupId>
						<artifactId>tycho-buildtimestamp-jgit</artifactId>
						<version>${tycho.extras.version}</version>
					</dependency>
				</dependencies>
				<configuration>
					<timestampProvider>jgit</timestampProvider>
					<jgit.dirtyWorkingTree>ignore</jgit.dirtyWorkingTree>
					<jgit.ignore>
						pom.xml
					</jgit.ignore>
					<format>${build-prefix}yyyyMMddHHmm</format>
				</configuration>
			</plugin>
		</plugins>
	</build>


	<modules>

		<!-- core -->
		<module>../../plugins/org.eclipse.ease</module>
		<module>../../plugins/org.eclipse.ease.classloader</module>
		<module>../../plugins/org.eclipse.ease.ui</module>
		<module>../../plugins/org.eclipse.ease.ui.completions.java</module>
		<module>../../plugins/org.eclipse.ease.ui.scripts</module>
		<module>../../plugins/org.eclipse.ease.help</module>
		<module>../../features/org.eclipse.ease.feature</module>
		<module>../../features/org.eclipse.ease.ui.feature</module>

		<!-- Javascript -->
		<module>../../plugins/org.eclipse.ease.lang.javascript</module>
		<module>../../plugins/org.eclipse.ease.lang.javascript.ui</module>
		<module>../../plugins/org.eclipse.ease.lang.javascript.rhino</module>
		<module>../../plugins/org.eclipse.ease.lang.javascript.rhino.debugger</module>
		<module>../../plugins/org.eclipse.ease.lang.javascript.nashorn</module>
		<module>../../features/org.eclipse.ease.lang.javascript.feature</module>

		<!-- Python -->
		<module>../../plugins/org.eclipse.ease.lang.python</module>
		<module>../../features/org.eclipse.ease.lang.python.feature</module>
		<module>../../plugins/org.eclipse.ease.lang.python.jython</module>
		<module>../../plugins/org.eclipse.ease.lang.python.jython.debugger</module>
		<module>../../features/org.eclipse.ease.lang.python.jython.feature</module>
		<module>../../plugins/org.eclipse.ease.lang.python.py4j</module>
		<module>../../features/org.eclipse.ease.lang.python.py4j.feature</module>

		<!-- Native .class engine -->
		<module>../../plugins/org.eclipse.ease.lang.jvm.compiled</module>
		<module>../../features/org.eclipse.ease.lang.jvm.feature</module>

		<!-- Groovy -->
		<module>../../plugins/org.eclipse.ease.lang.groovy</module>
		<module>../../plugins/org.eclipse.ease.lang.groovy.interpreter</module>
		<module>../../features/org.eclipse.ease.lang.groovy.feature</module>

		<!-- JRuby -->
		<module>../../plugins/org.eclipse.ease.lang.ruby</module>
		<module>../../plugins/org.eclipse.ease.lang.ruby.jruby</module>
		<module>../../features/org.eclipse.ease.lang.ruby.feature</module>

		<!-- Archive Engine -->
		<module>../../plugins/org.eclipse.ease.lang.scriptarchive</module>
		<module>../../plugins/org.eclipse.ease.lang.scriptarchive.ui</module>
		<module>../../features/org.eclipse.ease.lang.scriptarchive.feature</module>

		<!-- Unittest Engine -->
		<module>../../plugins/org.eclipse.ease.lang.unittest</module>
		<module>../../plugins/org.eclipse.ease.lang.unittest.ui</module>
		<module>../../features/org.eclipse.ease.lang.unittest.feature</module>

		<!-- releng -->
		<module>../org.eclipse.ease.releng.target</module>
		<module>../org.eclipse.ease.releng.p2</module>
	</modules>


	<profiles>
		<profile>
			<id>local</id>
		</profile>

		<profile>
			<!-- by default set build qualifier to "I" -->
			<activation>
				<activeByDefault>true</activeByDefault>
				<property>
					<name>!build-prefix</name>
				</property>
			</activation>

			<properties>
				<build-prefix>'I'</build-prefix>
			</properties>
		</profile>

		<profile>
			<!-- build help pages for modules using javadoc. Needs variable doclet.path
				to be set to the location of the ModuleDoclet jar.
				The jar can be built with:
				   mvn clean package -f org.eclipse.ease.core/developers/org.eclipse.ease.helpgenerator/pom.xml
				in which case the doclet.path would be:
				   org.eclipse.ease.core/developers/org.eclipse.ease.helpgenerator/target/ease.module.doclet.jar
				or the pre-built jar can downloaded from:
				   https://hudson.eclipse.org/ease/job/ease-build-module-doclet/lastSuccessfulBuild/artifact/developers/org.eclipse.ease.helpgenerator/target/ease.module.doclet.jar
			-->
			<id>module-docs</id>

			<build>
				<plugins>

					<!-- enable module documentation builder -->
					<plugin>
						<artifactId>maven-javadoc-plugin</artifactId>
						<groupId>org.apache.maven.plugins</groupId>
						<version>${maven.javadoc.version}</version>
						<configuration>
							<outputDirectory>${project.build.directory}/../mydocs</outputDirectory>
							<doclet>org.eclipse.ease.helpgenerator.ModuleDoclet</doclet>
							<docletPath>${doclet.path}</docletPath>
							<additionalparam>-root ${basedir}</additionalparam>
							<useStandardDocletOptions>false</useStandardDocletOptions>
							<links>
								<link>http://docs.oracle.com/javase/8/docs/api/</link>
							</links>
							<offlineLinks>
								<offlineLink>
									<url>http://help.eclipse.org/mars/topic/org.eclipse.platform.doc.isv/reference/api/</url>
									<location>../../${platform.api}</location>
								</offlineLink>
								<offlineLink>
									<url>https://hudson.eclipse.org/ease/job/ease-build-core/javadoc/</url>
									<location>../../${ease.api}</location>
								</offlineLink>
							</offlineLinks>
						</configuration>
						<executions>
							<execution>
								<id>build-docs</id>
								<phase>generate-resources</phase>
								<goals>
									<goal>javadoc</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

					<plugin>
						<artifactId>build-helper-maven-plugin</artifactId>
						<groupId>org.codehaus.mojo</groupId>
						<version>${maven.buildhelper.version}</version>
						<executions>
							<execution>
								<id>add_help</id>
								<phase>generate-resources</phase>
								<goals>
									<goal>add-resource</goal>
								</goals>
								<configuration>
									<resources>
										<resource>
											<directory>${basedir}/help</directory>
											<targetPath>help</targetPath>
										</resource>
									</resources>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>api-docs</id>
		</profile>

		<profile>
			<id>source</id>

			<modules>
				<module>../org.eclipse.ease.releng.p2.source</module>
			</modules>

			<build>
				<plugins>
					<!-- enable source feature generation -->
					<plugin>
						<groupId>org.eclipse.tycho.extras</groupId>
						<artifactId>tycho-source-feature-plugin</artifactId>
						<version>${tycho.extras.version}</version>

						<executions>
							<execution>
								<id>source-feature</id>
								<phase>package</phase>
								<goals>
									<goal>source-feature</goal>
								</goals>
							</execution>
						</executions>

						<configuration>
							<excludes>
								<plugin id="org.eclipse.ease.help" />
							</excludes>
						</configuration>
					</plugin>

					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-source-plugin</artifactId>
						<version>${tycho.version}</version>

						<executions>
							<execution>
								<id>plugin-source</id>
								<goals>
									<goal>plugin-source</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-p2-plugin</artifactId>
						<version>${tycho.version}</version>
						<executions>
							<execution>
								<id>attached-p2-metadata</id>
								<phase>package</phase>
								<goals>
									<goal>p2-metadata</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>sonar</id>

			<build>
				<plugins>
					<!-- enable JaCoCo code coverage -->
					<plugin>
						<groupId>org.jacoco</groupId>
						<artifactId>jacoco-maven-plugin</artifactId>
						<version>${jacoco.version}</version>

						<configuration>
							<include>org.eclipse.ease.*</include>
							<destFile>${jacoco.report.path}</destFile>
							<output>file</output>
							<append>true</append>
						</configuration>

						<executions>
							<execution>
								<id>jacoco-initialize</id>
								<goals>
									<goal>prepare-agent</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>test</id>
			<modules>
				<module>../../tests/org.eclipse.ease.test</module>
				<module>../../tests/org.eclipse.ease.lang.javascript.rhino.test</module>
				<module>../../tests/org.eclipse.ease.lang.javascript.rhino.debugger.test</module>
				<module>../../tests/org.eclipse.ease.lang.javascript.test</module>
				<module>../../tests/org.eclipse.ease.lang.python.test</module>
				<module>../../tests/org.eclipse.ease.lang.python.py4j.test</module>
				<module>../../tests/org.eclipse.ease.lang.scriptarchive.test</module>
				<module>../../tests/org.eclipse.ease.ui.test</module>
			</modules>
			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-surefire-plugin</artifactId>
						<version>${tycho.version}</version>
						<configuration>
							<useUIHarness>true</useUIHarness>
						</configuration>
					</plugin>

					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>target-platform-configuration</artifactId>
						<version>${tycho.version}</version>
						<configuration>
							<environments>
								<environment>
									<os>linux</os>
									<ws>gtk</ws>
									<arch>x86_64</arch>
								</environment>
							</environments>
							<dependency-resolution>
								<extraRequirements>
									<requirement>
										<type>eclipse-plugin</type>
										<id>org.hamcrest</id>
										<versionRange>0.0.0</versionRange>
									</requirement>
								</extraRequirements>
							</dependency-resolution>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>


		<profile>
			<id>sign</id>

			<build>
				<plugins>
					<!-- enable jar signing -->
					<plugin>
						<groupId>org.eclipse.cbi.maven.plugins</groupId>
						<artifactId>eclipse-jarsigner-plugin</artifactId>
						<version>${eclipse.jarsigner.version}</version>
						<executions>
							<execution>
								<id>sign</id>
								<goals>
									<goal>sign</goal>
								</goals>
								<phase>verify</phase>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>  
