<?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>

    <prerequisites>
        <maven>3.0</maven>
    </prerequisites>

    <groupId>org.eclipse.gemini</groupId>
    <artifactId>org.eclipse.gemini.dbaccess.parent</artifactId>
    <version>1.1.0.RELEASE</version>
    <packaging>pom</packaging>

    <name>Gemini DBAccess Parent</name>

    <properties>
        <tycho-version>0.12.0</tycho-version>
        <repositorylocation>target/maven_repository</repositorylocation>
        <skip-deploy>false</skip-deploy>
    </properties>

    <modules>
        <module>../gemini.dbaccess.targetdef</module>
        <module>../osgi.enterprise</module>
        <module>../org.eclipse.gemini.dbaccess.util</module>
        <module>../derby/org.apache.derby</module>
        <module>../derby/org.eclipse.gemini.dbaccess.derby</module>
        <module>../mysql/com.mysql.jdbc</module>
        <module>../mysql/org.eclipse.gemini.dbaccess.mysql</module>
        <module>../h2/org.h2</module>
        <module>../h2/org.eclipse.gemini.dbaccess.h2</module>
        <module>../hsqldb/org.hsqldb</module>
        <module>../hsqldb/org.eclipse.gemini.dbaccess.hsqldb</module>
        <module>../samples/org.eclipse.gemini.dbaccess.samples</module>
        <module>../test/org.eclipse.gemini.dbaccess.test</module>
        <module>../gemini.dbaccess.feature</module>
        <module>../gemini.dbaccess.mysql.feature</module>
        <module>../gemini.dbaccess.h2.feature</module>
        <module>../gemini.dbaccess.hsqldb.feature</module>
        <module>../gemini.dbaccess.updatesite</module>
    </modules>


    <build>
        <plugins>
            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>tycho-maven-plugin</artifactId>
                <version>${tycho-version}</version>
                <extensions>true</extensions>
            </plugin>
            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>target-platform-configuration</artifactId>
                <version>${tycho-version}</version>
                <configuration>
                    <resolver>p2</resolver>
                </configuration>
            </plugin>

            <!-- The deploy step is not used by Tycho. However, when mvn
                deploy is called in order to build maven repository, we do not want to include
                the feature artifact in the maven repository. Therefore the "skip" is used" 
             -->
            <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <skip>${skip-deploy}</skip>
                </configuration>
            </plugin>

        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.eclipse.tycho</groupId>
                    <artifactId>tycho-compiler-plugin</artifactId>
                    <version>${tycho-version}</version>
                    <configuration>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.4.1</version>
                    <configuration>
                        <encoding>ISO-8859-1</encoding>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.eclipse.tycho</groupId>
                    <artifactId>target-platform-configuration</artifactId>
                    <version>${tycho-version}</version>
                    <configuration>
                        <resolver>p2</resolver>
                        <target>
                            <artifact>
                                <groupId>org.eclipse.gemini</groupId>
                                <artifactId>org.eclipse.gemini.dbaccess.targetdef</artifactId>
                                <version>1.1.0.RELEASE</version>
                                <classifier>gemini.dbaccess</classifier>
                            </artifact>
                        </target>
                        <ignoreTychoRepositories>true</ignoreTychoRepositories>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>findbugs-maven-plugin</artifactId>
                    <version>2.3</version>
                    <configuration>
                        <findbugsXmlOutput>true</findbugsXmlOutput>
                        <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
                        <xmlOutput>true</xmlOutput>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>

        <sourceDirectory>src</sourceDirectory>

    </build>
    <distributionManagement>
        <repository>
            <id>DBAccess_Maven_repository</id>
            <url>file:${repositorylocation}</url>
        </repository>
    </distributionManagement>

</project>

