<?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.7.2-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.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.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>

	<!-- 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>
		
		<!--
        <target>
            <artifact>
                <groupId>org.eclipse.mylyn.docs.intent-group</groupId>
                <artifactId>org.eclipse.mylyn.docs.intent</artifactId>
                <version>0.7.0-SNAPSHOT</version>
                <classifier>dev/target platform/juno-sdk-4.2</classifier>
            </artifact>
        </target>
		-->
        <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>acceleo</id><layout>p2</layout>
				<url>https://hudson.eclipse.org/hudson/job/m2t-acceleo-master/lastSuccessfulBuild/artifact/Acceleo.p2.repository/</url>
			</repository>			
			<repository><id>emfcompare</id><layout>p2</layout>
				<url>http://download.eclipse.org/modeling/emf/compare/updates/releases/1.3/</url>
			</repository>
			<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.2milestones</url>          
			</repository>
			<repository><id>orbit</id><layout>p2</layout>
				<url>http://download.eclipse.org/tools/orbit/downloads/drops/R20120526062928/repository/</url>
			</repository>
			
		</repositories>
	</profile>
	  </profiles>
</project>
