| <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.skills</groupId> |
| <artifactId>org.eclipse.skills.releng</artifactId> |
| <version>0.1.0-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| |
| <properties> |
| <!-- used plugin versions --> |
| <tycho.version>1.5.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.8.6</jacoco.version> |
| <eclipse.jarsigner.version>1.1.3</eclipse.jarsigner.version> |
| <maven.buildhelper.version>1.9.1</maven.buildhelper.version> |
| <maven.pmd.version>3.13.0</maven.pmd.version> |
| <maven.spotbugs.version>4.1.4</maven.spotbugs.version> |
| <maven.checkstyle.version>3.1.1</maven.checkstyle.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> |
| </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> |
| |
| <modules> |
| |
| <!-- plugins --> |
| <module>../../plugins/org.eclipse.skills</module> |
| <module>../../plugins/org.eclipse.skills.dependencies</module> |
| <module>../../plugins/org.eclipse.skills.ui.questeditor</module> |
| |
| <!-- features --> |
| <module>../../features/org.eclipse.skills.feature</module> |
| <module>../../features/org.eclipse.skills.sdk.feature</module> |
| |
| <!-- tests --> |
| <module>../../tests/org.eclipse.skills.test</module> |
| <module>../../tests/org.eclipse.skills.dependencies.test</module> |
| |
| <!-- releng --> |
| <module>../org.eclipse.skills.releng.target</module> |
| <module>../org.eclipse.skills.releng.p2</module> |
| <module>../org.eclipse.skills.releng.coverage</module> |
| |
| </modules> |
| |
| |
| <build> |
| <plugins> |
| <!-- require minimum maven version --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>3.0.0-M3</version> |
| <executions> |
| <execution> |
| <id>enforce-maven</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireMavenVersion> |
| <version>3.6.0</version> |
| </requireMavenVersion> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- enable PMD code analysis --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-pmd-plugin</artifactId> |
| <version>${maven.pmd.version}</version> |
| <configuration> |
| <linkXRef>false</linkXRef> |
| <excludeRoots> |
| <excludeRoot>src-gen</excludeRoot> |
| </excludeRoots> |
| <rulesets>../../releng/org.eclipse.skills.releng/pmd/pmd_rules.xml</rulesets> |
| </configuration> |
| |
| <executions> |
| <execution> |
| <id>pmd-integration</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>pmd</goal> |
| <goal>cpd</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- enable checkstyle code analysis --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>${maven.checkstyle.version}</version> |
| <configuration> |
| <configLocation>../../releng/org.eclipse.skills.releng/checkstyle/checkstyle_rules.xml</configLocation> |
| <linkXRef>false</linkXRef> |
| </configuration> |
| |
| <executions> |
| <execution> |
| <id>checkstyle-integration</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- enable spotbugs code analysis --> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>${maven.spotbugs.version}</version> |
| |
| <configuration> |
| <effort>Max</effort> |
| <threshold>Low</threshold> |
| <fork>false</fork> |
| </configuration> |
| |
| <executions> |
| <execution> |
| <id>spotbugs-integration</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>spotbugs</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- enable JaCoCo code coverage --> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>${jacoco.version}</version> |
| |
| <configuration> |
| <output>file</output> |
| </configuration> |
| |
| <executions> |
| <execution> |
| <id>jacoco-initialize</id> |
| <phase>pre-integration-test</phase> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- 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.skills</groupId> |
| <artifactId>org.eclipse.skills.releng.target</artifactId> |
| <version>0.1.0-SNAPSHOT</version> |
| </artifact> |
| </target> |
| |
| <resolver>p2</resolver> |
| <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>linux</os> |
| <ws>gtk</ws> |
| <arch>aarch64</arch> |
| </environment> |
| <environment> |
| <os>macosx</os> |
| <ws>cocoa</ws> |
| <arch>x86_64</arch> |
| </environment> |
| </environments> |
| </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> |
| </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> |
| |
| <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> |
| <!-- apply filter when filter file exists --> |
| <id>auto-spotbugs-exclude</id> |
| <activation> |
| <file> |
| <exists>.settings/spotbugs-exclude.xml</exists> |
| </file> |
| </activation> |
| |
| |
| <build> |
| <plugins> |
| <!-- enable spotbugs exclude filter --> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>${maven.spotbugs.version}</version> |
| |
| <configuration> |
| <excludeFilterFile>.settings/spotbugs-exclude.xml</excludeFilterFile> |
| </configuration> |
| </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> |