<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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>
	<groupId>org.eclipse.mdht</groupId>
	<artifactId>root</artifactId>
	<version>3.0.0-SNAPSHOT</version>
	<packaging>pom</packaging>

	<properties>
		<tycho-version>0.23.1</tycho-version>
		<tychoExtrasVersion>0.23.1</tychoExtrasVersion>
		<tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/mdht/org.eclipse.mdht</tycho.scmUrl>
		<jarSignerVersion>1.1.2</jarSignerVersion>
		<findbugs.version>3.0.1</findbugs.version>
		<xtext.version>2.7.3</xtext.version>
		<java.source.version>1.8</java.source.version>
		<java.target.version>1.8</java.target.version>
		<mylyn.wikitext.version>2.4.0-SNAPSHOT</mylyn.wikitext.version>
		<skipAllTests>false</skipAllTests>
		<skipInnerTests>true</skipInnerTests>

		<!-- Set to file:/home/data/httpd/download.eclipse.org when building on 
			Eclipse servers to improve performance -->
		<eclipse.download>http://download.eclipse.org</eclipse.download>

		<!-- MDHT repositories. Used when we're building individual components 
			(vs building the parent pom including everything) -->
		<mdht.eclipse.target>neon</mdht.eclipse.target>
		<mdht.repo.main>${eclipse.download}/modeling/mdht/updates/nightly/${mdht.eclipse.target}</mdht.repo.main>

	</properties>

	<modules>
		<module>core</module>
		<module>dita</module>
		<module>cda</module>
		<module>fhir</module>
		<module>releng/p2-site</module>
	</modules>

	<repositories>
		<repository>
			<id>release.target</id>
			<layout>p2</layout>
			<url>${eclipse.download}/releases/${mdht.eclipse.target}</url>
		</repository>

		<repository>
			<id>ccda</id>
			<layout>p2</layout>
			<url>http://oht-modeling.sourceforge.net/updates/ccda2</url>
		</repository>

		<repository>
			<id>nebula</id>
			<layout>p2</layout>
			<url>http://download.eclipse.org/nebula/releases/latest</url>
		</repository>


	</repositories>

	<pluginRepositories>
		<pluginRepository>
			<id>org.eclipse.cbi.maven.plugins</id>
			<name>Eclipse CBI</name>
			<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</pluginRepository>
		<pluginRepository>
			<id>eclipse.org-mylyn</id>
			<url>https://repo.eclipse.org/content/repositories/mylyn/</url>
		</pluginRepository>
	</pluginRepositories>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>2.6</version>
					<configuration>
						<encoding>UTF-8</encoding>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-clean-plugin</artifactId>
					<version>2.6</version>
				</plugin>
				<plugin>
					<groupId>org.eclipse.xtend</groupId>
					<artifactId>xtend-maven-plugin</artifactId>
					<version>${xtext.version}</version>
				</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>
							<environment>
								<os>linux</os>
								<ws>gtk</ws>
								<arch>x86</arch>
							</environment>
							<environment>
								<os>win32</os>
								<ws>win32</ws>
								<arch>x86_64</arch>
							</environment>
							<environment>
								<os>win32</os>
								<ws>win32</ws>
								<arch>x86</arch>
							</environment>
							<environment>
								<os>macosx</os>
								<ws>cocoa</ws>
								<arch>x86_64</arch>
							</environment>
						</environments>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<profiles>
		<profile>
			<id>siteenv</id>
			<distributionManagement>
				<repository>
					<id>devsoap.sitenv.org</id>
					<name>devsoap.sitenv.org-releases</name>
					<url>http://devsoap.sitenv.org:8081/artifactory/libs-release-local</url>
				</repository>

				<snapshotRepository>
					<id>devsoap.sitenv.org</id>
					<name>devsoap.sitenv.org-snapshots</name>
					<url>http://devsoap.sitenv.org:8081/artifactory/libs-snapshot-local</url>
				</snapshotRepository>
			</distributionManagement>
		</profile>
	</profiles>
</project>
