blob: 48d3deb0a50d9376b6c04b9bc007f03edc18c55f [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.8.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<!-- used plugin versions -->
<tycho.version>1.3.0</tycho.version>
<tycho.extras.version>${tycho.version}</tycho.extras.version>
<maven.compiler.version>3.6.1</maven.compiler.version>
<maven.javadoc.version>2.9.1</maven.javadoc.version>
<jacoco.version>0.7.9</jacoco.version>
<eclipse.jarsigner.version>1.1.3</eclipse.jarsigner.version>
<maven.buildhelper.version>1.9.1</maven.buildhelper.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>
<doclet.path>${user.dir}/ease.module.doclet.jar</doclet.path>
</properties>
<pluginRepositories>
<pluginRepository>
<id>cbi</id>
<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
</pluginRepository>
<pluginRepository>
<id>nexus</id>
<url>https://repo.eclipse.org/content/repositories/maven_central/</url>
</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.8.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>
<!-- 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>
<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.help</module>
<module>../../plugins/org.eclipse.ease.modules.team.git</module>
<!-- temporary disabled due to API breakage in egit dependencies <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.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>
<!-- tests -->
<module>../../tests/org.eclipse.ease.modules.platform.test</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 jar. The jar can be built with:
mvn clean package -f org.eclipse.ease.core/developers/org.eclipse.ease.helpgenerator/pom.xml
in which case the doclet.path would be: org.eclipse.ease.core/developers/org.eclipse.ease.helpgenerator/target/ease.module.doclet.jar
or the pre-built jar can downloaded from: https://hudson.eclipse.org/ease/job/ease-build-module-doclet/lastSuccessfulBuild/artifact/developers/org.eclipse.ease.helpgenerator/target/ease.module.doclet.jar -->
<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.V8ModuleDoclet</doclet>
<docletPath>${doclet.path}</docletPath>
<additionalparam>-root ${basedir} -failOnHTMLError true
-failOnMissingDocs true</additionalparam>
<useStandardDocletOptions>true</useStandardDocletOptions>
<links>
<link>https://osgi.org/javadoc/r6/cmpn</link>
<!-- <link>http://docs.oracle.com/javase/8/docs/api/</link> -->
</links>
<offlineLinks>
<offlineLink>
<url>../../org.eclipse.platform.doc.isv/reference/api/</url>
<location>http://help.eclipse.org/oxygen/topic/org.eclipse.platform.doc.isv/reference/api</location>
</offlineLink>
<offlineLink>
<url>../../org.eclipse.ease.help/help/api-docs/javadoc/</url>
<location>https://hudson.eclipse.org/ease/job/ease-build-core/javadoc/</location>
</offlineLink>
<offlineLink>
<url>../../org.eclipse.ease.modules.help/help/api-docs/javadoc/</url>
<location>https://hudson.eclipse.org/ease/job/ease-build-modules/javadoc/</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>${maven.buildhelper.version}</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>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>
<!-- 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>