<?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.9.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 External Parsers -->
	<module>plugins/org.eclipse.mylyn.docs.intent.external.parser</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>luna</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.9.0-SNAPSHOT</version>
								<classifier>plugins/org.eclipse.mylyn.docs.intent/dev/target platform/luna-sdk</classifier>
							</artifact>
						</target>
					</configuration>
				</plugin>
			</plugins>
		</build>
	</profile>
	
	<profile>
      <id>kepler</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.9.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.9.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.9.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.9.0-SNAPSHOT</version>
								<classifier>plugins/org.eclipse.mylyn.docs.intent/dev/target platform/indigo-sdk</classifier>
							</artifact>
						</target>
					</configuration>
				</plugin>
			</plugins>
		</build>
	</profile>
	
	<profile>
			<id>sign</id>
			<activation>
				<property>
					<name>BUILD_SIGN</name>
					<value>true</value>
				</property>
			</activation>
	      <build>
	        <plugins>
         <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200a-plugin</artifactId>
            <version>0.18.1</version>
            <executions>
              <execution>
                <id>pack200-normalize</id>
                <goals>
                  <goal>normalize</goal>
                </goals>
                <phase>verify</phase>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-jarsigner-plugin</artifactId>
            <version>1.0.4</version>
            <executions>
              <execution>
                <id>sign</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200b-plugin</artifactId>
            <version>0.18.1</version>
            <executions>
              <execution>
                <id>pack200-pack</id>
                <goals>
                  <goal>pack</goal>
                </goals>
                <phase>verify</phase>
              </execution>
            </executions>
          </plugin>
          </plugins>
	      </build>
					
		  <pluginRepositories>
		    <pluginRepository>
		      <id>cbi</id>
		      <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
		      <releases>
		        <enabled>true</enabled>
		      </releases>
		      <snapshots>
		        <enabled>false</enabled>
		      </snapshots>
		    </pluginRepository>
		  </pluginRepositories>
		
	</profile>
</profiles>
</project>
