<?xml version="1.0" encoding="UTF-8"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.eclipse.ogee</groupId>
		<artifactId>org.eclipse.ogee.parent</artifactId>
		<version>0.6.0-SNAPSHOT</version>
		<relativePath>../org.eclipse.ogee.parent</relativePath>
	</parent>

	<!--************************************************************************** -->
	<!--* POM SECTION: Maven Settings -->
	<!--************************************************************************** -->
	<artifactId>org.eclipse.ogee.client</artifactId>
	<packaging>eclipse-plugin</packaging>


	<!-- ##################################################################### -->
	<!-- ## Running the generate-javadoc Plugin automatically during a build -->
	<!-- ##################################################################### -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>${javadoc-version}</version>
				<configuration>
					<reportOutputDirectory>${basedir}</reportOutputDirectory>
					<excludePackageNames>org.eclipse.ogee.client.jsonsimple;org.eclipse.ogee.client.nls.messages;org.eclipse.ogee.client.parser.impl.v3;org.eclipse.ogee.client.proxy.helper</excludePackageNames>
				</configuration>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>javadoc</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

	<description>OData Client Component</description>
	<name>org.eclipse.ogee.client</name>
</project>
