<?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.13.0</tycho-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>
   
    <!-- Intent Workspace mode specifics-->   
	<module>plugins/org.eclipse.mylyn.docs.intent.client.ui.ide</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.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 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.retro-feature</module>
	<module>features/org.eclipse.mylyn.docs.intent.exporter-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>

	<!-- Intent examples -->
	<module>examples/org.eclipse.mylyn.docs.intent.example.documents</module>
	<module>examples/org.eclipse.mylyn.docs.intent.example.cdo.server</module>
    <module>examples/org.eclipse.mylyn.docs.intent.retro</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>
        <ignoreTychoRepositories>false</ignoreTychoRepositories>
		
        <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>
    </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.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>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>
	<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>juno</id>
		<activation>
          <activeByDefault>true</activeByDefault>
      </activation>
  		<repositories>
			<repository><id>juno</id><layout>p2</layout>
			   <url>http://download.eclipse.org/releases/juno</url>          
			</repository>
			<repository><id>platform</id><layout>p2</layout>
			   <url>http://download.eclipse.org/eclipse/updates/4.2</url>          
			</repository>
			<repository><id>orbit</id><layout>p2</layout>
				<url>http://download.eclipse.org/tools/orbit/downloads/drops/updateSite</url>
			</repository>
			<repository><id>emfcompare2</id><layout>p2</layout>
				<url>https://hudson.eclipse.org/hudson/view/Modeling/job/emf-compare-master/lastSuccessfulBuild/artifact/packaging/org.eclipse.emf.compare.update/target/repository/</url>
			</repository>
		</repositories>
	</profile>
	  </profiles>
</project>
