<?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>
			<includePackedArtifacts>true</includePackedArtifacts>
			<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>
			<plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>tycho-p2-plugin</artifactId>
                <version>${tycho-extras-version}</version>
                <executions>
                  <execution>
                    <id>p2-metadata</id>
                    <goals>
                      <goal>p2-metadata</goal>
                    </goals>
                    <phase>package</phase>
                  </execution>
                </executions>
                <configuration>
                  <defaultP2Metadata>false</defaultP2Metadata>
                </configuration>
            </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>
						<includePackedArtifacts>true</includePackedArtifacts>
						<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>
						<includePackedArtifacts>true</includePackedArtifacts>
						<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>
						<includePackedArtifacts>true</includePackedArtifacts>
						<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>
						<includePackedArtifacts>true</includePackedArtifacts>
						<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>
						<includePackedArtifacts>true</includePackedArtifacts>
						<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>package</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>package</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>package</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>
