blob: 287f053b9b84cae230ea9dfe59c4b11452d7ab36 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.emf.parsley</groupId>
<artifactId>org.eclipse.emf.parsley.parent</artifactId>
<version>0.2.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<tycho-version>0.21.0</tycho-version>
<tycho-extras-version>0.21.0</tycho-extras-version>
<maven-surefire-plugin.version>2.16</maven-surefire-plugin.version>
<maven-antrun-plugin.version>1.7</maven-antrun-plugin.version>
<junit-version>4.11</junit-version>
<jacoco-version>0.5.8.201207111220</jacoco-version>
<findbugs-version>2.5.5</findbugs-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<xtext-version>2.7.2</xtext-version>
<!-- <platform-version>[3.9,4.0)</platform-version> -->
<fornax-oaw-m2-plugin-version>3.4.0</fornax-oaw-m2-plugin-version>
<!-- tests and runtime args -->
<memoryArgs>-Xms256M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=256M -XX:+HeapDumpOnOutOfMemoryError</memoryArgs>
<uiTestsArgs>${memoryArgs} -Dorg.eclipse.swt.browser.DefaultType=mozilla</uiTestsArgs>
<pdeTestsArgs>-DbuildingWithTycho=true</pdeTestsArgs>
<swtbotTestsArgs>${uiTestsArgs} -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.rap.updates.dir>rt</parsley.rap.updates.dir>
<p2.repository.dest>${project.basedir}/../../target/repository</p2.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 -->
<sonar.exclusions>file:**/src-gen/**,file:**/test/**,file:**/tests/**,file:**/example/**,file:**/examples/**,**/*GuiceModule.java,**/*Dsl*Module.java,**/*ParsleyModule.java,**/*Parsley*Activator.java,**/EmfParsleyViewFilesGenerator.java,**/EmfParsleyProjectFilesGenerator.java</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</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>
<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>
</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>../../tests/org.eclipse.emf.parsley.tests.models</module>
<module>../../tests/org.eclipse.emf.parsley.tests</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.ui</module>
<module>../../dsl/org.eclipse.emf.parsley.dsl.tests</module>
<module>../../features/org.eclipse.emf.parsley.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>
<!-- These examples are used in swtbot tests -->
<module>../../examples/org.eclipse.emf.parsley.examples.fowlerdsl</module>
<module>../../examples/org.eclipse.emf.parsley.examples.fowlerdsl.ui</module>
<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>../../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>../../releng/org.eclipse.emf.parsley.repository</module>
</modules>
<build>
<plugins>
<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>
</plugins>
</build>
</profile>
<profile>
<id>rcp-build-luna</id>
<activation>
<activeByDefault>true</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>../../releng/org.eclipse.emf.parsley.rap.requirements</module>
<module>../../features/org.eclipse.emf.parsley.rap.sdk</module>
<module>../../releng/org.eclipse.emf.parsley.rap.cdo.requirements</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>kepler-rap</target-file-name>
</properties>
</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.releng/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>verify</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>verify</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>verify</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>verify</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>cbi-release</id>
<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
</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>
<!-- Repository to resolve fornax-oaw-m2-plugin -->
<!-- in case of SSL certificates errors, use
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -->
<pluginRepository>
<id>fornax.plugin.repository</id>
<name>Fornax Plugin Repository</name>
<url>http://www.fornax-platform.org/m2/repository</url>
<!-- <url>http://www.fornax-platform.org/nexus/content/groups/public</url> -->
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</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>
</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.releng/excludeFilter.xml</excludeFilterFile>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</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>target-platform-configuration</artifactId>
<version>${tycho-version}</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.0.4</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>
<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" />
<feature id="org.eclipse.swtbot.ide" />
<feature id="org.eclipse.xtext.sdk" />
<feature id="org.eclipse.pde" />
<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.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>
</project>