<?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</groupId>
		<artifactId>gemini.dbaccess.parent</artifactId>
		<version>1.0.0.RC2</version>
		<relativePath>../../mvn_parent</relativePath>
	</parent>

	<packaging>eclipse-test-plugin</packaging>

	<artifactId>org.eclipse.gemini.dbaccess.test</artifactId>
	<version>1.0.0.RC2</version>
	<!-- <packaging>eclipse-plugin</packaging> -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.sonatype.tycho</groupId>
				<artifactId>maven-osgi-test-plugin</artifactId>
				<configuration>
					<dependencies>
						<dependency>
							<type>eclipse-plugin</type>
							<groupId>org.eclipse</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>
</project>
