<?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
        Gernot Kvas - changed artifactId to hsqldb plugin
        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.gemini</groupId>
        <artifactId>org.eclipse.gemini.dbaccess.parent</artifactId>
        <version>1.1.0.RELEASE</version>
        <relativePath>../../mvn_parent</relativePath>
    </parent>

    <artifactId>org.eclipse.gemini.dbaccess.hsqldb</artifactId>
    <version>1.1.0.RELEASE</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>
