blob: df232066f4e25a95b123e3bf403b067fb5e7dc21 [file] [log] [blame]
<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.ease.modules</groupId>
<artifactId>org.eclipse.ease.modules.releng</artifactId>
<version>0.4.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<!-- used plugin versions -->
<tycho.version>0.22.0</tycho.version>
<tycho.extras.version>${tycho.version}</tycho.extras.version>
<maven.compiler.version>2.5.1</maven.compiler.version>
<maven.javadoc.version>2.9.1</maven.javadoc.version>
<jacoco.version>0.7.1.201405082137</jacoco.version>
<eclipse.jarsigner.version>1.0.5</eclipse.jarsigner.version>
<!-- build parameters -->
<compiler.compliance>1.8</compiler.compliance>
<jacoco.report.path>../../coverage-report/jacoco.exec</jacoco.report.path>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- help links to integrated help APIs -->
<platform.api>org.eclipse.platform.doc.isv/reference/api</platform.api>
<ease.api>org.eclipse.ease.help/help/api-docs/javadoc</ease.api>
<ease.modules.api>org.eclipse.ease.modules.help/help/api-docs/javadoc</ease.modules.api>
</properties>
<pluginRepositories>
<pluginRepository>
<id>cbi</id>
<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<build>
<plugins>
<plugin>
<!-- enable tycho build extension -->
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho.version}</version>
<extensions>true</extensions>
</plugin>
<!-- set target platform for build -->
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho.version}</version>
<configuration>
<target>
<artifact>
<groupId>org.eclipse.ease.modules</groupId>
<artifactId>org.eclipse.ease.modules.releng.target</artifactId>
<version>0.4.0-SNAPSHOT</version>
</artifact>
</target>
</configuration>
</plugin>
<!-- set compiler options -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.version}</version>
<configuration>
<source>${compiler.compliance}</source>
<target>${compiler.compliance}</target>
</configuration>
</plugin>
<!-- enable pom version updates: to update execute goal "tycho.versions:update-pom" -->
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-versions-plugin</artifactId>
<version>${tycho.version}</version>
</plugin>
<!-- timestamps based on the latest git commit -->
<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>
</dependencies>
<configuration>
<timestampProvider>jgit</timestampProvider>
<jgit.dirtyWorkingTree>ignore</jgit.dirtyWorkingTree>
<jgit.ignore>
pom.xml
</jgit.ignore>
<format>${build-prefix}yyyyMMddHHmm</format>
</configuration>
</plugin>
</plugins>
</build>
<modules>
<!-- Modules -->
<module>../../plugins/org.eclipse.ease.modules.charting</module>
<module>../../plugins/org.eclipse.ease.modules.platform</module>
<module>../../plugins/org.eclipse.ease.modules.modeling</module>
<module>../../plugins/org.eclipse.ease.modules.modeling.ui</module>
<module>../../plugins/org.eclipse.ease.modules.unittest</module>
<module>../../plugins/org.eclipse.ease.modules.unittest.ui</module>
<module>../../plugins/org.eclipse.ease.modules.help</module>
<module>../../plugins/org.eclipse.ease.modules.team.git</module>
<module>../../plugins/org.eclipse.ease.modules.team.git.ui</module>
<module>../../plugins/org.eclipse.ease.modules.team.svn</module>
<module>../../plugins/org.eclipse.ease.modules.jvm</module>
<!-- Features -->
<module>../../features/org.eclipse.ease.modules.feature</module>
<module>../../features/org.eclipse.ease.modules.modeling.feature</module>
<module>../../features/org.eclipse.ease.modules.unittest.feature</module>
<module>../../features/org.eclipse.ease.modules.team.git.feature</module>
<module>../../features/org.eclipse.ease.modules.team.svn.feature</module>
<module>../../features/org.eclipse.ease.modules.charting.feature</module>
<!-- releng -->
<module>../org.eclipse.ease.modules.releng.target</module>
<module>../org.eclipse.ease.modules.releng.p2</module>
</modules>
<profiles>
<profile>
<id>local</id>
</profile>
<profile>
<!-- by default set build qualifier to "I" -->
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>!build-prefix</name>
</property>
</activation>
<properties>
<build-prefix>'I'</build-prefix>
</properties>
</profile>
<profile>
<!-- build help pages for modules using javadoc. Needs variable doclet.path
to be set to the location of the ModuleDoclet bin folder -->
<id>module-docs</id>
<build>
<plugins>
<!-- enable module documentation builder -->
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<groupId>org.apache.maven.plugins</groupId>
<version>${maven.javadoc.version}</version>
<configuration>
<outputDirectory>${project.build.directory}/../mydocs</outputDirectory>
<doclet>org.eclipse.ease.helpgenerator.ModuleDoclet</doclet>
<docletPath>${doclet.path}</docletPath>
<additionalparam>-root ${basedir}</additionalparam>
<useStandardDocletOptions>false</useStandardDocletOptions>
<links>
<link>http://docs.oracle.com/javase/8/docs/api/</link>
</links>
<offlineLinks>
<offlineLink>
<url>http://help.eclipse.org/mars/topic/org.eclipse.platform.doc.isv/reference/api/</url>
<location>../../${platform.api}</location>
</offlineLink>
<offlineLink>
<url>https://hudson.eclipse.org/ease/job/ease-build-core/javadoc/</url>
<location>../../${ease.api}</location>
</offlineLink>
<offlineLink>
<url>https://hudson.eclipse.org/ease/job/ease-build-modules/javadoc/</url>
<location>../../${ease.modules.api}</location>
</offlineLink>
</offlineLinks>
</configuration>
<executions>
<execution>
<id>build-docs</id>
<phase>generate-sources</phase>
<goals>
<goal>javadoc</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>build-helper-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<version>1.9.1</version>
<executions>
<execution>
<id>add_help</id>
<phase>generate-resources</phase>
<goals>
<goal>add-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${basedir}/help</directory>
<targetPath>help</targetPath>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>api-docs</id>
</profile>
<profile>
<id>source</id>
<modules>
<module>../org.eclipse.ease.modules.releng.p2.source</module>
</modules>
<build>
<plugins>
<!-- enable source feature generation -->
<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>
</execution>
</executions>
<configuration>
<excludes>
<plugin id="org.eclipse.ease.modules.help" />
</excludes>
</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</groupId>
<artifactId>tycho-p2-plugin</artifactId>
<version>${tycho.version}</version>
<executions>
<execution>
<id>attached-p2-metadata</id>
<phase>package</phase>
<goals>
<goal>p2-metadata</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>sonar</id>
<build>
<plugins>
<!-- enable JaCoCo code coverage -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<configuration>
<include>org.eclipse.ease.*</include>
<destFile>${jacoco.report.path}</destFile>
<output>file</output>
<append>true</append>
</configuration>
<executions>
<execution>
<id>jacoco-initialize</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>test</id>
<modules>
<module>../../tests/org.eclipse.ease.modules.platform.test</module>
<module>../../tests/org.eclipse.ease.modules.unittest.test</module>
<module>../../tests/org.eclipse.ease.modules.unittest.ui.test</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho.version}</version>
<configuration>
<useUIHarness>false</useUIHarness>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho.version}</version>
<configuration>
<environments>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
</environments>
<dependency-resolution>
<extraRequirements>
<requirement>
<type>eclipse-plugin</type>
<id>org.hamcrest</id>
<versionRange>0.0.0</versionRange>
</requirement>
</extraRequirements>
</dependency-resolution>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!-- sign plugins and features using the eclipse.org certificate. Works
only when running on the eclipse build servers (hudson) -->
<id>sign</id>
<build>
<plugins>
<!-- enable jar signing -->
<plugin>
<groupId>org.eclipse.cbi.maven.plugins</groupId>
<artifactId>eclipse-jarsigner-plugin</artifactId>
<version>${eclipse.jarsigner.version}</version>
<executions>
<execution>
<id>sign</id>
<goals>
<goal>sign</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>