xtensions.master
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.github.fraunhoferfokus.xtensions</groupId>
<artifactId>xtensions.master</artifactId>
<version>1.2.0</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) 2017 Max Bureck (Fraunhofer FOKUS) and others. All rights
reserved. This program and the accompanying materials are made available
under the terms of the Eclipse Public License v2.0 which accompanies this
distribution, and is available at http://www.eclipse.org/legal/epl-v20.html
Contributors: Max Bureck (Fraunhofer FOKUS) - initial config
* Enable profile "coverage-report" to create a Jacoco coverage
* To push the code coverage report to coveralls.io, pass parameter "coveralls". This automatically enables profile "coverage-report"
* To build incubation bundles, enable profile "incubation"
* On release pass property "release", e.g. passing parameter "-Drelease" -->
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.fraunhoferfokus.xtensions</groupId>
<artifactId>xtensions.master</artifactId>
<version>1.2.0</version>
<name>Xtensions Build Master</name>
<packaging>pom</packaging>
<description>
This library is mainly a collection of Xtend extension methods
for classes in the Java 8 standard library and the Xtend standard library.
</description>
<url>https://github.com/fraunhoferfokus/Xtensions</url>
<licenses>
<license>
<name>Eclipse Public License - v 2.0</name>
<url>https://www.eclipse.org/legal/epl-v20.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<connection>scm:git:https://github.com/fraunhoferfokus/Xtensions.git</connection>
<developerConnection>scm:git:git@github.com:fraunhoferfokus/Xtensions.git</developerConnection>
<url>https://github.com/fraunhoferfokus/Xtensions</url>
</scm>
<issueManagement>
<system>GitHub Issues</system>
<url>https://github.com/fraunhoferfokus/Xtensions/issues</url>
</issueManagement>
<developers>
<developer>
<name>Max Bureck</name>
<organization>Fraunhofer FOKUS</organization>
<organizationUrl>https://www.fokus.fraunhofer.de/</organizationUrl>
</developer>
</developers>
<prerequisites>
<maven>3.6.0</maven>
</prerequisites>
<properties>
<tycho-version>1.4.0</tycho-version>
<xtend-version>2.15.0</xtend-version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jacoco-version>0.8.3</jacoco-version>
</properties>
<repositories>
<repository>
<id>oxygen</id>
<layout>p2</layout>
<url>http://download.eclipse.org/releases/oxygen</url>
</repository>
<repository>
<id>xtext</id>
<layout>p2</layout>
<url>http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.13.0/</url>
</repository>
</repositories>
<modules>
<module>bundles/de.fhg.fokus.xtensions</module>
<module>features/de.fhg.fokus.xtensions.feature</module>
<module>p2/de.fhg.fokus.xtensions.p2</module>
<!-- bundles need to be in build to be deployed as maven project, so POM
hierarchy is in deployed repo -->
<module>bundles</module>
<!-- The following modules are only listed to allow easy version adjustment
from this master -->
<module>features</module>
</modules>
<profiles>
<profile>
<!-- This profile is always active, and only de-activated if property
"release" is set -->
<id>nonRelease</id>
<activation>
<property>
<name>!release</name>
</property>
</activation>
<modules>
<module>tests</module>
<module>tests/de.fhg.fokus.xtensions.tests</module>
</modules>
</profile>
<profile>
<id>incubation</id>
<modules>
<!-- Incubation bundles -->
<module>bundles-incubation/de.fhg.fokus.xtensions.incubation</module>
<module>tests-incubation/de.fhg.fokus.xtensions.incubation.tests</module>
<module>bundles-incubation/de.fhg.fokus.xtensions.circuitbreaker</module>
<module>tests-incubation/de.fhg.fokus.xtensions.circuitbreaker.tests</module>
</modules>
</profile>
<profile>
<id>coverage-report</id>
<activation>
<property>
<name>coveralls</name>
</property>
</activation>
<modules>
<module>releng/de.fhg.fokus.xtensions.report</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<configuration>
<includes>
<include>de/fhg/fokus/xtensions/**/*</include>
</includes>
<excludes>
<exclude>de/fhg/fokus/xtensions/Showcase*</exclude>
<exclude>de/fhg/fokus/xtensions/Util*</exclude>
<exclude>**/*Test*</exclude>
</excludes>
<append>true</append>
</configuration>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- Manually added dependency for xbase lib, so maven can resolve this,
when not using p2 as source of the library -->
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.xbase.lib</artifactId>
<version>${xtend-version}</version>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>bintray-boereck-xtensions-maven</id>
<name>boereck-xtensions-maven</name>
<url>https://api.bintray.com/maven/boereck/xtensions-maven/Xtensions/;publish=1</url>
</repository>
<snapshotRepository>
<id>bintray-snapshots-xtensions-maven</id>
<name>oss-jfrog-artifactory-snapshots</name>
<url>http://oss.jfrog.org/artifactory/oss-snapshot-local</url>
</snapshotRepository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-help-plugin</artifactId>
<version>3.1.1</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>tycho-compiler-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
<excludeResources>
<exludeResource>**/*.xtend</exludeResource>
</excludeResources>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<!-- set file encoding -->
<appArgLine>-Dfile.encoding=UTF-8</appArgLine>
<useUIThread>false</useUIThread>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-source-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>attach-source</id>
<goals>
<goal>plugin-source</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-source-feature-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>source-feature</id>
<phase>package</phase>
<goals>
<goal>source-feature</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Needed for source feature -->
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<!-- Do not attach metadata before the source-feature execution -->
<id>default-p2-metadata-default</id>
<configuration>
<attachP2Metadata>false</attachP2Metadata>
</configuration>
</execution>
<execution>
<!-- Do attach metadata after the source-feature execution -->
<id>attach-p2-metadata</id>
<goals>
<goal>p2-metadata</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-repository-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<finalName>${project.artifactId}-${qualifiedVersion}</finalName>
</configuration>
</plugin>
<!-- Generate Java from Xtend sources -->
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
<version>${xtend-version}</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>xtend-install-debug-info</goal>
<goal>testCompile</goal>
<goal>xtend-test-install-debug-info</goal>
</goals>
<configuration>
<!-- Tried to make maven build output to ${project.basedir}/xtend-gen
But the tycho-compiler-plugin somehow does not pick up the directory, even
with the build-helper-maven-plugin configuration below. -->
<outputDirectory>${project.basedir}/xtend-gen</outputDirectory>
<testOutputDirectory>${project.basedir}/xtend-gen</testOutputDirectory>
<xtendAsPrimaryDebugSource>true</xtendAsPrimaryDebugSource>
</configuration>
</execution>
</executions>
</plugin>
<!-- Delete Java files generated from Xtend on clean -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<filesets>
<fileset>
<directory>${project.basedir}/xtend-gen</directory>
<includes>
<include>**/*</include>
</includes>
</fileset>
</filesets>
</configuration>
</plugin>
<!-- Let build know about generated Java sources -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.basedir}/xtend-gen</source>
</sources>
</configuration>
</execution>
<execution>
<id>add-test-source</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>${project.basedir}/xtend-gen</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<!-- Needed for release on travis-ci -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<pushChanges>false</pushChanges>
<preparationGoals>org.eclipse.tycho:tycho-versions-plugin:${tycho-version}:update-eclipse-metadata
org.apache.maven.plugins:maven-scm-plugin:1.9.5:add
org.apache.maven.plugins:maven-scm-plugin:1.9.5:checkin</preparationGoals>
<completionGoals>org.eclipse.tycho:tycho-versions-plugin:${tycho-version}:update-eclipse-metadata
org.apache.maven.plugins:maven-scm-plugin:1.9.5:add
org.apache.maven.plugins:maven-scm-plugin:1.9.5:checkin</completionGoals>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<configuration>
<types>sources</types>
</configuration>
</plugin>
</plugins>
<!-- Set default versions for plugins used by sub-projects -->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-version}</version>
</plugin>
<plugin>
<groupId>org.eluder.coveralls</groupId>
<artifactId>coveralls-maven-plugin</artifactId>
<version>4.3.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>