<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.eclipse.emf.parsley</groupId>
	<artifactId>org.eclipse.emf.parsley.parent</artifactId>
	<version>1.2.2-SNAPSHOT</version>
	<packaging>pom</packaging>
	
	<name>EMF Parsley</name>
	<description>EMF Parsley provides a set of reusable and customizable UI components based on EMF (trees, tables, forms, views, editors).</description>
	<url>http://www.eclipse.org/emf-parsley/</url>

	<ciManagement>
		<system>hudson</system>
		<url>https://hudson.eclipse.org/hudson</url>
	</ciManagement>
	<licenses>
		<license>
			<name>Eclipse Public License</name>
			<url>http://www.eclipse.org/legal/epl-v10.html</url>
			<distribution>repo</distribution>
		</license>
	</licenses>
	<organization>
		<name>Eclipse Foundation</name>
		<url>http://www.eclipse.org/</url>
	</organization>
	<issueManagement>
		<system>Bugzilla</system>
		<url>https://bugs.eclipse.org/bugs/buglist.cgi?product=EMF.Parsley</url>
	</issueManagement>
	<scm>
		<connection>scm:git:http://git.eclipse.org/c/emf-parsley/org.eclipse.emf-parsley.git</connection>
		<developerConnection>scm:git:ssh://git.eclipse.org/gitroot/emf-parsley/org.eclipse.emf-parsley.git</developerConnection>
		<url>http://git.eclipse.org/c/emf-parsley/org.eclipse.emf-parsley.git</url>
	</scm>
	<developers>
		<developer>
			<name>Lorenzo Bettini</name>
			<organization>Dipartimento di Informatica</organization>
			<organizationUrl>http://www.lorenzobettini.it/</organizationUrl>
		</developer>
		<developer>
			<name>Vincenzo Caselli</name>
			<organization>RCP Vision</organization>
			<organizationUrl>http://www.rcp-vision.com/</organizationUrl>
		</developer>
		<developer>
			<name>Francesco Guidieri</name>
			<organization>RCP Vision</organization>
			<organizationUrl>http://www.rcp-vision.com/</organizationUrl>
		</developer>
	</developers>
	<prerequisites>
		<maven>3.0</maven>
	</prerequisites>

	<properties>
		<tycho-version>1.0.0</tycho-version>
		<tycho-extras-version>${tycho-version}</tycho-extras-version>
		<maven-surefire-plugin.version>2.17</maven-surefire-plugin.version>
		<maven-antrun-plugin.version>1.8</maven-antrun-plugin.version>
		<junit-version>4.12</junit-version>
		<jacoco-version>0.7.9</jacoco-version>
		<findbugs-version>3.0.5</findbugs-version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

		<xtext-version>2.12.0</xtext-version>
		<xtextVersion>${xtext-version}</xtextVersion>
		<mwe2Version>2.9.0.201605261059</mwe2Version>
		<emf.version>(2.8,3.0)</emf.version>
		<guava.version>[10.0.1,)</guava.version>
		<google-inject.version>3.0</google-inject.version>
		<log4j.version>1.2.16</log4j.version>
		<!-- <platform-version>[3.9,4.0)</platform-version> -->

		<fornax-oaw-m2-plugin-version>3.5.1</fornax-oaw-m2-plugin-version>

		<!-- tests and runtime args -->
		<os-jvm-flags />
		<memoryArgs>-Xms256M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=256M -XX:+HeapDumpOnOutOfMemoryError</memoryArgs>
		<uiTestsArgs>${memoryArgs} ${os-jvm-flags} -Dorg.eclipse.swt.browser.DefaultType=mozilla</uiTestsArgs>
		<pdeTestsArgs>-DbuildingWithTycho=true</pdeTestsArgs>
		<skipDragAndDropTests>true</skipDragAndDropTests>
		<swtbotTestsArgs>${uiTestsArgs} -DskipDragAndDropTests=${skipDragAndDropTests} -Dorg.eclipse.swtbot.search.timeout=20000 -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false</swtbotTestsArgs>

		<!-- <jacoco.reportPath>../target/jacoco.exec</jacoco.reportPath> -->
		<!-- <findbugs.reportPath>../target/findbugs</findbugs.reportPath> -->
		
		<parsley.download.area>/home/data/httpd/download.eclipse.org/emf-parsley</parsley.download.area>
		<parsley.updates.dir>updates</parsley.updates.dir>
		<parsley.zips.dir>zips</parsley.zips.dir>
		<parsley.rap.updates.dir>rt</parsley.rap.updates.dir>
		<p2.repository.dest>${project.basedir}/../../target/repository</p2.repository.dest>
		<zipped.repository.dest>${project.basedir}/../../target/${parsley.zips.dir}</zipped.repository.dest>

		<!-- Enable this on Hudson CI @Eclipse.org -->
		<cbi.jarsigner.skip>true</cbi.jarsigner.skip>

		<!-- Source references -->
		<tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/emf-parsley/org.eclipse.emf-parsley.git</tycho.scmUrl>

		<!-- Sonar -->
		<sonar.language>java</sonar.language>
		<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
		<sonar.jacoco.reportPath>../${project.artifactId}.tests/target/jacoco.exec</sonar.jacoco.reportPath>
		<sonar.junit.reportsPath>../${project.artifactId}.tests/target/surefire-reports/</sonar.junit.reportsPath>
		<!-- **/EmfParsleyViewFilesGenerator.java,**/EmfParsleyProjectFilesGenerator.java report massive code
			duplication, but they're generated by Xtend and they are basically template generators;
			runtime classes are currently not analyzed. -->
		<sonar.exclusions>file:**/src-gen/**,file:**/runtime/**,file:**/test/**,file:**/tests/**,file:**/example/**,file:**/examples/**,**/*GuiceModule.java,**/*Dsl*Module.java,**/*ParsleyModule.java,**/*Parsley*Activator.java,**/EmfParsleyViewFilesGenerator.java,**/EmfParsleyProjectFilesGenerator.java,**/EmfParsleyDslNewProjectFiles.java,**/*StandaloneSetup*.java,**/*ExtensionFactory*.java,**/*Nature*.java,file:**/web/**,file:**/swt/**,file:**/junit4/**</sonar.exclusions>

		<!-- see http://sonarqube.15.x6.nabble.com/sonar-issue-ignore-multicriteria-td5021722.html 
			and http://stackoverflow.com/questions/21825469/configure-sonar-sonar-issue-ignore-multicriteria-through-maven 
			for the multicriteria property -->
		<sonar.issue.ignore.multicriteria>e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11</sonar.issue.ignore.multicriteria>
	
		<!-- standard convention for method names: in the outline tree provider 
			we must use methods that start with _ and they'd violate the rule squid:S00100 -->
		<sonar.issue.ignore.multicriteria.e1.ruleKey>squid:S00100</sonar.issue.ignore.multicriteria.e1.ruleKey>
		<sonar.issue.ignore.multicriteria.e1.resourceKey>**/*OutlineTreeProvider.java</sonar.issue.ignore.multicriteria.e1.resourceKey>
	
		<!-- "Tabulation characters should not be used" sorry... I don't agree :) -->
		<sonar.issue.ignore.multicriteria.e2.ruleKey>squid:S00105</sonar.issue.ignore.multicriteria.e2.ruleKey>
		<sonar.issue.ignore.multicriteria.e2.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e2.resourceKey>

		<!-- "Synchronized classes Vector, Hashtable, Stack and StringBuffer should not be used" 
			In TextUndoRedo we actually need a synchronized data structure. -->
		<sonar.issue.ignore.multicriteria.e3.ruleKey>squid:S1149</sonar.issue.ignore.multicriteria.e3.ruleKey>
		<sonar.issue.ignore.multicriteria.e3.resourceKey>**/TextUndoRedo.java</sonar.issue.ignore.multicriteria.e3.resourceKey>

		<!-- Avoid deprecated checkstyle rule -->
		<sonar.issue.ignore.multicriteria.e4.ruleKey>checkstyle:com.puppycrawl.tools.checkstyle.checks.TrailingCommentCheck</sonar.issue.ignore.multicriteria.e4.ruleKey>
		<sonar.issue.ignore.multicriteria.e4.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e4.resourceKey>

		<!-- Avoid deprecated checkstyle rule -->
		<sonar.issue.ignore.multicriteria.e5.ruleKey>checkstyle:com.puppycrawl.tools.checkstyle.checks.design.VisibilityModifierCheck</sonar.issue.ignore.multicriteria.e5.ruleKey>
		<sonar.issue.ignore.multicriteria.e5.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e5.resourceKey>

		<!-- In our junit4 bundle we really need to catch Throwable. -->
		<sonar.issue.ignore.multicriteria.e6.ruleKey>squid:S1181</sonar.issue.ignore.multicriteria.e6.ruleKey>
		<sonar.issue.ignore.multicriteria.e6.resourceKey>**/junit4/*.java</sonar.issue.ignore.multicriteria.e6.resourceKey>

		<!-- In our junit4 bundle we really need to call Thread.run. -->
		<sonar.issue.ignore.multicriteria.e7.ruleKey>squid:S1217</sonar.issue.ignore.multicriteria.e7.ruleKey>
		<sonar.issue.ignore.multicriteria.e7.resourceKey>**/junit4/**/*.java</sonar.issue.ignore.multicriteria.e7.resourceKey>

		<!-- Avoid deprecated checkstyle rule -->
		<sonar.issue.ignore.multicriteria.e8.ruleKey>checkstyle:com.puppycrawl.tools.checkstyle.checks.imports.UnusedImportsCheck</sonar.issue.ignore.multicriteria.e8.ruleKey>
		<sonar.issue.ignore.multicriteria.e8.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e8.resourceKey>

		<!-- Avoid deprecated PMD rule -->
		<sonar.issue.ignore.multicriteria.e9.ruleKey>pmd:AvoidDuplicateLiterals</sonar.issue.ignore.multicriteria.e9.ruleKey>
		<sonar.issue.ignore.multicriteria.e9.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e9.resourceKey>

		<!-- Avoid deprecated PMD rule -->
		<sonar.issue.ignore.multicriteria.e10.ruleKey>pmd:UnnecessaryLocalBeforeReturn</sonar.issue.ignore.multicriteria.e10.ruleKey>
		<sonar.issue.ignore.multicriteria.e10.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e10.resourceKey>

		<!-- Avoid deprecated PMD rule -->
		<sonar.issue.ignore.multicriteria.e11.ruleKey>pmd:ConstructorCallsOverridableMethod</sonar.issue.ignore.multicriteria.e11.ruleKey>
		<sonar.issue.ignore.multicriteria.e11.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e11.resourceKey>

		<findbugs.skip>false</findbugs.skip>
		<mwe2.skip>false</mwe2.skip>

		<dsl.tests.skip>false</dsl.tests.skip>
		<simple.tests.skip>false</simple.tests.skip>
		<swtbot.tests.skip>false</swtbot.tests.skip>
		<swtbot.cdo.tests.skip>false</swtbot.cdo.tests.skip>

		<target-file-name>oxygen</target-file-name>

		<ant-files-path>${basedir}/../../releng/org.eclipse.emf.parsley.parent/ant</ant-files-path>
	</properties>
	
	<profiles>
		<profile>
			<id>rcp-build</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<modules>
				<module>../../devtools/org.eclipse.emf.parsley.targetplatform</module>

				<module>../../plugins/org.eclipse.emf.parsley.runtime.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.views.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.cdo.common</module>
			
				<module>../../plugins/org.eclipse.emf.parsley.runtime</module>
				<module>../../plugins/org.eclipse.emf.parsley</module>
				<module>../../plugins/org.eclipse.emf.parsley.junit4</module>

				<module>../../plugins/org.eclipse.emf.parsley.web.servlets</module>
				<module>../../plugins/org.eclipse.emf.parsley.web.tools</module>

				<module>../../tests/org.eclipse.emf.parsley.tests.models</module>
				<module>../../tests/org.eclipse.emf.parsley.tests</module>
				<module>../../tests/org.eclipse.emf.parsley.tests.views</module>

				<module>../../plugins/org.eclipse.emf.parsley.views</module>
				<module>../../plugins/org.eclipse.emf.parsley.cdo</module>
				<module>../../plugins/org.eclipse.emf.parsley.editors.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.editors</module>
		
				<module>../../tests/org.eclipse.emf.parsley.cdo.tests</module>

				<module>../../plugins/org.eclipse.emf.parsley.generator.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.wizards</module>
		
				<module>../../plugins/org.eclipse.emf.parsley.ui.examples</module>
		
				<module>../../features/org.eclipse.emf.parsley.examples.feature</module>
		
				<module>../../doc/org.eclipse.emf.parsley.doc</module>
		
				<module>../../dsl/org.eclipse.emf.parsley.dsl</module>
				<module>../../dsl/org.eclipse.emf.parsley.dsl.ide</module>
				<module>../../dsl/org.eclipse.emf.parsley.dsl.ui</module>
				<module>../../dsl/org.eclipse.emf.parsley.dsl.additional.builder</module>
				<module>../../dsl/org.eclipse.emf.parsley.dsl.tests</module>
				<module>../../dsl/org.eclipse.emf.parsley.dsl.ui.tests</module>
		
				<module>../../features/org.eclipse.emf.parsley.feature</module>
				<module>../../features/org.eclipse.emf.parsley.junit4.feature</module>
				<module>../../features/org.eclipse.emf.parsley.dsl.feature</module>
				<module>../../features/org.eclipse.emf.parsley.cdo.feature</module>
				<module>../../features/org.eclipse.emf.parsley.sdk</module>
				<module>../../features/org.eclipse.emf.parsley.web.feature</module>
		
				<!-- These examples are used in swtbot tests -->
				<module>../../examples/org.eclipse.emf.parsley.examples.library</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.library.edit</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.library.editor</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.views</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.editors</module>

				<module>../../tests/org.eclipse.emf.parsley.tests.swtbot.feature</module>
				<module>../../tests/org.eclipse.emf.parsley.tests.swtbot</module>

				<!-- These examples are used in CDO swtbot tests -->
				<module>../../examples/org.eclipse.emf.parsley.examples.cdo.server</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.cdo.model</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.cdo.treeform</module>

				<module>../../tests/org.eclipse.emf.parsley.tests.swtbot.cdo.feature</module>
				<module>../../tests/org.eclipse.emf.parsley.tests.swtbot.cdo</module>

				<module>../../examples/org.eclipse.emf.parsley.examples.mail.model</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.mail.accountsview</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.mail.mailsview</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.mail.messageview</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.mail.rcp</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.mail.product.feature</module>
				<module>../../tests/org.eclipse.emf.parsley.tests.swtbot.examples</module>

				<module>../../releng/org.eclipse.emf.parsley.repository</module>

				<module>../../tests/org.eclipse.emf.parsley.tests.pde.utils.luna</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.eclipse4</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.eclipse4.parsleypart</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.eclipse4.product.feature</module>
				<module>../../tests/org.eclipse.emf.parsley.tests.swtbot.e4</module>
			</modules>
		</profile>

		<profile>
			<id>rap-build</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>

			<modules>
				<module>../../devtools/org.eclipse.emf.parsley.targetplatform</module>

				<module>../../plugins/org.eclipse.emf.parsley.runtime.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.views.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.cdo.common</module>

				<module>../../plugins/org.eclipse.emf.parsley.rap.runtime</module>
				<module>../../plugins/org.eclipse.emf.parsley.rap</module>
				<module>../../plugins/org.eclipse.emf.parsley.rap.cdo</module>
				<module>../../plugins/org.eclipse.emf.parsley.rap.views</module>
				
				<module>../../features/org.eclipse.emf.parsley.rap.sdk</module>

				<module>../../features/org.eclipse.emf.parsley.rap.cdo.sdk</module>
				
				<module>../../releng/org.eclipse.emf.parsley.rap.repository</module>
			</modules>
			<properties>
				<findbugs.skip>true</findbugs.skip>
				<target-file-name>oxygen-rap</target-file-name>
			</properties>

		</profile>

		<profile>
			<id>rap-examples</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			
			<!-- This will be used only to test that we can build the RAP examples, using the target platform
			example project that we provide, org.eclipse.emf.parsley.examples.rap.targetplatform.
			
			For this compilation test, we won't be using the actual .target file of
			org.eclipse.emf.parsley.examples.rap.targetplatform (since that refers to a released
			EMF Parsley update site with rap features, and we want to test the target platform resolution
			against what we've just built).
			
			So first the maven build to create the EMF Parsley repository with RAP features must be
			run; during that run, a .target file pointing to the repository we've just built will
			be created in the project org.eclipse.emf.parsley.targetplatform,
			which is basically the one of org.eclipse.emf.parsley.examples.rap.targetplatform
			after replacing the URL http://download.eclipse.org/emf-parsley/rt with the local file
			system path where we built the repository). Note that for RAP features we still point to
			the original rap site.
			
			Then we can run the maven build from this parent project, which will compile
			our rap examples using the target platform that we created during the previous build. -->

			<modules>
				<module>../../devtools/org.eclipse.emf.parsley.targetplatform</module>
				
				<module>../../examples/org.eclipse.emf.parsley.examples.rap.model</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.rap.ui</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.cdo.server</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.cdo.model</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.cdo.treeform</module>
				<module>../../examples/org.eclipse.emf.parsley.examples.cdo.rap</module>
			</modules>
			
			<properties>
				<findbugs.skip>true</findbugs.skip>
				<target-file-name>rap-examples-test</target-file-name>
			</properties>
		</profile>

		<profile>
			<id>maven</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<modules>
				<module>../../devtools/org.eclipse.emf.parsley.targetplatform</module>

				<module>../../plugins/org.eclipse.emf.parsley.runtime.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.views.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.cdo.common</module>

				<module>../../plugins/org.eclipse.emf.parsley.runtime</module>
				<module>../../plugins/org.eclipse.emf.parsley</module>
				<module>../../plugins/org.eclipse.emf.parsley.junit4</module>

				<module>../../plugins/org.eclipse.emf.parsley.views</module>
				<module>../../plugins/org.eclipse.emf.parsley.cdo</module>
				<module>../../plugins/org.eclipse.emf.parsley.editors.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.editors</module>

				<module>../../plugins/org.eclipse.emf.parsley.generator.common</module>
				<module>../../dsl/org.eclipse.emf.parsley.dsl</module>
				<module>../../dsl/org.eclipse.emf.parsley.dsl.standalone.lib</module>
				<module>../../dsl/org.eclipse.emf.parsley.dsl.standalone</module>
			</modules>

			<properties>
				<findbugs.skip>true</findbugs.skip>
			</properties>
		</profile>

		<profile>
			<id>set-version-release</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>

			<build>
				<plugins>
					<plugin>
						<!-- 
							This must be used explicitly with the goal set-version in order 
							to update the versions removing the SNAPSHOT before deploying Maven artifacts:
							
							mvn org.apache.maven.plugins:maven-antrun-plugin:run -Dtycho.mode=maven -Pset-version-release
						-->
						<artifactId>maven-antrun-plugin</artifactId>
						<version>${maven-antrun-plugin.version}</version>
						<executions>
							<execution>
								<id>default-cli</id>
								<phase>validate</phase>
								<configuration>
									<target>
										<ant antfile="${ant-files-path}/increment_versions.ant"
											target="set-version-release">
										</ant>
									</target>
								</configuration>
								<goals>
									<goal>run</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>sonatype-oss-release</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>

			<build>
				<plugins>
					<plugin>
						<groupId>org.sonatype.plugins</groupId>
						<artifactId>nexus-staging-maven-plugin</artifactId>
						<version>1.6.3</version>
						<extensions>true</extensions>
						<configuration>
							<serverId>ossrh</serverId>
							<nexusUrl>https://oss.sonatype.org/</nexusUrl>
							<autoReleaseAfterClose>true</autoReleaseAfterClose>
						</configuration>
					</plugin>

					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>2.10.4</version>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
								<configuration>
									<additionalparam>-Xdoclint:none</additionalparam>
								</configuration>
							</execution>
						</executions>
					</plugin>
					
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.6</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
				    </plugin>
				</plugins>
			</build>
		</profile>
		
		<profile>
			<id>sonar</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
	
			<modules>
				<module>../../devtools/org.eclipse.emf.parsley.targetplatform</module>

				<module>../../plugins/org.eclipse.emf.parsley.runtime.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.views.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.cdo.common</module>

				<module>../../plugins/org.eclipse.emf.parsley.runtime</module>
				<module>../../plugins/org.eclipse.emf.parsley</module>
				<module>../../plugins/org.eclipse.emf.parsley.views</module>
				<module>../../plugins/org.eclipse.emf.parsley.cdo</module>
				<module>../../plugins/org.eclipse.emf.parsley.editors.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.editors</module>
				<module>../../plugins/org.eclipse.emf.parsley.generator.common</module>
				<module>../../plugins/org.eclipse.emf.parsley.wizards</module>

				<module>../../dsl/org.eclipse.emf.parsley.dsl</module>
				<module>../../dsl/org.eclipse.emf.parsley.dsl.ui</module>
			</modules>
		</profile>
		
		<profile>
			<id>process-xtend-code</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
		
			<build>
				<plugins>
					<plugin>
						<!-- See http://www.lorenzobettini.it/2014/10/analyzing-xtend-code-with-sonarqube/ -->
						<artifactId>maven-antrun-plugin</artifactId>
						<version>${maven-antrun-plugin.version}</version>
						<executions>
							<execution>
								<id>process-xtend-gen</id>
								<phase>process-sources</phase>
								<configuration>
									<skip>!${process-xtend-gen}</skip>
									<target>
										<property name="project.basedir" value="${project.basedir}" />
		
										<ant antfile="${project.basedir}/../../releng/org.eclipse.emf.parsley.parent/process-xtend-gen.ant">
											<target name="process-xtend-gen" />
										</ant>
									</target>
								</configuration>
								<goals>
									<goal>run</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>eclipse-sign</id>
			<properties>
				<findbugs.skip>true</findbugs.skip>
				<skipTests>true</skipTests>
				
				<!-- for Hudson CI @Eclipse.org -->
				<!-- Disable this on your local machine -->
				<cbi.jarsigner.skip>false</cbi.jarsigner.skip>
			</properties>
			<build>
				<plugins>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>target-platform-configuration</artifactId>
						<configuration>
							<includePackedArtifacts>true</includePackedArtifacts>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.eclipse.tycho.extras</groupId>
						<artifactId>tycho-pack200a-plugin</artifactId>
						<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>
						<executions>
							<execution>
								<id>sign</id>
								<goals>
									<goal>sign</goal>
								</goals>
								<phase>package</phase>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.eclipse.tycho.extras</groupId>
						<artifactId>tycho-pack200b-plugin</artifactId>
						<executions>
							<execution>
								<id>pack200-pack</id>
								<goals>
									<goal>pack</goal>
								</goals>
								<phase>package</phase>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.eclipse.tycho</groupId>
						<artifactId>tycho-p2-plugin</artifactId>
						<executions>
							<execution>
								<id>p2-metadata</id>
								<goals>
									<goal>p2-metadata</goal>
								</goals>
								<phase>package</phase>
							</execution>
						</executions>
						<configuration>
							<defaultP2Metadata>false</defaultP2Metadata>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<!-- 
	<repositories>
		<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>
	</repositories>
	-->

	<pluginRepositories>
		<pluginRepository>
			<id>codehaus-snapshots</id>
			<name>disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478</name>
			<url>http://nexus.codehaus.org/snapshots/</url>
			<releases>
				<enabled>false</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</pluginRepository>

		<pluginRepository>
			<id>sonatype_releases</id>
			<url>https://oss.sonatype.org/content/repositories/releases/</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</pluginRepository>

		<pluginRepository>
			<id>sonatype_snapshots</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
			<releases>
				<enabled>false</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</pluginRepository>

		<pluginRepository>
			<id>cbi-release</id>
			<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
		</pluginRepository>
	</pluginRepositories>

	<build>
		<pluginManagement>
			<plugins>
				<!-- xtend-maven-plugin is in pluginManagement instead of in plugins 
					so that it doesn't run before the exec-maven-plugin's *.mwe2 gen; this way 
					we can list it after. -->

				<plugin>
					<groupId>org.eclipse.xtend</groupId>
					<artifactId>xtend-maven-plugin</artifactId>
					<version>${xtext-version}</version>
					<executions>
						<execution>
							<goals>
								<goal>compile</goal>
								<goal>xtend-install-debug-info</goal>
								<goal>testCompile</goal>
								<goal>xtend-test-install-debug-info</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<outputDirectory>xtend-gen</outputDirectory>
					</configuration>
				</plugin>
				
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-clean-plugin</artifactId>
					<version>2.5</version>
					<configuration>
						<filesets>
							<fileset>
								<directory>${basedir}/xtend-gen</directory>
								<excludes>
									<exclude>.gitignore</exclude>
								</excludes>
							</fileset>
						</filesets>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>findbugs-maven-plugin</artifactId>
					<version>${findbugs-version}</version>
					<configuration>
						<skip>${findbugs.skip}</skip>
						<findbugsXmlOutput>true</findbugsXmlOutput>
						<failOnError>false</failOnError>
						<!-- <findbugsXmlOutputDirectory>${findbugs.reportPath}</findbugsXmlOutputDirectory> -->
						<!-- 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> -->
						<!-- Low: Reports all bugs (other values are medium and max) -->
						<!-- <threshold>Medium</threshold> -->
						<maxRank>15</maxRank>
						<jvmArgs>-Xmx1024m</jvmArgs>
						<excludeFilterFile>${project.basedir}/../../releng/org.eclipse.emf.parsley.parent/findbugs/excludeFilter.xml</excludeFilterFile>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>check</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>${jacoco-version}</version>
					<executions>
						<execution>
							<goals>
								<goal>prepare-agent</goal>
							</goals>
							<configuration>
								<!-- Where to put jacoco coverage report -->
								<!-- Take the default -->
								<!--  <destFile>${sonar.jacoco.reportPath}</destFile> -->
								<includes>
									<include>org.eclipse.emf.parsley.*</include>
								</includes>
								<excludes>
									<exclude>**/src-gen/**/*.java</exclude>
									<exclude>**.antlr**</exclude>
									<exclude>**.parseTree**</exclude>
									<exclude>**Abstract*RuntimeModule.java</exclude>
									<exclude>**/*SetupGenerated*.java</exclude>
									<exclude>**/Abstract*Validator.java</exclude>
									<exclude>**/*GrammarAccess.java</exclude>
									<exclude>**/Abstract*UiModule.java</exclude>
									<exclude>**/Abstract*ProposalProvider.java</exclude>
									<exclude>**/*Test.java</exclude>
								</excludes>
								<!-- <append>true</append> -->
							</configuration>
						</execution>
					</executions>
				</plugin>
				
				<!--  see https://bugs.eclipse.org/bugs/show_bug.cgi?id=419172#c17 -->
				<!-- <plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>sonar-maven-plugin</artifactId>
					<version>2.4</version>
				</plugin>  -->

				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-p2-plugin</artifactId>
					<version>${tycho-version}</version>
				</plugin>

				<plugin>
					<groupId>org.eclipse.tycho.extras</groupId>
					<artifactId>tycho-pack200a-plugin</artifactId>
					<version>${tycho-extras-version}</version>
				</plugin>
				<plugin>
					<groupId>org.eclipse.tycho.extras</groupId>
					<artifactId>tycho-pack200b-plugin</artifactId>
					<version>${tycho-extras-version}</version>
				</plugin>
				<plugin>
					<groupId>org.eclipse.cbi.maven.plugins</groupId>
					<artifactId>eclipse-jarsigner-plugin</artifactId>
					<version>1.1.3</version>
				</plugin>
			</plugins>
		</pluginManagement>

		<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>
					<target>
						<artifact>
							<groupId>org.eclipse.emf.parsley</groupId>
							<artifactId>org.eclipse.emf.parsley.targetplatform</artifactId>
							<version>${project.version}</version>
							<classifier>${target-file-name}</classifier> 
						</artifact>
					</target>
				</configuration>
			</plugin>
			
			<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>
						<configuration>
							<excludes>
								<plugin id="org.eclipse.emf.parsley.runtime" />
								<plugin id="org.eclipse.emf.parsley" />
								<plugin id="org.eclipse.emf.parsley.cdo" />
								<plugin id="org.eclipse.emf.parsley.editors" />
								
								<plugin id="org.eclipse.emf.parsley.rap.runtime" />
								<plugin id="org.eclipse.emf.parsley.rap" />
								<plugin id="org.eclipse.emf.parsley.rap.cdo" />
								<plugin id="org.eclipse.emf.parsley.rap.views" />

								<plugin id="org.eclipse.emf.rap" />
								<plugin id="org.eclipse.swtbot.go" />
								<plugin id="org.eclipse.ui.forms" />
								<plugin id="org.eclipse.pde.ui" />
								
								<plugin id="org.eclipse.ui.views" />
								<plugin id="org.apache.commons.logging" />
								<plugin id="org.eclipse.core.resources" />
								<plugin id="org.eclipse.core.filesystem" />
								
								<plugin id="com.google.guava" />
								<plugin id="org.apache.log4j" />
								<plugin id="com.google.inject" />

								<feature id="org.eclipse.swtbot.ide" />
								<feature id="org.eclipse.xtext.sdk" />
								<feature id="org.eclipse.pde" />
								<feature id="org.eclipse.rcp" />
								<feature id="org.eclipse.emf.common" />
								<feature id="org.eclipse.emf.databinding.edit" />
								<feature id="org.eclipse.emf.query" />
								<feature id="org.eclipse.emf.mwe2.language.sdk" />
								<feature id="org.eclipse.emf.mwe2.runtime.sdk" />
								<feature id="org.eclipse.swtbot.eclipse" />
								<feature id="org.eclipse.swtbot.forms" />
								<feature id="org.eclipse.swtbot" />
								<feature id="org.eclipse.emf.cdo.server" />
								
								<feature id="org.eclipse.e4.rcp" />
								<feature id="org.eclipse.emf.ecore" />
							</excludes>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-p2-plugin</artifactId>
				<executions>
					<execution>
						<!-- Don't attach (default) metadata before the "generate-source-feature" 
							execution. -->
						<id>default-p2-metadata-default</id>
						<configuration>
							<attachP2Metadata>false</attachP2Metadata>
						</configuration>
					</execution>
					<execution>
						<!-- Do attach metadata after the "generate-source-feature" execution. -->
						<id>attach-p2-metadata</id>
						<phase>package</phase>
						<goals>
							<goal>p2-metadata</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-packaging-plugin</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<format>'v'yyyyMMdd'-'HHmm</format>
					<sourceReferences>
						<generate>true</generate>
					</sourceReferences>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.eclipse.tycho.extras</groupId>
						<artifactId>tycho-sourceref-jgit</artifactId>
						<version>${tycho-extras-version}</version>
					</dependency>
				</dependencies>
			</plugin>

		</plugins>
	</build>
	
	<distributionManagement>
		<snapshotRepository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<repository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
		</repository>
	</distributionManagement>

</project>
