<!--
  #%L
  %%
  Copyright (C) 2011 - 2013 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">
	<artifactId>java</artifactId>
	<modelVersion>4.0.0</modelVersion>
	<packaging>pom</packaging>
	<name>${project.groupId}:${project.artifactId}</name>

	<parent>
		<groupId>io.joynr</groupId>
		<artifactId>joynr</artifactId>
		<version>0.9.0</version>
		<relativePath>../pom.xml</relativePath>
	</parent>

	<modules>
		<module>backend-services</module>
		<module>common</module>
		<module>core</module>
		<module>javaapi</module>
		<module>messaging</module>
		<module>java-generator</module>
		<module>integration-tests</module>
	</modules>
	<profiles>
		<profile>
			<id>findbugs</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>findbugs-maven-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
	<dependencies>
		<dependency>
			<groupId>com.google.code.findbugs</groupId>
			<artifactId>jsr305</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>com.google.code.findbugs</groupId>
			<artifactId>annotations</artifactId>
			<!-- <scope>provided</scope> -->
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
		</dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>2.0-rc1</version>
            <scope>test</scope>
        </dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>com.googlecode.maven-java-formatter-plugin</groupId>
				<artifactId>maven-java-formatter-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.3</version>
				<configuration>
					<verbose>true</verbose>
					<failOnError>true</failOnError>
					<sourcepath>${basedir}</sourcepath>
					<sourceFileExcludes>
						<exclude>**/src/test/**/*.java</exclude>
						<exclude>integration-tests/src/main/**/*.java</exclude>
						<!-- following files will be quelled, since the package-info is duplicated -->
						<exclude>backend-services/capabilities-directory/src/main/java/io/joynr/endpoints/package-info.java</exclude>
						<exclude>backend-services/discovery-directory-servlet/src/main/java/io/joynr/servlet/package-info.java</exclude>
						<exclude>common/infrastructure-common/src/main/java/io/joynr/arbitration/package-info.java</exclude>
						<exclude>common/infrastructure-common/src/main/java/io/joynr/capabilities/package-info.java</exclude>
						<exclude>common/infrastructure-common/src/main/java/io/joynr/common/package-info.java</exclude>
						<exclude>common/infrastructure-common/src/main/java/io/joynr/messaging/package-info.java</exclude>
						<exclude>core/joynr-types/src/main/java/io/joynr/dispatcher/rpc/package-info.java</exclude>
						<exclude>javaapi/src/main/java/io/joynr/provider/package-info.java</exclude>
						<exclude>javaapi/src/main/java/io/joynr/proxy/package-info.java</exclude>
						<exclude>javaapi/src/main/java/io/joynr/pubsub/package-info.java</exclude>
						<exclude>javaapi/src/main/java/io/joynr/pubsub/publication/package-info.java</exclude>
						<exclude>javaapi/src/main/java/io/joynr/pubsub/subscription/package-info.java</exclude>
						<exclude>messaging/bounceproxy-controller-service/src/main/java/io/joynr/messaging/info/package-info.java</exclude>
						<exclude>messaging/bounceproxy-controller-service/src/main/java/io/joynr/messaging/service/package-info.java</exclude>
						<exclude>messaging/bounceproxy/bounceproxy-controller-clustered/src/main/java/io/joynr/messaging/bounceproxy/controller/runtime/package-info.java</exclude>
						<exclude>messaging/bounceproxy/bounceproxy-controller/src/main/java/io/joynr/messaging/bounceproxy/controller/runtime/package-info.java</exclude>
						<exclude>messaging/messaging-common/src/main/java/io/joynr/messaging/package-info.java</exclude>
						<exclude>messaging/messaging-common/src/main/java/io/joynr/runtime/package-info.java</exclude>
						<exclude>messaging/messaging-service/src/main/java/io/joynr/messaging/service/package-info.java</exclude>
						<exclude>messaging/messaging-servlet/src/main/java/io/joynr/dispatcher/package-info.java</exclude>
						<exclude>messaging/messaging-servlet/src/main/java/io/joynr/messaging/package-info.java</exclude>
						<exclude>messaging/messaging-servlet/src/main/java/io/joynr/runtime/package-info.java</exclude>
						<exclude>messaging/service-common/src/main/java/io/joynr/messaging/datatypes/package-info.java</exclude>
						<exclude>messaging/service-common/src/main/java/io/joynr/messaging/info/package-info.java</exclude>
					</sourceFileExcludes>
					<detectJavaApiLink>true</detectJavaApiLink>
					<detectLinks>true</detectLinks>
					<additionalDependencies>
						<additionalDependency>
							<groupId>org.hamcrest</groupId>
							<artifactId>hamcrest-core</artifactId>
							<version>1.3</version>
						</additionalDependency>
						<additionalDependency>
							<groupId>junit</groupId>
							<artifactId>junit</artifactId>
							<version>4.11</version>
						</additionalDependency>
						<additionalDependency>
							<groupId>io.joynr.java</groupId>
							<artifactId>javaapi</artifactId>
							<version>${project.version}</version>
							<type>test-jar</type>
						</additionalDependency>
					</additionalDependencies>
				</configuration>
				<executions>
					<execution>
						<id>aggregate</id>
						<phase>site</phase>
						<goals>
							<goal>aggregate-jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
