<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright 2005 The Apache Software Foundation

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->

<project>
    <pomVersion>3</pomVersion>
    <extend>../project.xml</extend>
    <!-- ============== -->
    <!-- Identification -->
    <!-- ============== -->
    <name>JDO2 Implementation (Enhancer)</name>
    <groupId>org.apache.jdo</groupId>
    <artifactId>jdo2-enhancer</artifactId>
    <currentVersion>2.0.1</currentVersion>
    <package>org.apache.jdo</package>
    <shortDescription>Java Data Objects 2.0 (JDO) Enhancer</shortDescription>
    <description>The Java Data Objects 2.0 (JDO) API is a standard interface-based 
Java model abstraction of persistence, developed as Java Specification 
Request JSR 243 under the auspices of the Java Community Process.</description>
    <repository />
    <!-- ============ -->
    <!-- Dependencies -->
    <!-- ============ -->
    <dependencies>
        <dependency>
            <groupId>javax.jdo</groupId>
            <artifactId>jdo2-api</artifactId>
            <version>2.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.jdo</groupId>
            <artifactId>jdo2-core</artifactId>
            <version>2.0.1</version>
        </dependency>
        <dependency>
            <id>commons-logging</id>
            <version>1.0.4</version>
        </dependency>
    </dependencies>
    <!-- =================== -->
    <!-- Build Specification -->
    <!-- =================== -->
    <build>
        <sourceDirectory>src/java</sourceDirectory>
        <!-- J A R  R E S O U R C E S -->
        <!-- Resources that are packaged up inside the JAR file -->
        <resources>
            <resource>
                <directory>${basedir}/src/java</directory>
                <includes>
                    <include>**/*.properties</include>
                </includes>
            </resource>
        </resources>
    </build>
</project>

