<?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
        jkissner - add support for maven repository and further enhancements
 -->

<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.1.0-SNAPSHOT</version>
        <relativePath>../../mvn_parent</relativePath>
    </parent>

    <artifactId>org.eclipse.gemini.dbaccess.derby</artifactId>
    <version>1.1.0-SNAPSHOT</version>
    <packaging>eclipse-plugin</packaging>

    <!-- 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>false</skip-deploy>
    </properties>

    <!-- The dependency is not used by Tycho. However the dependency is necessary
        to produce the maven repository when mvn deploy is called. Without the declaration
        below, the dependency would be missing.
     -->
    <dependencies>
        <dependency>
            <groupId>org.eclipse</groupId>
            <artifactId>org.eclipse.gemini.dbaccess.util</artifactId>
            <version>${project.parent.version}</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse</groupId>
            <artifactId>org.apache.derby</artifactId>
            <version>10.8.2.2</version>
        </dependency>
    </dependencies>

</project>
