<?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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<sshwagon.version>2.6</sshwagon.version>
		<javadoc.version>2.9.1</javadoc.version>
		<slf4j.version>1.7.7</slf4j.version>
		<junit.version>4.11</junit.version>
		<guava.version>16.0.1</guava.version>
		<hadoop.version>2.6.0</hadoop.version>
		<jackson.version>2.6.3</jackson.version>
		<easymock.version>3.2</easymock.version>
		<httpcomponents.version>4.4.1</httpcomponents.version>
		<checksum-maven-plugin.version>1.2</checksum-maven-plugin.version>
		<skipTests>false</skipTests>
	</properties>
	<parent>
		<groupId>org.apache</groupId>
		<artifactId>apache</artifactId>
		<version>16</version>
	</parent>
	<scm>
		<url>https://git-wip-us.apache.org/repos/asf?p=metamodel.git</url>
		<connection>scm:git:http://git-wip-us.apache.org/repos/asf/metamodel.git</connection>
		<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/metamodel.git</developerConnection>
		<tag>MetaModel-4.5.1</tag>
	</scm>
	<groupId>org.apache.metamodel</groupId>
	<artifactId>MetaModel</artifactId>
	<version>4.5.1</version>
	<name>MetaModel</name>
	<description>MetaModel is a library that encapsulates the differences and enhances 
		the capabilities of different datastores. Rich querying abilities are
		offered to datastores that do not otherwise support advanced querying
		and a unified view of the datastore structure is offered through a
		single model of the schemas, tables, columns and relationships.</description>
	<url>http://metamodel.apache.org</url>
	<inceptionYear>2007</inceptionYear>
	<packaging>pom</packaging>
	<modules>
		<module>core</module>
		<module>pojo</module>
		<module>fixedwidth</module>
		<module>excel</module>
		<module>csv</module>
		<module>json</module>
		<module>xml</module>
		<module>jdbc</module>
		<module>elasticsearch</module>
		<module>hadoop</module>
		<module>hbase</module>
		<module>cassandra</module>
		<module>mongodb</module>
		<module>couchdb</module>
		<module>openoffice</module>
		<module>salesforce</module>
		<module>sugarcrm</module>
		<module>full</module>
		<module>spring</module>
		<module>neo4j</module>
	</modules>
	<issueManagement>
		<system>Jira</system>
		<url>https://issues.apache.org/jira/browse/METAMODEL</url>
	</issueManagement>
	<mailingLists>
		<mailingList>
			<name>Development</name>
			<post>dev@metamodel.apache.org</post>
			<subscribe>dev-subscribe@metamodel.apache.org</subscribe>
			<unsubscribe>dev-unsubscribe@metamodel.apache.org</unsubscribe>
			<archive>http://mail-archives.apache.org/mod_mbox/metamodel-dev/</archive>
		</mailingList>
		<mailingList>
			<name>Commits</name>
			<post>commits@metamodel.apache.org</post>
			<subscribe>commits-subscribe@metamodel.apache.org</subscribe>
			<unsubscribe>commits-unsubscribe@metamodel.apache.org</unsubscribe>
			<archive>http://mail-archives.apache.org/mod_mbox/metamodel-commits/</archive>
		</mailingList>
	</mailingLists>
	<organization>
		<name>The Apache Software Foundation</name>
		<url>http://www.apache.org/</url>
	</organization>
	<developers>
		<developer>
			<id>kasper</id>
			<name>Kasper Sørensen</name>
			<email>kasper.sorensen@humaninference.com</email>
			<url>http://kasper.eobjects.org</url>
			<organization>Human Inference</organization>
			<organizationUrl>http://www.humaninference.com</organizationUrl>
		</developer>
	</developers>
	<contributors>
		<contributor>
			<name>Francisco Javier Cano</name>
			<organization>Stratio</organization>
		</contributor>
		<contributor>
			<name>Saurabh Gupta</name>
			<organization>Xebia India</organization>
		</contributor>
		<contributor>
			<name>Balendra Singh</name>
			<organization>Xebia India</organization>
		</contributor>
		<contributor>
			<name>Sameer Arora</name>
			<organization>Xebia India</organization>
		</contributor>
	</contributors>
	<licenses>
		<license>
			<name>The Apache Software License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
		</license>
	</licenses>
	<distributionManagement>
		<repository>
			<id>apache.releases.https</id>
			<name>Apache Release Distribution Repository</name>
			<url>https://repository.apache.org/service/local/staging/deploy/maven2</url>
		</repository>
		<snapshotRepository>
			<id>apache.snapshots.https</id>
			<name>Apache Development Snapshot Repository</name>
			<url>https://repository.apache.org/content/repositories/snapshots</url>
		</snapshotRepository>
	</distributionManagement>

	<repositories>
		<repository>
			<id>apache.snapshots</id>
			<url>http://repository.apache.org/snapshots/</url>
			<name>Apache Snapshot Repo</name>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
			<releases>
				<enabled>false</enabled>
			</releases>
		</repository>
	</repositories>

	<build>
		<plugins>
			<plugin>
				<!-- Ensures java 7 compatibility -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
					<encoding>utf-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.rat</groupId>
				<artifactId>apache-rat-plugin</artifactId>
				<executions>
					<execution>
						<id>rat-verify</id>
						<phase>validate</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<configuration>
					<autoVersionSubmodules>true</autoVersionSubmodules>
					<goals>deploy</goals>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.scm</groupId>
						<artifactId>maven-scm-provider-gitexe</artifactId>
						<version>1.9.2</version>
					</dependency>
				</dependencies>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
			</plugin>

			<plugin>
				<groupId>org.codehaus.sonar</groupId>
				<artifactId>sonar-maven3-plugin</artifactId>
				<version>2.8</version>
			</plugin>

			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.5.2</version>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<dependencies>
					<dependency>
						<!-- Provide support for scp based deployment of site -->
						<groupId>org.apache.maven.wagon</groupId>
						<artifactId>wagon-ssh</artifactId>
						<version>${sshwagon.version}</version>
					</dependency>
				</dependencies>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<executions>
					<execution>
						<!-- create aggregate report when "mvn site" is invoked. -->
						<id>aggregate</id>
						<goals>
							<goal>aggregate</goal>
						</goals>
						<phase>site</phase>
						<configuration>
							<excludePackageNames>org.apache.metamodel.jdbc.dialects:org.apache.metamodel.detect</excludePackageNames>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>net.ju-n.maven.plugins</groupId>
				<artifactId>checksum-maven-plugin</artifactId>
				<version>${checksum-maven-plugin.version}</version>
			</plugin>

			<plugin>
				<!-- enforce certain banned dependencies -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<executions>
					<execution>
						<id>enforce-versions</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<bannedDependencies>
									<excludes>
										<exclude>commons-logging:commons-logging:compile</exclude>
										<exclude>org.codehaus.jackson:compile</exclude>

										<!-- commons-beanutils-core is redundant when we already depend 
											on commons-beanutils -->
										<exclude>commons-beanutils:commons-beanutils-core:*</exclude>

										<!-- stax-api is overlapping with xml-apis -->
										<exclude>stax:stax-api:*</exclude>
										<exclude>javax.xml.stream:stax-api</exclude>

										<!-- findbugs-annotations is overlapping with annotations -->
										<exclude>com.github.stephenc.findbugs:findbugs-annotations:*</exclude>
									</excludes>
								</bannedDependencies>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>

		</plugins>

		<extensions>
			<extension>
				<!-- Provide support for scp based deployment of site -->
				<groupId>org.apache.maven.wagon</groupId>
				<artifactId>wagon-ssh</artifactId>
				<version>${sshwagon.version}</version>
			</extension>
		</extensions>

		<pluginManagement>
			<plugins>
				<plugin>
					<!-- Ignore instructions for m2e (overrides eclipse warning) -->
					<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,)</versionRange>
										<goals>
											<goal>enforce</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.apache.rat
										</groupId>
										<artifactId>
											apache-rat-plugin
										</artifactId>
										<versionRange>
											[0.8,)
										</versionRange>
										<goals>
											<goal>check</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.rat</groupId>
					<artifactId>apache-rat-plugin</artifactId>
					<configuration>
						<licenses>
							<license implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
								<licenseFamilyCategory>ASL20</licenseFamilyCategory>
								<licenseFamilyName>Apache Software License, 2.0</licenseFamilyName>
								<notes>Single licensed ASL v2.0</notes>
								<patterns>
									<pattern>Licensed to the Apache Software Foundation (ASF) under
										one
										or more contributor license agreements.</pattern>
								</patterns>
							</license>
						</licenses>
						<excludeSubProjects>false</excludeSubProjects>
						<excludes>
							<exclude>KEYS</exclude>
							<exclude>*.md</exclude>
							<exclude>example-metamodel-integrationtest-configuration.properties</exclude>
							<exclude>travis-metamodel-integrationtest-configuration.properties</exclude>
							<exclude>**/src/assembly/metamodel-packaged-assembly-descriptor.xml</exclude>
							<exclude>**/.gitignore/**</exclude>
							<exclude>.git/**</exclude>
							<exclude>**/src/test/resources/**</exclude>
							<exclude>**/src/site/**</exclude>
							<exclude>**/.project</exclude>
							<exclude>**/.classpath</exclude>
							<exclude>**/.settings/**</exclude>
							<exclude>**/.travis.yml</exclude>
							<exclude>**/target/**</exclude>
							<exclude>**/*.iml/**</exclude>
							<exclude>**/*.iws/**</exclude>
							<exclude>**/*.ipr/**</exclude>
							<exclude>**/.idea/**</exclude>
							<exclude>**/tattletale-filters.properties</exclude>
							<exclude>DEPENDENCIES</exclude>
							<exclude>DISCLAIMER</exclude>
							<exclude>neo4j-community-*/**</exclude>
						</excludes>
					</configuration>
				</plugin>

			</plugins>
		</pluginManagement>
	</build>
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>${javadoc.version}</version>
				<reportSets>
					<reportSet>
						<id>aggregate</id>
						<reports>
							<report>aggregate</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<dependencyDetailsEnabled>false</dependencyDetailsEnabled>
					<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
				</configuration>
			</plugin>
		</plugins>
	</reporting>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>${guava.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>${httpcomponents.version}</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>commons-beanutils</groupId>
				<artifactId>commons-beanutils</artifactId>
				<version>1.9.2</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>net.sourceforge.findbugs</groupId>
				<artifactId>annotations</artifactId>
				<version>1.3.2</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpcore</artifactId>
				<version>${httpcomponents.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient-cache</artifactId>
				<version>${httpcomponents.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-lang</groupId>
				<artifactId>commons-lang</artifactId>
				<version>2.6</version>
			</dependency>
			<dependency>
				<groupId>commons-codec</groupId>
				<artifactId>commons-codec</artifactId>
				<version>1.7</version>
			</dependency>
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>2.4</version>
			</dependency>
			<dependency>
				<groupId>commons-pool</groupId>
				<artifactId>commons-pool</artifactId>
				<version>1.6</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>jcl-over-slf4j</artifactId>
				<version>${slf4j.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>com.fasterxml.jackson.datatype</groupId>
				<artifactId>jackson-datatype-json-org</artifactId>
				<version>${jackson.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.codehaus.jackson</groupId>
						<artifactId>jackson-core-asl</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.jackson</groupId>
						<artifactId>jackson-mapper-asl</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>hsqldb</groupId>
				<artifactId>hsqldb</artifactId>
				<version>1.8.0.10</version>
			</dependency>

			<!-- Hadoop -->
			<dependency>
				<groupId>org.apache.hadoop</groupId>
				<artifactId>hadoop-client</artifactId>
				<version>${hadoop.version}</version>
				<exclusions>
					<exclusion>
						<artifactId>jetty-util</artifactId>
						<groupId>org.mortbay.jetty</groupId>
					</exclusion>
					<exclusion>
						<groupId>com.github.stephenc.findbugs</groupId>
						<artifactId>findbugs-annotations</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.jackson</groupId>
						<artifactId>jackson-mapper-asl</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.jackson</groupId>
						<artifactId>jackson-core</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.jackson</groupId>
						<artifactId>jackson-core-asl</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.jackson</groupId>
						<artifactId>jackson-jaxrs</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.jackson</groupId>
						<artifactId>jackson-xc</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.hadoop</groupId>
				<artifactId>hadoop-mapreduce-client-core</artifactId>
				<version>${hadoop.version}</version>
				<exclusions>
					<exclusion>
						<groupId>javax.xml.stream</groupId>
						<artifactId>stax-api</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.hadoop</groupId>
				<artifactId>hadoop-common</artifactId>
				<version>${hadoop.version}</version>
				<exclusions>
					<exclusion>
						<groupId>jdk.tools</groupId>
						<artifactId>jdk.tools</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-log4j12</artifactId>
					</exclusion>
					<exclusion>
						<artifactId>log4j</artifactId>
						<groupId>log4j</groupId>
					</exclusion>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
					<exclusion>
						<groupId>commons-beanutils</groupId>
						<artifactId>commons-beanutils-core</artifactId>
					</exclusion>
					<exclusion>
						<artifactId>jetty</artifactId>
						<groupId>org.mortbay.jetty</groupId>
					</exclusion>
					<exclusion>
						<artifactId>jetty-util</artifactId>
						<groupId>org.mortbay.jetty</groupId>
					</exclusion>
					<exclusion>
						<groupId>tomcat</groupId>
						<artifactId>jasper-runtime</artifactId>
					</exclusion>
					<exclusion>
						<groupId>tomcat</groupId>
						<artifactId>jasper-compiler</artifactId>
					</exclusion>
					<exclusion>
						<groupId>javax.servlet</groupId>
						<artifactId>servlet-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>google-collections</groupId>
						<artifactId>google-collections</artifactId>
					</exclusion>
					<exclusion>
						<groupId>net.sourceforge.collections</groupId>
						<artifactId>collections-generic</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey</groupId>
						<artifactId>jersey-core</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey</groupId>
						<artifactId>jersey-server</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.mortbay.jetty</groupId>
						<artifactId>jsp-2.1</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.sun.jersey</groupId>
						<artifactId>jersey-json</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.mortbay.jetty</groupId>
						<artifactId>jsp-api-2.1</artifactId>
					</exclusion>
					<exclusion>
						<groupId>io.netty</groupId>
						<artifactId>netty</artifactId>
					</exclusion>
					<exclusion>
						<groupId>commons-httpclient</groupId>
						<artifactId>commons-httpclient</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.jackson</groupId>
						<artifactId>jackson-mapper-asl</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.jackson</groupId>
						<artifactId>jackson-core</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.jackson</groupId>
						<artifactId>jackson-core-asl</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.jackson</groupId>
						<artifactId>jackson-jaxrs</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.codehaus.jackson</groupId>
						<artifactId>jackson-xc</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<!-- Test dependencies -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.easymock</groupId>
				<artifactId>easymock</artifactId>
				<version>${easymock.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-nop</artifactId>
				<version>${slf4j.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-simple</artifactId>
				<version>${slf4j.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
				<version>${slf4j.version}</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
</project>
