<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (C) 2011, Obeo

   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.html
-->

<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>

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

  <groupId>org.eclipse.mylyn.docs.intent-group</groupId>
  <artifactId>intent-parent</artifactId>
  <version>0.8.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <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>

  <properties>
    <tycho-version>0.17.0</tycho-version>
	<tycho-extras-version>0.17.0</tycho-extras-version>
	<maven-surefire-version>2.14.1</maven-surefire-version>
  </properties>


  <modules>
	 <module>plugins/org.eclipse.mylyn.docs.intent</module>    
	 
	 <!-- Intent Core -->
	<module>plugins/org.eclipse.mylyn.docs.intent.core</module>
    <module>plugins/org.eclipse.mylyn.docs.intent.parser</module>
	<module>plugins/org.eclipse.mylyn.docs.intent.compare</module>
	<module>plugins/org.eclipse.mylyn.docs.intent.modelingunit.update</module>
    
	
	<!-- Intent collab -->
	<module>plugins/org.eclipse.mylyn.docs.intent.collab</module>
    <module>plugins/org.eclipse.mylyn.docs.intent.collab.common</module>
    <module>plugins/org.eclipse.mylyn.docs.intent.collab.ide</module>
	<module>plugins/org.eclipse.mylyn.docs.intent.collab.cdo</module>

	
	<!-- Intent clients & generic UI -->
    <module>plugins/org.eclipse.mylyn.docs.intent.client.compiler</module>
    <module>plugins/org.eclipse.mylyn.docs.intent.client.indexer</module>
    <module>plugins/org.eclipse.mylyn.docs.intent.client.synchronizer</module>
	<module>plugins/org.eclipse.mylyn.docs.intent.client.linkresolver</module>
    <module>plugins/org.eclipse.mylyn.docs.intent.client.ui</module>
	<module>plugins/org.eclipse.mylyn.docs.intent.core.edit</module>
   
    <!-- Intent Workspace mode specifics-->   
	<module>plugins/org.eclipse.mylyn.docs.intent.client.ui.ide</module>
	<module>doc/org.eclipse.mylyn.docs.intent.idoc</module>
	 
	<!-- Intent CDO mode specifics -->
	<module>plugins/org.eclipse.mylyn.docs.intent.client.ui.cdo</module>
	
	<!-- Intent export -->
	<module>plugins/org.eclipse.mylyn.docs.intent.exporter</module>
	<module>plugins/org.eclipse.mylyn.docs.intent.exporter.client</module>
	<module>plugins/org.eclipse.mylyn.docs.intent.exporter.ui</module>

	<!-- Intent Markup -->   
    <module>plugins/org.eclipse.mylyn.docs.intent.markup</module>    
    <module>plugins/org.eclipse.mylyn.docs.intent.markup.gen</module>
    <module>plugins/org.eclipse.mylyn.docs.intent.markup.ui</module>
	
	<!-- Intent examples -->
	<module>examples/org.eclipse.mylyn.docs.intent.example.documents</module>
	<module>examples/org.eclipse.mylyn.docs.intent.example.cdo.server</module>
	
	<!-- Intent bridges -->
	<module>bridges/org.eclipse.mylyn.docs.intent.bridge.ide.default</module>
	<module>bridges/org.eclipse.mylyn.docs.intent.bridge.java</module>
	<module>bridges/org.eclipse.mylyn.docs.intent.bridge.java.edit</module>
	<module>bridges/org.eclipse.mylyn.docs.intent.bridge.java.editor</module>
	
	<!-- Intent features -->
    <module>features/org.eclipse.mylyn.docs.intent.update</module>
    <module>features/org.eclipse.mylyn.docs.intent-feature</module>
	<module>features/org.eclipse.mylyn.docs.intent.cdo-feature</module>
	<module>features/org.eclipse.mylyn.docs.intent.workspace-feature</module>
    <module>features/org.eclipse.mylyn.docs.intent.markup-feature</module>
	<module>features/org.eclipse.mylyn.docs.intent.exporter-feature</module>
	<module>features/org.eclipse.mylyn.docs.intent.bridge.java-feature</module>
	
	<!-- Intent tests -->
    <module>tests/org.eclipse.mylyn.docs.intent.parser.test</module>
	<module>tests/org.eclipse.mylyn.docs.intent.compare.test</module>
    <module>tests/org.eclipse.mylyn.docs.intent.collab.test</module>
    <module>tests/org.eclipse.mylyn.docs.intent.client.ui.test</module>
	<module>tests/org.eclipse.mylyn.docs.intent.client.compiler.test</module>
	<module>tests/org.eclipse.mylyn.docs.intent.test.server</module>
	
   </modules>
  
  <build>
  	<sourceDirectory>src</sourceDirectory>
    <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>		
        <environments>
			<environment>
					<os>linux</os>
					<ws>gtk</ws>
					<arch>x86</arch>
			</environment>
			<environment>
					<os>win32</os>
					<ws>win32</ws>
					<arch>x86</arch>
			</environment>
			<environment>
					<os>win32</os>
					<ws>win32</ws>
					<arch>x86_64</arch>
			</environment>
			<environment>
					<os>linux</os>
					<ws>gtk</ws>
					<arch>x86_64</arch>
			</environment>
			<environment>
					<os>macosx</os>
					<ws>cocoa</ws>
					<arch>x86_64</arch>
			</environment>
		</environments>
        </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.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>
				</plugin>
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-p2-plugin</artifactId>
					<version>${tycho-version}</version>
					 <executions>
					  <!-- These two should allow us not to get "duplicate artifact" warnings during the build. -->
						 <execution>
									   <!-- Don't attach (default) metadata before the source-feature execution.-->
									   <id>default-p2-metadata-default</id>
									   <configuration>
										 <attachP2Metadata>false</attachP2Metadata>
									   </configuration>
						 </execution>
						 <execution>
									   <!-- Do attach metadata after the source-feature execution.-->
									   <id>attach-p2-metadata</id>
									   <goals>
										 <goal>p2-metadata</goal>
									   </goals>
									   <phase>package</phase>
						 </execution>
					</executions>
				</plugin>
	<!-- Other plugins -->
	 </plugins> 
      <pluginManagement>
          <plugins>
              <plugin>
                  <groupId>org.eclipse.tycho</groupId>
                  <artifactId>tycho-compiler-plugin</artifactId>
                  <version>${tycho-version}</version>
                  <configuration>
                      <encoding>UTF-8</encoding>
            		  <source>1.5</source>
                      <target>1.5</target>
                  </configuration>
              </plugin>
			<plugin>
			  <groupId>org.apache.maven.plugins</groupId>
			  <artifactId>maven-resources-plugin</artifactId>
			  <version>2.4.1</version>
			  <configuration>
				<encoding>ISO-8859-1</encoding>
			  </configuration>
			</plugin>
			<plugin>
			  <groupId>org.apache.maven.plugins</groupId>
			  <artifactId>maven-antrun-plugin</artifactId>
			  <version>1.3</version>
			</plugin>
			<plugin>
			  <groupId>org.codehaus.mojo</groupId>
			  <artifactId>findbugs-maven-plugin</artifactId>
			  <version>2.3.2</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>2.5</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>quality</id>
		<activation>
		  <activeByDefault>true</activeByDefault>
		</activation>
		<properties>
			<!-- Sonar properties -->
			<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
			<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
			<!-- Points to the target folder of the global parent project  -->
			<sonar.jacoco.reportPath>../../target/jacoco.exec</sonar.jacoco.reportPath>
		</properties>
		<build>
			<plugins>
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>0.5.6.201201232323</version>
					<executions>
						<execution>
							<goals>
								<goal>prepare-agent</goal>
							</goals>
							<configuration>
								<append>true</append>
								<destFile>${sonar.jacoco.reportPath}</destFile>
							</configuration>
						</execution>
					</executions>
				</plugin>
			</plugins>
		</build>
	</profile>
	<profile>
		<id>checkstyle</id>
		<activation>
			<activeByDefault>false</activeByDefault>
		</activation>
		<build>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-checkstyle-plugin</artifactId>
					<version>2.6</version>
					<executions>
						<execution>
							<id>check my sources</id>
							<goals>
								<goal>checkstyle</goal>
							</goals>
							<phase>verify</phase>
							<configuration>
								<failOnErrors>false</failOnErrors>
								<consoleOutput>true</consoleOutput>
							</configuration>
						</execution>
					</executions>
				</plugin>
			</plugins>
		</build>
	</profile>
	 <profile>
      <id>coverage</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <modules>
          <module>org.eclemma.runtime.equinox</module>
      </modules>
    </profile>
    <profile>
      <id>static-checks</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
    </profile>
	
	<!-- Target environments -->
	<profile>
      <id>kepler</id>
		<activation>
		  <activeByDefault>true</activeByDefault>
		</activation>
		<build> 
			<plugins>  
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>target-platform-configuration</artifactId>
					<version>${tycho-version}</version>
					<configuration>
						<resolver>p2</resolver>
						<ignoreTychoRepositories>true</ignoreTychoRepositories>
						<target>
							<artifact>
								<groupId>org.eclipse.mylyn.docs.intent-group</groupId>
								<artifactId>intent-parent</artifactId>
								<version>0.8.0-SNAPSHOT</version>
								<classifier>plugins/org.eclipse.mylyn.docs.intent/dev/target platform/kepler-sdk</classifier>
							</artifact>
						</target>
					</configuration>
				</plugin>
			</plugins>
		</build>
	</profile>
	
	<profile>
      <id>juno</id>
		<activation>
		  <activeByDefault>false</activeByDefault>
		</activation>
		<build> 
			<plugins>  
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>target-platform-configuration</artifactId>
					<version>${tycho-version}</version>
					<configuration>
						<resolver>p2</resolver>
						<ignoreTychoRepositories>true</ignoreTychoRepositories>
						<target>
							<artifact>
								<groupId>org.eclipse.mylyn.docs.intent-group</groupId>
								<artifactId>intent-parent</artifactId>
								<version>0.8.0-SNAPSHOT</version>
								<classifier>plugins/org.eclipse.mylyn.docs.intent/dev/target platform/juno-sdk-4.2</classifier>
							</artifact>
						</target>
					</configuration>
				</plugin>
			</plugins>
		</build>
	</profile>
	
	<profile>
      <id>juno3.8</id>
		<activation>
		  <activeByDefault>false</activeByDefault>
		</activation>
		<build> 
			<plugins>  
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>target-platform-configuration</artifactId>
					<version>${tycho-version}</version>
					<configuration>
						<resolver>p2</resolver>
						<ignoreTychoRepositories>true</ignoreTychoRepositories>
						<target>
							<artifact>
								<groupId>org.eclipse.mylyn.docs.intent-group</groupId>
								<artifactId>intent-parent</artifactId>
								<version>0.8.0-SNAPSHOT</version>
								<classifier>plugins/org.eclipse.mylyn.docs.intent/dev/target platform/juno-sdk-3.8/</classifier>
							</artifact>
						</target>
					</configuration>
				</plugin>
			</plugins>
		</build>
	</profile>
	
	<profile>
      <id>indigo</id>
		<activation>
		  <activeByDefault>false</activeByDefault>
		</activation>
		<build> 
			<plugins>  
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>target-platform-configuration</artifactId>
					<version>${tycho-version}</version>
					<configuration>
						<resolver>p2</resolver>
						<ignoreTychoRepositories>true</ignoreTychoRepositories>
						<target>
							<artifact>
								<groupId>org.eclipse.mylyn.docs.intent-group</groupId>
								<artifactId>intent-parent</artifactId>
								<version>0.8.0-SNAPSHOT</version>
								<classifier>plugins/org.eclipse.mylyn.docs.intent/dev/target platform/indigo-sdk-3.8/</classifier>
							</artifact>
						</target>
					</configuration>
				</plugin>
			</plugins>
		</build>
	</profile>
</profiles>
</project>
