blob: c119f70f24fbea62df9a478fcfb902535bef3f45 [file] [log] [blame]
<?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.0.0-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>0.24.0</tycho-version>
<tycho-extras-version>0.24.0</tycho-extras-version>
<maven-surefire-plugin.version>2.17</maven-surefire-plugin.version>
<maven-antrun-plugin.version>1.7</maven-antrun-plugin.version>
<junit-version>4.11</junit-version>
<jacoco-version>0.7.4.201502262128</jacoco-version>
<findbugs-version>3.0.1</findbugs-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<xtext-version>2.10.0</xtext-version>
<emf.version>(2.8,3.0)</emf.version>
<guava.version>[10.0.1,14.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=150000 -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>
<!-- Sonar -->
<sonar.language>java</sonar.language>
<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.jacoco.reportPath>${project.basedir}/../../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/**</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>mars</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>
</modules>
</profile>
<profile>
<id>rcp-build-mars</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<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>
<properties>
<target-file-name>mars</target-file-name>
</properties>
</profile>
<profile>
<id>rcp-build-neon</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<modules>
<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>
<properties>
<target-file-name>neon-staging</target-file-name>
</properties>
</profile>
<profile>
<id>rcp-build-luna</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<modules>
<module>../../tests/org.eclipse.emf.parsley.tests.pde.utils.luna</module>
</modules>
<properties>
<target-file-name>luna</target-file-name>
</properties>
</profile>
<profile>
<id>local</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<modules>
<module>../../tests/org.eclipse.emf.parsley.tests.pde.utils.luna</module>
</modules>
<properties>
<target-file-name>local</target-file-name>
</properties>
</profile>
<profile>
<id>rcp-build-kepler</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<modules>
<module>../../tests/org.eclipse.emf.parsley.tests.pde.utils.kepler</module>
</modules>
<properties>
<target-file-name>kepler</target-file-name>
</properties>
</profile>
<profile>
<id>rcp-build-indigo</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<modules>
<module>../../tests/org.eclipse.emf.parsley.tests.pde.utils.indigo</module>
</modules>
<properties>
<target-file-name>indigo</target-file-name>
</properties>
</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>neon-staging-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.9.1</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</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 -->
<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>
<!-- These are bundles and feature that do not have a corresponding
source version; NOT the ones that we do not want source versions -->
<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" />
<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" />
</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>
</configuration>
</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>