<?xml version="1.0" encoding="UTF-8"?>
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
    distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you 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. -->
<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.apache.olingo</groupId>
	<artifactId>olingo-odata2-parent</artifactId>
	<version>2.0.12-SNAPSHOT</version>
	<packaging>pom</packaging>

	<name>${project.artifactId}</name>

	<parent>
		<groupId>org.apache</groupId>
		<artifactId>apache</artifactId>
		<version>13</version>
	</parent>

	<inceptionYear>2013</inceptionYear>

	<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>

	<url>http://olingo.apache.org</url>

	<mailingLists>
		<mailingList>
			<name>Apache Olingo Developers Mailinglist</name>
			<archive>http://mail-archives.apache.org/mod_mbox/olingo-dev/</archive>
			<post>mailto:dev@olingo.apache.org</post>
			<subscribe>mailto:dev-subscribe@olingo.apache.org</subscribe>
		</mailingList>
	</mailingLists>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.release>8</maven.compiler.release>
		<javadoc.phase>package</javadoc.phase>

        <!-- required for correct Sonar coverage data reporting (list of artifactIds) -->
        <projectsToInstrument>org.apache.olingo.odata2.api,org.apache.olingo.odata2.core,org.apache.olingo.odata2.ref</projectsToInstrument>
        <sonar.skippedModules>org.apache.olingo.odata2.expr</sonar.skippedModules>
        <jax.ws.rs.version>2.0-m10</jax.ws.rs.version>
        <!-- <jsr311.version>1.1.1</jsr311.version> -->
        <joda.version>2.1</joda.version>
        <cxf.version>2.7.10</cxf.version>
        <jetty.version>7.6.21.v20160908</jetty.version>
        <httpclient.version>4.2.5</httpclient.version>
        <httpcore.version>4.2.5</httpcore.version>
        <slf4j.version>1.7.1</slf4j.version>
        <log4j.version>1.2.17</log4j.version>
        <commonscodec.version>1.6</commonscodec.version>
        <commonslang.version>3.1</commonslang.version>
        <gson.version>2.4</gson.version>

		<antlr.version>3.4</antlr.version>

		<mockito.version>1.9.0</mockito.version>
		<junit.version>4.13.2</junit.version>
		<xmlunit.version>1.6</xmlunit.version>

		<version.eclipselink>2.5.1</version.eclipselink>
		<version.javax.persistence>2.0.5</version.javax.persistence>

		<spring.version>3.2.12.RELEASE</spring.version>

    <!-- Setting needed for Java 8 release builds -->
    <additionalparam>-Xdoclint:none</additionalparam>
	</properties>

	<modules>
		<module>odata2-lib</module>
		<module>odata2-jpa-processor</module>
		<module>odata2-annotation-processor</module>
		<module>odata2-dist</module>
		<module>odata2-sample</module>
	</modules>

	<build>
		<finalName>${project.artifactId}-${project.version}</finalName>

		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>buildnumber-maven-plugin</artifactId>
					<version>1.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.rat</groupId>
					<artifactId>apache-rat-plugin</artifactId>
					<version>0.9</version>
				</plugin>
				<plugin>
					<artifactId>maven-checkstyle-plugin</artifactId>
					<version>2.10</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>2.3.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>2.3.2</version>
				</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-javadoc-plugin</artifactId>
					<version>2.9</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>2.4</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>build-helper-maven-plugin</artifactId>
					<version>1.7</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-eclipse-plugin</artifactId>
					<version>2.9</version>
				</plugin>
				<plugin>
					<groupId>org.antlr</groupId>
					<artifactId>antlr3-maven-plugin</artifactId>
					<version>${antlr.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.felix</groupId>
					<artifactId>maven-bundle-plugin</artifactId>
					<version>2.3.7</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-remote-resources-plugin</artifactId>
					<version>1.5</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>2.7</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-war-plugin</artifactId>
					<version>2.4</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>cobertura-maven-plugin</artifactId>
					<version>2.6</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-eclipse-plugin</artifactId>
				<configuration>
					<addGroupIdToProjectName>true</addGroupIdToProjectName>
					<addVersionToProjectName>true</addVersionToProjectName>
					<wtpversion>2.0</wtpversion>
					<downloadSources>true</downloadSources>
					<downloadJavadocs>true</downloadJavadocs>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-sources</id>
						<phase>verify</phase>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>buildnumber-maven-plugin</artifactId>
				<executions>
					<execution>
						<phase>validate</phase>
						<goals>
							<goal>create</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<doCheck>false</doCheck>
					<doUpdate>false</doUpdate>
					<getRevisionOnlyOnce>true</getRevisionOnlyOnce>
					<revisionOnScmFailure>?</revisionOnScmFailure>
					<timestampFormat>{0,date,yyyy-MM-dd'T'HH:mm:ssZ}</timestampFormat>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<executions>
					<execution>
						<id>checkstyle</id>
						<phase>verify</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<outputFileFormat>xml</outputFileFormat>
					<consoleOutput>true</consoleOutput>
					<enableRSS>false</enableRSS>
					<linkXRef>false</linkXRef>
					<configLocation>src/checkstyle/config.xml</configLocation>
					<sourceDirectory>${basedir}/src</sourceDirectory>
					<encoding>UTF-8</encoding>
					<failOnViolation>true</failOnViolation>
					<violationSeverity>warning</violationSeverity>
					<excludes>**/archetype-resources/**/*</excludes>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-remote-resources-plugin</artifactId>
				<executions>
					<execution>
						<goals>
							<goal>process</goal>
						</goals>
						<configuration>
							<properties>
								<projectName>Apache Olingo</projectName>
							</properties>
							<resourceBundles>
								<resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
							</resourceBundles>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<configuration>
					<webResources>
						<resource>
							<!-- this is relative to the pom.xml directory -->
							<directory>${project.build.directory}/maven-shared-archive-resources</directory>
							<includes>
								<include>META-INF/*</include>
							</includes>
						</resource>
					</webResources>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<configuration>
					<instrumentation>
						<excludes>
							<exclude>org/apache/olingo/odata2/**/api/**/*.class</exclude>
							<exclude>org/apache/olingo/odata2/**/ref/**/*.class</exclude>
							<exclude>org/apache/olingo/odata2/**/testutil/**/*.class</exclude>
						</excludes>
					</instrumentation>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<profiles>
    <profile>
			<id>spring</id>
      <modules>
        <module>odata2-spring</module>
      </modules>
		</profile>
		<profile>
			<id>build.fast</id>
			<properties>
				<maven.test.skip>true</maven.test.skip>
				<javadoc.phase/>
			</properties>
		</profile>
		<profile>
			<id>build.default</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<build>
				<defaultGoal>clean install</defaultGoal>
			</build>
		</profile>
		<profile>
			<id>build.quality</id>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-checkstyle-plugin</artifactId>
						<executions>
							<execution>
								<phase>package</phase>
							</execution>
						</executions>
						<configuration>
							<failOnViolation>true</failOnViolation>
							<violationSeverity>error</violationSeverity>
						</configuration>
					</plugin>
					<plugin>
						<groupId>org.apache.rat</groupId>
						<artifactId>apache-rat-plugin</artifactId>
						<executions>
							<execution>
								<id>rat-check</id>
								<phase>test</phase>
								<goals>
									<goal>rat</goal>
									<goal>check</goal>
								</goals>
								<configuration>
									<excludes>
										<exclude>**/MANIFEST.MF</exclude>
										<exclude>.gitignore</exclude>
										<exclude>.git/**</exclude>
										<exclude>bin/**</exclude>
										<exclude>**/*.project</exclude>
										<exclude>**/*.classpath</exclude>
										<exclude>**/*.json</exclude>
										<exclude>**/*.batch</exclude>
										<exclude>**/NOTICE</exclude>
										<exclude>**/DEPENDENCIES</exclude>
										<exclude>**/SECURITY.md</exclude>
										<exclude>**/goal.txt</exclude>
										<exclude>**/target/**</exclude>
										<exclude>**/*.iml</exclude>
                    <exclude>.repository/**</exclude>
									</excludes>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>apache-release</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<executions>
							<execution>
								<id>javadoc-jar</id>
								<phase>${javadoc.phase}</phase>
								<goals>
									<goal>aggregate-jar</goal>
								</goals>
								<configuration>
									<tags>
										<tag>
											<name>org.apache.olingo.odata2.DoNotImplement</name>
											<placement>a</placement>
											<head>Do not implement this interface or derive from class.</head>
										</tag>
									</tags>
									<excludePackageNames>
                                        org.apache.olingo.odata2.core:org.apache.olingo.odata2.core.*:org.apache.olingo.odata2.jpa.processor.core:org.apache.olingo.odata2.jpa.processor.core.*:org.apache.olingo.odata2.annotation.processor.core:org.apache.olingo.odata2.annotation.processor.core.*:org.apache.olingo.odata2.testutil:org.apache.olingo.odata2.testutil.*
									</excludePackageNames>
									<additionalJOptions>
										<additionalJOption>-quiet</additionalJOption>
									</additionalJOptions>
									<groups>
										<group>
											<title>OData Lib</title>
											<packages>org.apache.olingo.odata2.api:org.apache.olingo.odata2.api.*</packages>
										</group>
										<group>
											<title>OData Reference Scenario</title>
											<packages>org.apache.olingo.odata2.ref:org.apache.olingo.odata2.ref.*</packages>
										</group>
										<group>
											<title>OData JPA Processor</title>
											<packages>org.apache.olingo.odata2.jpa.processor.api:org.apache.olingo.odata2.jpa.processor.api.*</packages>
										</group>
										<group>
											<title>OData Annotation Processor</title>
											<packages>org.apache.olingo.odata2.annotation.processor.api:org.apache.olingo.odata2.annotation.processor.api.*</packages>
										</group>
										<group>
											<title>OData JPA Reference Scenario</title>
											<packages>org.apache.olingo.odata2.jpa.processor.ref:org.apache.olingo.odata2.jpa.processor.ref.*</packages>
										</group>
										<group>
											<title>OData Annotation Reference Scenario</title>
											<packages>org.apache.olingo.odata2.annotation.processor.ref:org.apache.olingo.odata2.annotation.processor.ref.*</packages>
										</group>
									</groups>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

    <repositories>
        <repository>
            <id>oss.sonatype.org</id>
            <name>OSS Sonatype Staging</name>
            <url>https://oss.sonatype.org/content/groups/staging</url>
        </repository>
    </repositories>

    <dependencyManagement>
      <dependencies>
          <dependency>
              <groupId>junit</groupId>
              <artifactId>junit</artifactId>
              <version>${junit.version}</version>
          </dependency>
          <dependency>
              <groupId>org.mockito</groupId>
              <artifactId>mockito-all</artifactId>
              <version>${mockito.version}</version>
          </dependency>
          <dependency>
              <groupId>xmlunit</groupId>
              <artifactId>xmlunit</artifactId>
              <version>${xmlunit.version}</version>
          </dependency>
      </dependencies>
    </dependencyManagement>
</project>
