blob: f8a88d2a21a5b1deb39e9a5cdcc00c356986ecfb [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</groupId>
<artifactId>org.eclipse.ease.releng</artifactId>
<version>0.8.0-SNAPSHOT</version>
<packaging>pom</packaging>
<prerequisites>
<!-- Maven 3.1.0 is the earliest version using Eclipse Aether, Maven 3.0.x
uses the incompatible predecessor Sonatype Aether -->
<maven>3.1</maven>
</prerequisites>
<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>
<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>
<!-- enable tycho build extension -->
<plugin>
<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</groupId>
<artifactId>org.eclipse.ease.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.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>
<!-- core -->
<module>../../plugins/org.eclipse.ease</module>
<module>../../plugins/org.eclipse.ease.classloader</module>
<module>../../plugins/org.eclipse.ease.ui</module>
<module>../../plugins/org.eclipse.ease.ui.completions.java</module>
<module>../../plugins/org.eclipse.ease.ui.scripts</module>
<module>../../plugins/org.eclipse.ease.help</module>
<module>../../features/org.eclipse.ease.feature</module>
<module>../../features/org.eclipse.ease.ui.feature</module>
<!-- Javascript -->
<module>../../plugins/org.eclipse.ease.lang.javascript</module>
<module>../../plugins/org.eclipse.ease.lang.javascript.ui</module>
<module>../../plugins/org.eclipse.ease.lang.javascript.rhino</module>
<module>../../plugins/org.eclipse.ease.lang.javascript.rhino.debugger</module>
<module>../../plugins/org.eclipse.ease.lang.javascript.nashorn</module>
<module>../../features/org.eclipse.ease.lang.javascript.feature</module>
<!-- Python -->
<module>../../plugins/org.eclipse.ease.lang.python</module>
<module>../../features/org.eclipse.ease.lang.python.feature</module>
<module>../../plugins/org.eclipse.ease.lang.python.jython</module>
<module>../../features/org.eclipse.ease.lang.python.jython.feature</module>
<module>../../plugins/org.eclipse.ease.lang.python.py4j</module>
<module>../../features/org.eclipse.ease.lang.python.py4j.feature</module>
<!-- Native .class engine -->
<module>../../plugins/org.eclipse.ease.lang.jvm.compiled</module>
<module>../../features/org.eclipse.ease.lang.jvm.feature</module>
<!-- Groovy -->
<module>../../plugins/org.eclipse.ease.lang.groovy</module>
<module>../../plugins/org.eclipse.ease.lang.groovy.interpreter</module>
<module>../../features/org.eclipse.ease.lang.groovy.feature</module>
<!-- JRuby -->
<module>../../plugins/org.eclipse.ease.lang.ruby</module>
<module>../../plugins/org.eclipse.ease.lang.ruby.jruby</module>
<module>../../features/org.eclipse.ease.lang.ruby.feature</module>
<!-- Archive Engine -->
<module>../../plugins/org.eclipse.ease.lang.scriptarchive</module>
<module>../../plugins/org.eclipse.ease.lang.scriptarchive.ui</module>
<module>../../features/org.eclipse.ease.lang.scriptarchive.feature</module>
<!-- Unittest Engine -->
<module>../../plugins/org.eclipse.ease.lang.unittest</module>
<module>../../plugins/org.eclipse.ease.lang.unittest.ui</module>
<module>../../features/org.eclipse.ease.lang.unittest.feature</module>
<!-- releng -->
<module>../org.eclipse.ease.releng.target</module>
<module>../org.eclipse.ease.releng.p2</module>
<!-- tests -->
<module>../../tests/org.eclipse.ease.testhelper</module>
<module>../../tests/org.eclipse.ease.test</module>
<module>../../tests/org.eclipse.ease.lang.javascript.nashorn.test</module>
<module>../../tests/org.eclipse.ease.lang.javascript.rhino.test</module>
<module>../../tests/org.eclipse.ease.lang.javascript.rhino.debugger.test</module>
<module>../../tests/org.eclipse.ease.lang.javascript.test</module>
<module>../../tests/org.eclipse.ease.lang.python.test</module>
<module>../../tests/org.eclipse.ease.lang.python.jython.test</module>
<module>../../tests/org.eclipse.ease.lang.python.py4j.test</module>
<module>../../tests/org.eclipse.ease.lang.scriptarchive.test</module>
<module>../../tests/org.eclipse.ease.lang.unittest.test</module>
<module>../../tests/org.eclipse.ease.ui.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.ModuleDoclet</doclet>
<docletPath>${doclet.path}</docletPath>
<additionalparam>-root ${basedir} -failOnHTMLError true
-failOnMissingDocs true</additionalparam>
<useStandardDocletOptions>true</useStandardDocletOptions>
<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>
</offlineLinks>
</configuration>
<executions>
<execution>
<id>build-docs</id>
<phase>generate-resources</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>
<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>