<?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.RC1</version>
		<relativePath>../../mvn_parent</relativePath>
	</parent>

	<packaging>eclipse-test-plugin</packaging>

	<artifactId>org.eclipse.gemini.dbaccess.test</artifactId>
	<version>1.1.0.RC1</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>
