<?xml version="1.0" encoding="UTF-8"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>

	<prerequisites>
		<maven>3.0</maven>
	</prerequisites>

	<groupId>org.eclipse.photran</groupId>
	<artifactId>photran-parent</artifactId>
	<version>9.4.1-SNAPSHOT</version>
	<packaging>pom</packaging>
	<name>PTP Photran Parent</name>

	<properties>
		<tycho-version>1.4.0</tycho-version>
		<tycho-extras-version>${tycho-version}</tycho-extras-version>
		<photran-install-dir>/home/data/httpd/download.eclipse.org/tools/ptp/builds/hudson/ptp-nightly-photran</photran-install-dir>
	</properties>

	<licenses>
		<license>
			<name>Eclipse Public License v1.0</name>
			<comments>
       All rights reserved.

       This program and the accompanying materials are made
       available under the terms of the Eclipse Public License v1.0
       which accompanies this distribution, and is available at
       http://www.eclipse.org/legal/epl-v10.htm
      </comments>
		</license>
	</licenses>

	<modules>
		<module>org.eclipse.photran.target</module>
		<module>org.eclipse.photran.cdtinterface</module>
		<module>org.eclipse.photran.cdtinterface.vpg</module>
		<module>org.eclipse.photran.core</module>
		<module>org.eclipse.photran.core.intel</module>
		<module>org.eclipse.photran.core.vpg</module>
		<module>org.eclipse.photran.core.vpg.preprocessor.c</module>
		<module>org.eclipse.photran.core.xlf</module>
		<module>org.eclipse.photran.doc.user</module>
		<module>org.eclipse.photran.managedbuilder.gnu.ui</module>
		<module>org.eclipse.photran.managedbuilder.intel.ui</module>
		<module>org.eclipse.photran.managedbuilder.ui</module>
		<module>org.eclipse.photran.managedbuilder.xlf.ui</module>
		<module>org.eclipse.photran.ui</module>
		<module>org.eclipse.photran.ui.vpg</module>
		<module>org.eclipse.photran.ui.vpg.preprocessor.c</module>
		<module>org.eclipse.photran-feature</module>
		<module>org.eclipse.photran.intel-feature</module>
		<module>org.eclipse.photran.xlf-feature</module>
		<module>org.eclipse.photran.repo</module>
	</modules>

	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-maven-plugin</artifactId>
				<version>${tycho-version}</version>
				<extensions>true</extensions>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<resolver>p2</resolver>
					<pomDependencies>consider</pomDependencies>
					<environments>
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>x86_64</arch>
						</environment>
						<environment>
							<os>win32</os>
							<ws>win32</ws>
							<arch>x86_64</arch>
						</environment>
						<environment>
							<os>macosx</os>
							<ws>cocoa</ws>
							<arch>x86_64</arch>
						</environment>
					</environments>
					<target>
						<artifact>
							<groupId>org.eclipse.photran</groupId>
							<artifactId>org.eclipse.photran.target</artifactId>
							<version>9.4.1-SNAPSHOT</version>
							<classifier>photran</classifier>
						</artifact>
					</target>
				</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>
		</plugins>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-compiler-plugin</artifactId>
					<version>${tycho-version}</version>
					<configuration>
						<encoding>UTF-8</encoding>
					</configuration>
				</plugin>
				<!-- enable source bundle generation -->
				<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.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>2.6</version>
					<configuration>
						<encoding>ISO-8859-1</encoding>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-antrun-plugin</artifactId>
					<version>1.7</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>findbugs-maven-plugin</artifactId>
					<version>2.5.3</version>
					<configuration>
						<findbugsXmlOutput>true</findbugsXmlOutput>
						<failOnError>false</failOnError>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>check</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-pmd-plugin</artifactId>
					<version>3.0.1</version>
					<configuration>
						<sourceEncoding>utf-8</sourceEncoding>
						<minimumTokens>100</minimumTokens>
						<targetJdk>1.5</targetJdk>
						<format>xml</format>
						<failOnViolation>false</failOnViolation>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>cpd-check</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<profiles>
		<profile>
			<id>eclipse-sign</id>
			<pluginRepositories>
				<pluginRepository>
					<id>m2e-cbi</id>
					<url>http://download.eclipse.org/technology/m2e/maven/</url>
				</pluginRepository>
			</pluginRepositories>

			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>target-platform-configuration</artifactId>
						<version>${tycho-version}</version>
						<configuration>
							<includePackedArtifacts>true</includePackedArtifacts>
						</configuration>
					</plugin>

					<plugin>
						<groupId>org.eclipse.tycho.extras</groupId>
						<artifactId>tycho-pack200a-plugin</artifactId>
						<version>${tycho-extras-version}</version>
						<executions>
							<execution>
								<id>pack200-normalize</id>
								<goals>
									<goal>normalize</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

					<plugin>
						<groupId>org.eclipse.cbi.maven.plugins</groupId>
						<artifactId>eclipse-jarsigner-plugin</artifactId>
						<version>1.0.1</version>
						<executions>
							<execution>
								<id>sign</id>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

					<plugin>
						<groupId>org.eclipse.tycho.extras</groupId>
						<artifactId>tycho-pack200b-plugin</artifactId>
						<version>${tycho-extras-version}</version>
						<executions>
							<execution>
								<id>pack200-pack</id>
								<goals>
									<goal>pack</goal>
								</goals>
							</execution>
						</executions>
					</plugin>

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