<project>
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.eclipse.vorto</groupId>
	<artifactId>org.eclipse.vorto.parent</artifactId>
	<version>0.1.0</version>
	<packaging>pom</packaging>
	<modules>
		<module>bundles</module>	
		<module>generators</module>
		<module>features</module>			
		<module>products</module>
		<module>targetplatform</module>
	</modules>

	<properties>
		<tycho-version>0.20.0</tycho-version>
		<tycho-groupid>org.eclipse.tycho</tycho-groupid>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<xtext.version>2.7.2</xtext.version>
		<jdk.version>1.7</jdk.version>
		<kepler.path>/Applications/eclipse/dropins</kepler.path>
		<luna.path>/Applications/eclipseLuna/dropins</luna.path>
		<findbugs.version>2.5.2</findbugs.version>
	</properties>

	<scm>
		<connection>scm:git:https://products.bosch-si.com/stash/scm/dswap/vorto.git</connection>
	</scm>

	<distributionManagement>
		<snapshotRepository>
			<id>inst-dsw-ap-snapshots</id>
			<url>https://repo.bosch-si.com/content/repositories/inst-dsw-ap-snapshots</url>
		</snapshotRepository>
		<repository>
			<id>inst-dsw-ap-releases</id>
			<url>https://repo.bosch-si.com/content/repositories/inst-dsw-ap-releases</url>
		</repository>
	</distributionManagement>

	<pluginRepositories>
		<pluginRepository>
			<id>tycho-snapshots</id>
			<url>https://oss.sonatype.org/content/groups/public/</url>
		</pluginRepository>
		<pluginRepository>
			<id>cbi-releases</id>
			<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
		</pluginRepository>
	</pluginRepositories>
	
	<repositories>
		<repository>
            <id>orbit</id>
            <url>http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository</url>
            <layout>p2</layout>
        </repository>
		<repository>
			<id>kepler</id>
			<layout>p2</layout>
			<url>http://download.eclipse.org/releases/kepler</url>
		</repository>
		<repository>
			<id>Xtext Update Site</id>
			<layout>p2</layout>
			<url>http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/</url>
		</repository>
		<repository>
			<id>eclipse</id>
			<name>Eclipse Snapshot Repository</name>
			<layout>default</layout>
			<url>https://repo.eclipse.org/content/repositories/snapshots/</url>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
	</repositories>
	

	
	
	<build>
		<sourceDirectory>src</sourceDirectory>
		<pluginManagement>
			<plugins>
				<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-clean-plugin</artifactId>
				<version>2.5</version>
				<configuration>
					<filesets>
						<fileset>
							<directory>${basedir}/xtend-gen</directory>
							<includes>
								<include>**</include>
							</includes>
							<excludes>
								<exclude>.gitignore</exclude>
							</excludes>
						</fileset>
						<fileset>
							<directory>${basedir}/src/main/generated-sources/xtend</directory>
							<includes>
								<include>**</include>
							</includes>
							<excludes>
								<exclude>.gitignore</exclude>
							</excludes>
						</fileset>
					</filesets>
				</configuration>
			</plugin>
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-packaging-plugin</artifactId>
					<version>${tycho-version}</version>
				</plugin>
				<plugin>
					<groupId>org.eclipse.xtend</groupId>
					<artifactId>xtend-maven-plugin</artifactId>
					<version>2.6.2</version>
					<executions>
						<execution>
							<goals>
								<goal>compile</goal>
								<goal>testCompile</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<outputDirectory>xtend-gen</outputDirectory>
					</configuration>
					<dependencies>
						<!-- these dependencies are contributed in Eclipse by the "Xtend Library" 
							classpath container -->
						<dependency>
							<groupId>org.eclipse.xtend</groupId>
							<artifactId>org.eclipse.xtend.lib</artifactId>
							<version>${xtext.version}</version>
							<type>pom</type>
						</dependency>
					</dependencies>
				</plugin>
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-versions-plugin</artifactId>
					<version>${tycho-version}</version>
				</plugin>
			</plugins>
		</pluginManagement>

		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<version>1.7</version>
				<executions>
					<execution>
						<id>add-source</id>
						<phase>generate-sources</phase>
						<goals>
							<goal>add-source</goal>
						</goals>
						<configuration>
							<sources>
								<source>xtend-gen</source>
								<source>src-gen</source>
							</sources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-maven-plugin</artifactId>
				<version>${tycho-version}</version>
				<extensions>true</extensions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>${jdk.version}</source>
					<target>${jdk.version}</target>
					<meminitial>1024m</meminitial>
					<maxmem>2024m</maxmem>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-compiler-plugin</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<source>${jdk.version}</source>
					<target>${jdk.version}</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<version>2.5</version>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-versions-plugin</artifactId>
				<version>${tycho-version}</version>
			</plugin>
		    <plugin>
		    	<groupId>org.apache.maven.plugins</groupId>
		        <artifactId>maven-javadoc-plugin</artifactId>
		        <version>2.10.1</version>
				<configuration>
				     <bottom>
					 	<![CDATA[Copyright &#169; 2010&#x2013;{currentYear} <a href="http://www.bosch-si.com">Bosch Software Innovations GmbH.</a> All rights reserved.]]>
					 </bottom>
				</configuration>
				<executions> 
					<execution> 
					  <id>attach-javadocs</id>
					  <phase>package</phase>
					  <goals><goal>jar</goal></goals> 
					</execution> 
				</executions> 					
		     </plugin>
		     <plugin>
				<groupId>${tycho-groupid}</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<resolver>p2</resolver>
					<ignoreTychoRepositories>true</ignoreTychoRepositories>
					<pomDependencies>consider</pomDependencies>
					<target>
						<artifact>
							<groupId>org.eclipse.vorto</groupId>
							<artifactId>org.eclipse.vorto.targetplatform</artifactId>
							<version>${project.version}</version>
							<classifier>vorto</classifier>
						</artifact>
					</target>
					<environments>
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>x86</arch>
						</environment>
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>x86_64</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>macosx</os>
							<ws>cocoa</ws>
							<arch>x86_64</arch>
						</environment>
					</environments>
				</configuration>
			</plugin>
		</plugins>
	</build>
	
	<profiles>
	  <profile>
		<id>analysis</id>
		<build>
		<plugins>
			<plugin>
	            <groupId>org.codehaus.mojo</groupId>
	            <artifactId>findbugs-maven-plugin</artifactId>
	            <version>${findbugs.version}</version>
	            <configuration>
	                <!--
	                    Enables analysis which takes more memory but finds more bugs.
	                    If you run out of memory, changes the value of the effort element
	                    to 'Low'.
	                -->
	                <effort>Max</effort>
	                <!-- Build doesn't fail if problems are found -->
	                <failOnError>false</failOnError>
	                <!-- Reports all bugs (other values are medium and max) -->
	                <threshold>Low</threshold>
	                <!-- Produces XML report -->
	                <xmlOutput>true</xmlOutput>
	                
	                <findbugsXmlOutput>true</findbugsXmlOutput>
					<findbugsXmlWithMessages>true</findbugsXmlWithMessages>
					<excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
					<includeFilterFile>findbugs.xml</includeFilterFile>
					
	                <!-- Configures the directory in which the XML report is created -->
	                <findbugsXmlOutputDirectory>${project.build.directory}/findbugs</findbugsXmlOutputDirectory>
	            </configuration>
	            <executions>
	                <!--
	                    Ensures that FindBugs inspects source code when project is compiled.
	                -->
	                <execution>
	                    <id>analyze-compile</id>
	                    <phase>compile</phase>
	                    <goals>
	                        <goal>check</goal>
	                    </goals>
	                </execution>
	            </executions>
	        </plugin>
	        <plugin>
	            <groupId>org.codehaus.mojo</groupId>
	            <artifactId>xml-maven-plugin</artifactId>
	            <version>1.0</version>
	            <configuration>
	                <transformationSets>
	                    <transformationSet>
	                        <!-- Configures the source directory of XML files. -->
	                        <dir>${project.build.directory}/findbugs</dir>
	                        <!-- Configures the directory in which the FindBugs report is written.-->
	                        <outputDir>${project.build.directory}/findbugs</outputDir>
	                        <!-- Selects the used stylesheet. -->
	                        <!-- <stylesheet>fancy-hist.xsl</stylesheet> -->
	                        <stylesheet>default.xsl</stylesheet>
	                        <!--<stylesheet>plain.xsl</stylesheet>-->
	                        <!--<stylesheet>fancy.xsl</stylesheet>-->
	                        <!--<stylesheet>summary.xsl</stylesheet>-->
	                        <fileMappers>
	                            <!-- Configures the file extension of the output files. -->
	                            <fileMapper
	                                    implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
	                                <targetExtension>.html</targetExtension>
	                            </fileMapper>
	                        </fileMappers>
	                    </transformationSet>
	                </transformationSets>
	            </configuration>
	            <executions>
	                <!-- Ensures that the XSLT transformation is run when the project is compiled. -->
	                <execution>
	                    <phase>compile</phase>
	                    <goals>
	                        <goal>transform</goal>
	                    </goals>
	                </execution>
	            </executions>
	            <dependencies>
	                <dependency>
	                    <groupId>com.google.code.findbugs</groupId>
	                    <artifactId>findbugs</artifactId>
	                    <version>2.0.1</version>
	                </dependency>
	            </dependencies>
	        </plugin>
	        <plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>2.13</version>
			   	<executions>
					<execution>
						<id>validate</id>
						<phase>validate</phase>
						<configuration>
							<configLocation>sun-config.xml</configLocation>
							<encoding>UTF-8</encoding>
							<consoleOutput>true</consoleOutput>
							<failsOnError>true</failsOnError>
							<linkXRef>false</linkXRef>
							<suppressionsLocation>suppressions.xml</suppressionsLocation>
          					<suppressionsFileExpression>suppressions.file</suppressionsFileExpression>
						</configuration>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
			 	</executions>
			</plugin>
		</plugins>
		</build>
	  </profile>
	</profiles>

</project>
