<?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.3</sshwagon.version>
		<javadoc.version>2.9</javadoc.version>
		<slf4j.version>1.7.4</slf4j.version>
		<junit.version>4.11</junit.version>
		<easymock.version>3.1</easymock.version>
		<httpcomponents.version>4.2.3</httpcomponents.version>
		<!-- Version printed in the docs -->
		<siteDownloadVersion>${project.version}</siteDownloadVersion>
		<checksum-maven-plugin.version>1.2</checksum-maven-plugin.version>
		<skipTests>false</skipTests>
	</properties>
	<parent>
		<groupId>org.apache</groupId>
		<artifactId>apache</artifactId>
		<version>13</version>
	</parent> 
	<scm>
		<url>https://git-wip-us.apache.org/repos/asf?p=incubator-metamodel.git</url>
		<connection>scm:git:http://git-wip-us.apache.org/repos/asf/incubator-metamodel.git</connection>
		<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-metamodel.git</developerConnection>
	</scm>
	<groupId>org.apache.metamodel</groupId>
	<artifactId>MetaModel</artifactId>
	<version>4.0.1-incubating-SNAPSHOT</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.incubator.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>xml</module>
		<module>jdbc</module>
		<module>mongodb</module>
		<module>couchdb</module>
		<module>openoffice</module>
		<module>salesforce</module>
		<module>sugarcrm</module>
		<module>full</module>
	</modules>
	<issueManagement>
		<system>Jira</system>
		<url>https://issues.apache.org/jira/browse/METAMODEL</url>
	</issueManagement>
	<mailingLists>
		<mailingList>
			<name>Development</name>
			<post>dev@metamodel.incubator.apache.org</post>
			<subscribe>dev-subscribe@metamodel.incubator.apache.org</subscribe>
			<unsubscribe>dev-unsubscribe@metamodel.incubator.apache.org</unsubscribe>
			<archive>http://mail-archives.apache.org/mod_mbox/incubator-metamodel-dev/</archive>
		</mailingList>
		<mailingList>
			<name>Commits</name>
			<post>commits@metamodel.incubator.apache.org</post>
			<subscribe>commits-subscribe@metamodel.incubator.apache.org</subscribe>
			<unsubscribe>commits-unsubscribe@metamodel.incubator.apache.org</unsubscribe>
			<archive>http://mail-archives.apache.org/mod_mbox/incubator-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>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 6 compatibility -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.6</source>
					<target>1.6</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>
				</configuration>
			</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</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>
							</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>CHANGES.txt</exclude>
							<exclude>README</exclude>
							<exclude>NOTICE.txt</exclude>
							<exclude>LICENSE.txt</exclude>
							<exclude>KEYS</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>**/target/**</exclude>
							<exclude>DEPENDENCIES</exclude>
							<exclude>DISCLAIMER</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>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>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>org.codehaus.jackson</groupId>
				<artifactId>jackson-core-asl</artifactId>
				<version>1.9.12</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-mapper-asl</artifactId>
				<version>1.9.12</version>
			</dependency>
			<dependency>
				<groupId>hsqldb</groupId>
				<artifactId>hsqldb</artifactId>
				<version>1.8.0.10</version>
			</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-log4j12</artifactId>
				<version>${slf4j.version}</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
</project>
