blob: b1f5697d1abc3e5cb8c1166471d89423781a5cca [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.10.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>1.6.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.21.0</xtext-version>
<xtextVersion>${xtext-version}</xtextVersion>
<mwe2Version>2.11.2</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 -Xmx4G -XX:PermSize=256M -XX:MaxPermSize=256M -XX:+HeapDumpOnOutOfMemoryError</memoryArgs>
<uiTestsArgs>${memoryArgs} ${os-jvm-flags} -Dorg.eclipse.swt.browser.DefaultType=mozilla</uiTestsArgs>
<!--
The following is not needed anymore
<pdeTestsArgs>-DbuildingWithTycho=true</pdeTestsArgs>
-->
<pdeTestsArgs></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>../../tests/org.eclipse.emf.parsley.tests.coverage/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,**/*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,e12</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>
<!-- Avoid deprecated PMD rule -->
<sonar.issue.ignore.multicriteria.e12.ruleKey>pmd:CompareObjectsWithEquals</sonar.issue.ignore.multicriteria.e12.ruleKey>
<sonar.issue.ignore.multicriteria.e12.resourceKey>**/*.java</sonar.issue.ignore.multicriteria.e12.resourceKey>
<findbugs.skip>true</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>2020-03</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>../../tests/org.eclipse.emf.parsley.tests.coverage</module>
<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.libraries</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>../../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>2020-03-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>
<module>../../dsl/org.eclipse.emf.parsley.dsl.additional.builder</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>
<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>
<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>
<timestampProvider>jgit</timestampProvider>
<jgit.ignore>
pom.xml
.polyglot.build.properties
.api_filters
*.hprof
</jgit.ignore>
<!-- the following should not be enabled: we must make sure
that's everything is committed, including possible regenerated
MANIFEST or plugin.xml by Xtext -->
<!-- <jgit.dirtyWorkingTree>ignore</jgit.dirtyWorkingTree> -->
</configuration>
<dependencies>
<dependency>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-sourceref-jgit</artifactId>
<version>${tycho-extras-version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-buildtimestamp-jgit</artifactId>
<version>${tycho-extras-version}</version>
</dependency>
</dependencies>
</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" />
<plugin id="org.apache.felix.scr" />
<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>
</plugins>
</build>
<repositories>
<repository>
<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>
</repository>
<repository>
<id>sonatype-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases><enabled>false</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
<repository>
<id>sonatype-releases</id>
<url>https://oss.sonatype.org/content/repositories/releases</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</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-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases><enabled>false</enabled></releases>
<snapshots><enabled>true</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>cbi-release</id>
<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
</pluginRepository>
</pluginRepositories>
<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>