<?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:
        jkissner - 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>

    <artifactId>org.eclipse.gemini.dbaccess.mysql</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.gemini</groupId>
            <artifactId>org.eclipse.gemini.dbaccess.util</artifactId>
            <version>${project.parent.version}</version>
        </dependency>
    </dependencies>

</project>
