Skip to content
Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
1604 lines (1586 sloc) 50.2 KB
<!--
#%L
%%
Copyright (C) 2011 - 2017 BMW Car IT GmbH
%%
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
#L%
-->
<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>io.joynr</groupId>
<artifactId>joynr</artifactId>
<version>1.7.0</version>
<packaging>pom</packaging>
<name>${project.groupId}:${project.artifactId}</name>
<url>http://joynr.io</url>
<description>joynr.io communications framework</description>
<developers>
<developer>
<organization>BMW Car IT GmbH</organization>
<organizationUrl>http://www.bmw-carit.com</organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:git@github.com:bmwcarit/joynr.git</connection>
<developerConnection>scm:git:git@github.com:bmwcarit/joynr.git</developerConnection>
<url>git@github.com:bmwcarit/joynr</url>
</scm>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<modules>
<!--
ATTENTION: Order of modules matters!
Tools must be build first in order to have build-resources available right
at the beginning of the build.
-->
<module>tools</module>
<module>basemodel</module>
<module>java</module>
<module>cpp</module>
<module>examples</module>
<module>tests</module>
</modules>
<profiles>
<profile>
<!-- Build and test javascript -->
<id>javascript</id>
<modules>
<module>javascript</module>
</modules>
</profile>
<profile>
<!-- Build and test Android distribution -->
<id>android</id>
<modules>
<module>android</module>
</modules>
</profile>
<profile>
<!-- see comments of profile deploy-artifacts-to-sonatype -->
<id>deploy-artifacts-to-other-repository</id>
<properties>
<assembly.skipAssembly>true</assembly.skipAssembly>
</properties>
</profile>
<profile>
<!--
This profile can be extended in submodules to disable deployment of JAR/WAR
files containing third-party software to Sonatype repositories for this profile.
The deployment can also be disabled generally by skipping the deployment in the
maven-deploy-plugin configuration.
-->
<id>deploy-artifacts-to-sonatype</id>
<activation>
<!--
maven-jgitflow-plugin will set the performRelease property during
release and thus automatically activate this profile during release.
NOTE: You need to install GPG [1] and publish your public key to a key
server.
The passphrase must be specified on the command line using -Dgpg.passphrase=thephrase
[2].
Follow instructions [3] to verify dependencies.
[1] https://docs.sonatype.org/display/Repository/How+To+Generate+PGP+Signatures+With+Maven
[2] http://maven.apache.org/plugins/maven-gpg-plugin/usage.html
[3] http://branchandbound.net/blog/security/2012/08/verify-dependencies-using-pgp/
-->
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<properties>
<!--
This property will skip the execution of the maven-assembly-plugin during
deployment to Sonatype repositories. The plugin builds jar-with-dependencies
including third-party software that should not be deployed by this project.
Following jar-with-dependencies are created during build:
java/backend-services/capabilities-directory/target/deploy/capabilities-directory-jar-with-dependencies.jar
java/backend-services/domain-access-controller/target/deploy/domain-access-controller-jar-with-dependencies.jar
java/core/clustercontroller-standalone/target/clustercontroller-standalone-<version>-jar-with-dependencies.jar
tests/system-integration-test/sit-java-app/target/sit-java-app-<version>-jar-with-dependencies.jar
-->
<assembly.skipAssembly>true</assembly.skipAssembly>
<!--
Some projects use the maven-shade-plugin which cannot be disbled with a property:
android/joynr-android/target/joynr-android-<version>-all.jar
tests/performance-test (disabled by default)
Some projects use the maven-dependency-plugin and the maven-jar-pluging to
create a jar file including third-party software, e.g.:
tools/generator/joynr-generator-standalone/joynr-generator-standalone-<version>.jar
-->
</properties>
<distributionManagement>
<snapshotRepository>
<id>sonatype-nexus-snapshots</id>
<name>Sonatype Nexus Snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</snapshotRepository>
<repository>
<id>sonatype-nexus-staging</id>
<name>Nexus Release Repository</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
<configuration>
<keyname>joynr@bmw-carit.de</keyname>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>continuous-build-configuration</id>
<activation>
<property>
<name>JOYNR_CI</name>
</property>
</activation>
<properties>
<JOYNR_SERVER_HOST>joyntest</JOYNR_SERVER_HOST>
<JOYNR_SERVER_HTTP_PORT>8080</JOYNR_SERVER_HTTP_PORT>
<JOYNR_TEST_SERVER>joyntest:8080</JOYNR_TEST_SERVER>
</properties>
</profile>
<profile>
<!--
NOTE: if you change activation or the profile ID here, your also must
change it in the following child modules that extend this profile:
* io.joynr.java.messaging:messaging-common
* io.joynr.java.messaging:channel-service
* io.joynr.javascript:libjoynr-js
-->
<id>carit-copyright</id>
<properties>
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>yyyy</maven.build.timestamp.format>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<configuration>
<licenseName>apache_v2</licenseName>
<inceptionYear>${timestamp}</inceptionYear>
<organizationName>BMW Car IT GmbH</organizationName>
<descriptionTemplate>/license/header-template.ftl</descriptionTemplate>
<extraExtensions>
<fidl>java</fidl>
</extraExtensions>
<addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
</configuration>
<executions>
<execution>
<id>add-third-party</id>
<phase>validate</phase>
<goals>
<goal>add-third-party</goal>
</goals>
</execution>
<execution>
<id>download-licenses</id>
<phase>validate</phase>
<goals>
<goal>download-licenses</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>de.bmw.joynr</groupId>
<artifactId>license-configuration</artifactId>
<version>${licenseConfigurationVersion}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.jasig.maven</groupId>
<artifactId>maven-notice-plugin</artifactId>
<version>1.0.6</version>
<configuration>
<noticeTemplate>/notice/NOTICE-JOYNR.template</noticeTemplate>
<licenseMapping>
<param>/notice/license-mappings.xml</param>
<param>/notice/license-mappings-local.xml</param>
</licenseMapping>
</configuration>
<dependencies>
<dependency>
<groupId>de.bmw.joynr</groupId>
<artifactId>license-configuration</artifactId>
<version>${licenseConfigurationVersion}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>carit-license</id>
<properties>
<!--
For unknown reasons useLicensesConfigFile and licensesConfigFile
configuration properties must be set as global properties. It is
not sufficient to specify them directly in the plugin configuration.
-->
<license.useLicensesConfigFile>true</license.useLicensesConfigFile>
<license.licensesConfigFile>classpath://license/missinglicenses.xml</license.licensesConfigFile>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<!-- overriding version defined in plugin management -->
<version>1.3-JOYN.2</version>
<configuration>
<licenseName>apache_v2</licenseName>
<inceptionYear>2011</inceptionYear>
<organizationName>BMW Car IT GmbH</organizationName>
<descriptionTemplate>/license/header-template.ftl</descriptionTemplate>
<includes>
<include>**/*pom.xml</include>
</includes>
<extraExtensions>
<fidl>java</fidl>
</extraExtensions>
<licenseMerges>
<licenseMerge>Apache-2.0|The Apache Software License, Version 2.0|Apache
License, Version 2.0|Apache License, Version 2.0|Apache License V2.0|Apache 2|ASF
2.0|apache-2.0|Apache-2|Apache 2.0|Apache License 2.0|Apache
Software License - Version 2.0|Apache Software License - Version 2.0</licenseMerge>
<licenseMerge>CDDL-1.0|Common Development and Distribution License (CDDL) v1.0</licenseMerge>
<licenseMerge>MIT|The MIT License|MIT License</licenseMerge>
<licenseMerge>LGPL-2.1|Lesser Gnu Public License (LGPL), Version 2.1</licenseMerge>
</licenseMerges>
<generateBundle>true</generateBundle>
<fileTemplate>license/joynr-third-party-file.ftl</fileTemplate>
<bundleThirdPartyPath>${project.artifactId}-LICENSES.html</bundleThirdPartyPath>
<!--
For unknown reasons useLicensesConfigFile and licensesConfigFile
configuration properties must be set as global properties. It is
not sufficient to specify them directly in the plugin configuration.
-->
<useLicensesConfigFile>true</useLicensesConfigFile>
<licensesConfigFile>classpath://license/missinglicenses.xml</licensesConfigFile>
<excludedScopes>test</excludedScopes>
<licenseResolver>classpath://license/resolver</licenseResolver>
<!-- MissingFile is now replaced by the licenses config file -->
<useMissingFile>true</useMissingFile>
<failIfWarning>false</failIfWarning>
<encoding>UTF-8</encoding>
<canUpdateCopyright>true</canUpdateCopyright>
</configuration>
<dependencies>
<dependency>
<groupId>de.bmw.joynr</groupId>
<artifactId>license-configuration</artifactId>
<version>${licenseConfigurationVersion}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>no-checkstyle</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<executions>
<execution>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>no-java-formatter</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>net.revelc.code.formatter</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<executions>
<execution>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>no-tests</id>
<properties>
<maven.test.skip>true</maven.test.skip>
</properties>
</profile>
<profile>
<id>no-license-and-notice</id>
<properties>
<skip.unpack-license-info>true</skip.unpack-license-info>
<skip.copy-notice-file>true</skip.copy-notice-file>
</properties>
</profile>
</profiles>
<properties>
<JOYNR_SERVER_HOST>localhost</JOYNR_SERVER_HOST>
<JOYNR_SERVER_HTTP_PORT>8080</JOYNR_SERVER_HTTP_PORT>
<JOYNR_SERVER_MQTT_PORT>1883</JOYNR_SERVER_MQTT_PORT>
<JOYNR_TEST_SERVER>localhost:8080</JOYNR_TEST_SERVER>
<timestamp>${maven.build.timestamp}</timestamp>
<maven.build.timestamp.format>yyyyMMdd-HHmmss</maven.build.timestamp.format>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<licenseConfigurationVersion>1.0.14</licenseConfigurationVersion>
<!--
Those versions should not be used outside of the superpom. All dependencies
that need those version numbers should be defined in the dependencyManagement
here, and should not have a version tag in the the pom-files where they
are referenced.
-->
<jersey.version>1.19.4</jersey.version>
<jackson.version>2.9.8</jackson.version>
<guice.version>3.0</guice.version>
<jetty.version>9.2.13.v20150730</jetty.version>
<tycho.version>0.24.0</tycho.version>
<hibernate.version>4.3.8.Final</hibernate.version>
<android.platform.version>8.0.0_r2</android.platform.version>
<android.platform.level>26</android.platform.level>
<skipTests>true</skipTests>
<franca.version>0.13.0</franca.version>
<xtend.version>2.16.0</xtend.version>
<xtext.version>2.16.0</xtext.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<slf4j.version>1.7.25</slf4j.version>
<smrf.version>0.3.1</smrf.version>
</properties>
<!--
specify dependency versions and properties here to share this information
with all children that use the specified dependency
-->
<dependencyManagement>
<dependencies>
<!-- The Android SDK must be deployed to the local repository using
https://github.com/simpligility/maven-android-sdk-deployer
-->
<dependency>
<groupId>android</groupId>
<artifactId>android</artifactId>
<version>${android.platform.version}</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<artifactId>xmlParserAPIs</artifactId>
<groupId>xerces</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-annotations</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.websocket</groupId>
<artifactId>websocket-client</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.websocket</groupId>
<artifactId>websocket-server</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>io.joynr.mqtt</groupId>
<artifactId>mqtt-client</artifactId>
<version>0.0.6</version>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>${guice.version}</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>${jersey.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.eclipse.xtend</groupId>
<artifactId>org.eclipse.xtend.lib</artifactId>
<version>${xtend.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtend</groupId>
<artifactId>org.eclipse.xtend.core</artifactId>
<version>${xtend.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext</artifactId>
<version>${xtext.version}</version>
</dependency>
<!--
This dependecy is needed to avoid conflicts with Java 5 code (generics)
when pulling in transitive dependency org.apache.felix:org.osgi.foundation:1.2.0
that defines java.util collection classes without generics.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=343069
-->
<dependency>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.app</artifactId>
<version>[1.3.1,2.0.0)</version>
</dependency>
<dependency>
<groupId>org.eclipse.equinox</groupId>
<artifactId>app</artifactId>
<version>1.0.0-v20070606</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-guice</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>net.logstash.log4j</groupId>
<artifactId>jsonevent-layout</artifactId>
<version>1.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>com.ning</groupId>
<artifactId>async-http-client</artifactId>
<version>1.7.19</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<scope>test</scope>
<version>1.10.19</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.6</version>
<type>test-jar</type>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.6</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-android</artifactId>
<version>4.3.6</version>
</dependency>
<dependency>
<groupId>org.jboss.shrinkwrap.resolver</groupId>
<artifactId>shrinkwrap-resolver-bom</artifactId>
<version>3.1.3</version>
<scope>test</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.extension</groupId>
<artifactId>arquillian-transaction-jta</artifactId>
<version>1.0.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<version>1.1.15.Final</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>com.jayway.restassured</groupId>
<artifactId>rest-assured</artifactId>
<version>1.8.1</version>
<exclusions>
<!-- Exclude Groovy because of classpath issue -->
<exclusion>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- included to prevent classpath issue with rest-asured -->
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<!-- Needs to be the same version that REST Assured depends on -->
<version>2.1.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>1.9.5</version>
</dependency>
<dependency>
<groupId>org.franca</groupId>
<artifactId>org.franca.core.dsl</artifactId>
<version>${franca.version}</version>
</dependency>
<dependency>
<groupId>org.franca</groupId>
<artifactId>org.franca.core</artifactId>
<version>${franca.version}</version>
</dependency>
<dependency>
<groupId>org.franca</groupId>
<artifactId>org.franca.deploymodel.dsl</artifactId>
<version>${franca.version}</version>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>2.8.1</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.10.1.1</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-assistedinject</artifactId>
<version>${guice.version}</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-persist</artifactId>
<version>${guice.version}</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>jline</groupId>
<artifactId>jline</artifactId>
<version>2.12</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-container-test-api</artifactId>
<version>1.1.15.Final</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.shrinkwrap.resolver</groupId>
<artifactId>shrinkwrap-resolver-impl-maven</artifactId>
<version>2.2.6</version>
<scope>test</scope>
</dependency>
<!--
hardcode transitive dependencies defined via ranges to
avoid conflicts in later builds
-->
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.commands</artifactId>
<version>3.9.200</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.contenttype</artifactId>
<version>3.7.200</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.expressions</artifactId>
<version>3.6.200</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.filesystem</artifactId>
<version>1.7.200</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.jobs</artifactId>
<version>3.10.200</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.core.resources</artifactId>
<version>3.13.200</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.equinox.app</artifactId>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.equinox.preferences</artifactId>
<version>3.7.200</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.equinox.registry</artifactId>
<version>3.8.200</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.osgi</artifactId>
<version>3.13.200</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.text</artifactId>
<version>3.8.0</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<!--
specify plugin versions and configuration here to apply to all submodules
that use the specified plugin
-->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
</plugin>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<versionRange>[1.0.0,)</versionRange>
<goals>
<goal>enforce</goal>
<goal>display-info</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>net.revelc.code.formatter</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<versionRange>[2.7.4,)</versionRange>
<goals>
<goal>format</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<versionRange>[2.8,)</versionRange>
<goals>
<goal>unpack</goal>
<goal>copy</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<versionRange>[1.7,)</versionRange>
<goals>
<goal>run</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<versionRange>[2.5,)</versionRange>
<goals>
<goal>install-file</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>io.joynr.tools.generator</groupId>
<artifactId>joynr-generator-maven-plugin</artifactId>
<versionRange>[0.5.0,)</versionRange>
<goals>
<goal>generate</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute>
<runOnIncremental>false</runOnIncremental>
<runOnConfiguration>true</runOnConfiguration>
</execute>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<versionRange>[2.5,)</versionRange>
<goals>
<goal>clean</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute>
<runOnIncremental>false</runOnIncremental>
</execute>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
com.simpligility.maven.plugins
</groupId>
<artifactId>
android-maven-plugin
</artifactId>
<versionRange>
[4.1.0,)
</versionRange>
<goals>
<goal>emma</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
com.googlecode.jslint4java
</groupId>
<artifactId>
jslint4java-maven-plugin
</artifactId>
<versionRange>
[2.0.3,)
</versionRange>
<goals>
<goal>lint</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<forkCount>1</forkCount>
<!-- one JVM per test suite -->
<reuseForks>false</reuseForks>
<argLine>-Xmx1024m</argLine>
<skipTests>${skipTests}</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>1.14</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.3</version>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.4</version>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>3.1.8</version>
<configuration>
<failOnError>false</failOnError>
<threshold>Normal</threshold>
<effort>Default</effort>
<xmlOutput>true</xmlOutput>
<spotbugsXmlOutput>true</spotbugsXmlOutput>
<spotbugsXmlWithMessages>true</spotbugsXmlWithMessages>
<excludeFilterFile>findbugs/findbugs-exclude.xml</excludeFilterFile>
</configuration>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>io.joynr.tools</groupId>
<artifactId>build-resources</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>4.5.0</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<extensions>true</extensions>
<version>${tycho.version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-packaging-plugin</artifactId>
<version>${tycho.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.10</version>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty.version}</version>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.6</version>
</dependency>
</dependencies>
<configuration>
<webApp>
<contextPath>/</contextPath>
</webApp>
<stopPort>9966</stopPort>
<stopKey>joynr</stopKey>
<stopWait>60</stopWait>
<contextHandlers>
<contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext">
<war>${project.build.directory}/bounceproxy.war</war>
<contextPath>/bounceproxy</contextPath>
</contextHandler>
<contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext">
<war>${project.build.directory}/discovery.war</war>
<contextPath>/discovery</contextPath>
</contextHandler>
<contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext">
<war>${project.build.directory}/accesscontrol.war</war>
<contextPath>/accesscontrol</contextPath>
</contextHandler>
</contextHandlers>
<systemProperties>
<systemProperty>
<name>log4j.configuration</name>
<value>file:${basedir}/src/main/resources/log4j.properties</value>
</systemProperty>
<systemProperty>
<name>joynr.servlet.hostPath</name>
<value>http://localhost:8080</value>
</systemProperty>
<systemProperty>
<name>org.atmosphere.useNative</name>
<value>true</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
<version>${xtend.version}</version>
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>21.0</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.appfuse</groupId>
<artifactId>maven-warpath-plugin</artifactId>
<version>2.0.2</version>
</plugin>
<plugin>
<groupId>io.joynr.tools.generator</groupId>
<artifactId>joynr-generator-maven-plugin</artifactId>
<version>${project.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<configuration>
<!-- configLocation is resolved from classpath -->
<configLocation>checkstyle/checkstyle.xml</configLocation>
<!--
suppressionsLocation is resolved from classpath and extracted
to ${project.build.directory}/checkstyle-suppressions.xml
-->
<suppressionsLocation>checkstyle/checkstyle-suppressions.xml</suppressionsLocation>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>io.joynr.tools</groupId>
<artifactId>build-resources</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
<configuration>
<instrumentation>
<excludes>
<exclude>io/joynr/generated/**/*.class</exclude>
<exclude>io/joynr/generator/**/*.class</exclude>
<exclude>io/joynr/**/*Test.class</exclude>
<exclude>joynr/**/*.class</exclude>
</excludes>
</instrumentation>
<aggregate>true</aggregate>
<formats>
<format>xml</format>
</formats>
</configuration>
<executions>
<execution>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<testSource>${maven.compiler.source}</testSource>
<testTarget>${maven.compiler.target}</testTarget>
<debug>true</debug>
<debuglevel>lines,vars,source</debuglevel>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-eclipse</artifactId>
<version>1.8.6</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8</version>
<dependencies>
<!-- webdav wagon is not included in Maven 3 -->
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav</artifactId>
<version>1.0-beta-2</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<useProjectReferences>true</useProjectReferences>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<excludes>
<!-- to prevent package-info files from different projects to collide -->
<exclude>**/package-info*</exclude>
<!--
to prevent check-for-null annotations from package-info to be pulled
into jar-files
-->
<exclude>**/CheckForNull*</exclude>
</excludes>
<archive>
<manifestEntries>
<artifactId>${project.artifactId}</artifactId>
</manifestEntries>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.3.2</version>
</plugin>
<plugin>
<groupId>net.revelc.code.formatter</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<version>2.7.4</version>
<executions>
<execution>
<goals>
<goal>format</goal>
</goals>
</execution>
</executions>
<configuration>
<lineEnding>KEEP</lineEnding>
<overrideConfigCompilerVersion>true</overrideConfigCompilerVersion>
<configFile>java-formatter/code-formatter-config.xml</configFile>
</configuration>
<dependencies>
<dependency>
<groupId>io.joynr.tools</groupId>
<artifactId>build-resources</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</version>
</plugin>
<!-- preconfigure jslint for javascript projects -->
<plugin>
<groupId>com.googlecode.jslint4java</groupId>
<artifactId>jslint4java-maven-plugin</artifactId>
<version>2.0.3</version>
<executions>
<execution>
<id>lint-project</id>
<phase>process-sources</phase>
<goals>
<goal>lint</goal>
</goals>
<configuration>
<sourceFolders>
<sourceFolder>${project.build.sourceDirectory}</sourceFolder>
</sourceFolders>
</configuration>
</execution>
<execution>
<id>lint-testsrc</id>
<phase>process-sources</phase>
<goals>
<goal>lint</goal>
</goals>
<configuration>
<options>
<predef>define, require, allOf, anything, assertThat,
beforeEach, describe, equalTo, expect, hasMember, it, require,
runs, waitsFor, when, jasmine, spyOn, TestCase, assertEquals,
mock, verify, verifyNoMoreInteractions, times, mockFunction,
afterEach, assertNull, alert</predef>
</options>
<sourceFolders>
<sourceFolder>${project.build.testSourceDirectory}</sourceFolder>
</sourceFolders>
</configuration>
</execution>
</executions>
<configuration>
<options>
<!-- If multiple var statements per function should be allowed -->
<vars>true</vars>
<!-- If sloppy whitespace is tolerated -->
<white>true</white>
<!-- predefine define and require functions used with AMD module loading -->
<predef>define,require</predef>
<!-- allow not using "pragma strict" -->
<sloppy>true</sloppy>
<!-- Allow accessing browser globals like Window, setTimeout, etc. without defining them ecplicitely -->
<browser>true</browser>
<!-- Allow using ++ and -->
<plusplus>true</plusplus>
<!-- Allow TODO comments -->
<todo>true</todo>
</options>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>display-platform-info</id>
<goals>
<goal>display-info</goal>
</goals>
<phase>validate</phase>
</execution>
<execution>
<id>enforce-maven-and-java-version</id>
<goals>
<goal>enforce</goal>
</goals>
<phase>validate</phase>
<configuration>
<rules>
<requireMavenVersion>
<version>[3.1,)</version>
<message>Wrong Maven version. You must use Maven 3.1.x or newer to build joynr.</message>
</requireMavenVersion>
<requireJavaVersion>
<version>1.8.0</version>
<message>Wrong java version. You must use Java 1.8.0 to build joynr.</message>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-license-info</id>
<phase>prepare-package</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<skip>${skip.unpack-license-info}</skip>
<artifactItems>
<artifactItem>
<groupId>io.joynr.tools</groupId>
<artifactId>build-resources</artifactId>
<version>${project.version}</version>
<outputDirectory>${project.build.directory}</outputDirectory>
<includes>LICENSE</includes>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-notice-license-to-apidoc</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<skip>${skip.copy-notice-and-license-files}</skip>
<outputDirectory>${project.build.directory}/apidocs/META-INF</outputDirectory>
<resources>
<resource>
<directory>${basedir}</directory>
<includes>
<include>NOTICE*</include>
</includes>
</resource>
<resource>
<directory>${project.build.directory}</directory>
<includes>
<include>LICENSE</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-notice-license-to-classes</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<skip>${skip.copy-notice-and-license-files}</skip>
<outputDirectory>${project.build.directory}/classes/META-INF</outputDirectory>
<resources>
<resource>
<directory>${basedir}</directory>
<includes>
<include>NOTICE*</include>
</includes>
</resource>
<resource>
<directory>${project.build.directory}</directory>
<includes>
<include>LICENSE</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-notice-license-to-test-classes</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<skip>${skip.copy-notice-and-license-files}</skip>
<outputDirectory>${project.build.directory}/test-classes/META-INF</outputDirectory>
<resources>
<resource>
<directory>${basedir}</directory>
<includes>
<include>NOTICE*</include>
</includes>
</resource>
<resource>
<directory>${project.build.directory}</directory>
<includes>
<include>LICENSE</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<!--
Workaraound: sets properties to skip execution of copying NOTICE file
and unpacking of LICENSE information on Maven projects with packaging pom.
-->
<execution>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<exportAntProperties>true</exportAntProperties>
<target>
<condition property="skip.copy-notice-and-license-files" value="true" else="false">
<equals arg1="${project.packaging}" arg2="pom" />
</condition>
<condition property="skip.unpack-license-info" value="true" else="false">
<equals arg1="${project.packaging}" arg2="pom" />
</condition>
</target>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<configuration>
<filesets>
<fileset>
<directory>gen</directory>
</fileset>
<fileset>
<directory>logs</directory>
</fileset>
<fileset>
<directory>bin</directory>
</fileset>
<fileset>
<directory>target</directory>
</fileset>
</filesets>
</configuration>
</plugin>
</plugins>
</build>
</project>
You can’t perform that action at this time.