<?xml version="1.0" encoding="UTF-8"?>

<!-- Copyright (c) 2010 SAP AG. All rights reserved. This program and the 
	accompanying materials are made available under the terms of the Eclipse 
	Public License v1.0 which accompanies this distribution, and is available 
	at http://www.eclipse.org/legal/epl-v10.html Contributors: ktsvetkov - initial 
	implementation -->

<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>

	<parent>
		<groupId>org.eclipse.gemini</groupId>
		<artifactId>org.eclipse.gemini.dbaccess.parent</artifactId>
		<version>1.1.0-SNAPSHOT</version>
		<relativePath>../../mvn_parent</relativePath>
	</parent>

	<packaging>eclipse-test-plugin</packaging>

	<artifactId>org.eclipse.gemini.dbaccess.test</artifactId>
	<version>1.1.0-SNAPSHOT</version>
	<!-- <packaging>eclipse-plugin</packaging> -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-surefire-plugin</artifactId>
				<configuration>
					<dependencies>
						<dependency>
							<type>eclipse-plugin</type>
							<groupId>org.eclipse.gemini</groupId>
							<artifactId>org.eclipse.gemini.dbaccess.derby</artifactId>
							<version>0.0.0</version>
						</dependency>
					</dependencies>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>
			
		</plugins>
	</build>
  <!-- This properties is not used by Tycho. It is used to include this project 
    into the maven repository when mvn deploy is called. The parent pom contains 
    the default value. 
   -->
  <properties>
    <skip-deploy>true</skip-deploy>
  </properties>
</project>
