blob: 5e0b6cc83d688e6e94be57222c409e62c9b8c15a [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>ecp-parent</artifactId>
<version>1.24.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<tycho-version>1.2.0</tycho-version>
<tycho-extras-version>1.2.0</tycho-extras-version>
<javadoc-version>2.10.3</javadoc-version>
<ecp-version>1.24.0</ecp-version>
<javadoc-title>EMF Client Platform ${ecp-version} API</javadoc-title>
<maven.antrun.plugin.version>1.7</maven.antrun.plugin.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/emfclient/org.eclipse.emf.ecp.core.git</tycho.scmUrl>
<jarsigner-version>1.1.0</jarsigner-version>
<mav-surefire-version>2.20.1</mav-surefire-version>
<junit-version>4.12</junit-version>
<mav-checkstyle-version>3.0.0</mav-checkstyle-version>
<checkstyle-version>8.8</checkstyle-version>
<jacoco-version>0.8.0</jacoco-version>
<jacoco.percentage.instruction>0.5</jacoco.percentage.instruction>
<!-- Properties to enable jacoco code coverage analysis with sonar -->
<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.jacoco.reportPath>../../tests/coverage/jacoco.exec</sonar.jacoco.reportPath>
<sonar.exclusions>**/test/**,**/tests/**, **/*_PTest.java,**/*_Test.java, **/*_ITest.java,**/AllTests.java,**/AllIntegrationTests.java, **/Messages.java,</sonar.exclusions>
<target-rcp>ecp</target-rcp>
<target-rap>ecpRAP</target-rap>
<xtend-version>2.15.0</xtend-version>
</properties>
<profiles>
<!-- Profile for adding aggregate sites to the built p2 repositry -->
<profile>
<id>aggregateSites</id>
<activation>
<property>
<name>aggSite</name>
</property>
</activation>
</profile>
<!-- Profile for use on the eclipse build server. Enables code signing, etc. -->
<profile>
<id>build-server</id>
<activation>
<property>
<name>build-server</name>
</property>
</activation>
</profile>
</profiles>
<pluginRepositories>
<pluginRepository>
<id>eclipse-maven-releases</id>
<url>https://repo.eclipse.org/content/repositories/releases/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>apache-maven-releases</id>
<url>http://repo.maven.apache.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<modules>
<module>../../releng/org.eclipse.emf.ecp.target.rcp</module>
<module>../../releng/org.eclipse.emf.ecp.target.rap</module>
<module>../../releng/org.eclipse.emf.ecp.repository</module>
<module>../../releng/org.eclipse.emf.ecp.repository.target</module>
<module>../../releng/org.eclipse.emf.ecp.products</module>
<module>../../releng/org.eclipse.emf.ecp.rap.products</module>
<module>../../releng/org.eclipse.emf.ecp.releng.bundles</module>
<module>../../releng/org.eclipse.emf.ecp.releng.i18n</module>
<module>../../releng/org.eclipse.emf.ecp.releng.features</module>
<module>../../releng/org.eclipse.emf.ecp.releng.tests</module>
<module>../../releng/org.eclipse.emf.ecp.releng.examples</module>
<module>../../releng/spreadsheet/org.eclipse.emfforms.spreadsheet.releng</module>
</modules>
<build>
<sourceDirectory>src</sourceDirectory>
<outputDirectory>bin</outputDirectory>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-versions-plugin</artifactId>
<version>${tycho-version}</version>
</plugin>
<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>
<resolver>p2</resolver>
<pomDependencies>consider</pomDependencies>
<allowConflictingDependencies>true</allowConflictingDependencies>
<includePackedArtifacts>true</includePackedArtifacts>
<environments>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>x86_64</arch>
</environment>
<!-- Beginning with 2018-12 this environment is removed -->
<!--
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86</arch>
</environment>
-->
<!-- Beginning with mars this environment is removed -->
<!--environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>x86</arch>
</environment-->
</environments>
<target>
<artifact>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>${target-rcp}</artifactId>
<version>${ecp-version}-SNAPSHOT</version>
</artifact>
<artifact>
<groupId>org.eclipse.emf.ecp</groupId>
<artifactId>${target-rap}</artifactId>
<version>${ecp-version}-SNAPSHOT</version>
</artifact>
</target>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-packaging-plugin</artifactId>
<version>${tycho-version}</version>
<dependencies>
<dependency>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-buildtimestamp-jgit</artifactId>
<version>${tycho-extras-version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-sourceref-jgit</artifactId>
<version>${tycho-extras-version}</version>
</dependency>
</dependencies>
<configuration>
<!-- <timestampProvider>jgit</timestampProvider> -->
<!-- generate new qualifier even if it is only the pom.xml that changed
<jgit.ignore> pom.xml </jgit.ignore> -->
<format>yyyyMMdd-HHmm</format>
<sourceReferences>
<generate>true</generate>
</sourceReferences>
</configuration>
</plugin>
<!-- enable javadocgeneration -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${javadoc-version}</version>
<configuration>
<doctitle>${javadoc-title}</doctitle>
<show>protected</show>
<nohelp>true</nohelp>
<failOnError>false</failOnError>
<excludePackageNames>*.test:*.tests:org.eclipse.emf.edit.ui.*:org.eclipse.emf.ecp.makeithappen.*:car</excludePackageNames>
</configuration>
</plugin>
<!-- to disable use -Dcheckstyle.skip -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${mav-checkstyle-version}</version>
<!-- https://maven.apache.org/plugins/maven-checkstyle-plugin/history.html -->
<configuration>
<configLocation>../org.eclipse.emf.ecp.releng/checkstyle/esmCheckstyle.xml</configLocation>
<excludes>**/xtend/**/*</excludes>
<failsOnError>false</failsOnError>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>${checkstyle-version}</version>
</dependency>
</dependencies>
</plugin>
<!-- enable source bundle generation -->
<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.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-version}</version>
<configuration>
<destFile>${sonar.jacoco.reportPath}</destFile>
<append>true</append>
</configuration>
<executions>
<execution>
<phase>process-test-classes</phase>
<id>jacoco-initialize</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<propertyName>jacocoArgs</propertyName>
</configuration>
</execution>
</executions>
</plugin>
<!-- Configure build to use the jdk specified in manifest -->
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<useProjectSettings>true</useProjectSettings>
<logEnabled>true</logEnabled>
<logDirectory>${project.build.directory}/logfiles</logDirectory>
<log>xml</log>
<!--<useJDK>BREE</useJDK>-->
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>2.3.1</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>