<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.nlp2rdf</groupId>
    <artifactId>nlp2rdf-parent</artifactId>
    <version>1.0</version>
    <packaging>pom</packaging>
    <name>NLP2RDF Parent Pom</name>
    <url>http://aksw.org/Projects/NIF</url>
    <properties>
        <!--  tell the compiler we can use 1.6 -->
        <compiler.version>1.6</compiler.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!--Define the AKSW dependency version -->
        <aksw.version>0.1</aksw.version>
    </properties>
    <scm>
        <connection>scm:hg:https://nlp2rdf.googlecode.com/hg/</connection>
        <!-- developerConnection></developerConnection -->
        <!-- url>https://my-project.googlecode.com/svn</url -->
    </scm>
    <modules>
        <module>nif</module>
        <module>webservice</module>
        <module>owl2java</module>
        <module>annotator</module>
        <module>ontology</module>
    </modules>
    <build>
        <!--
        - Plugin Management defines the plugins that the child components can use
        - It's good practice to do this as we can ensure all children use common versions
        - of the plugins, and we can look in one place to see all plugin dependencies.
        -->
        <pluginManagement>
            <plugins>
                <!--Surefire - for JUnits-->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.4.3</version>
                </plugin>
                <!--Maven Compiler Plugin-->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.0.2</version>
                    <configuration>
                        <!--We use 1.6-->
                        <source>${compiler.version}</source>
                        <target>${compiler.version}</target>
                        <encoding>${project.build.sourceEncoding}</encoding>
                    </configuration>
                </plugin>


                <!--
                - Maven Jar Plugin - if you want to create and/or sign jars.
                - I'm putting this in so we can create a jar for the test classes
                - in components core so that other components' tests can leverage them
                -->
                <!--plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.3.1</version>
                </plugin-->
                <!--JAR the Sources-->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.1.2</version>
                </plugin>

                <!--plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.3.1</version>
                </plugin-->
                <plugin>
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>maven-jetty-plugin</artifactId>
                    <configuration>
                        <stopKey>stopKey</stopKey>
                        <stopPort>9999</stopPort>
                        <scanIntervalSeconds>1</scanIntervalSeconds>
                        <requestLog implementation="org.mortbay.jetty.NCSARequestLog">
                            <filename>log/yyyy_mm_dd.request.log</filename>
                            <retainDays>90</retainDays>
                            <append>true</append>
                            <extended>false</extended>
                            <logTimeZone>GMT</logTimeZone>
                        </requestLog>
                    </configuration>
                    <!--execution is used for testing-->
                    <!--executions>
                        <execution>
                            <id>start-jetty</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>run</goal>
                            </goals>
                            <configuration>
                                <scanIntervalSeconds>0</scanIntervalSeconds>
                                <daemon>true</daemon>
                                <stopKey>stopKey</stopKey>
                                <stopPort>9999</stopPort>
                            </configuration>
                        </execution>
                        <execution>
                            <id>stop-jetty</id>
                            <phase>post-integration-test</phase>
                            <goals>
                                <goal>stop</goal>
                            </goals>
                        </execution>
                    </executions-->
                </plugin>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <configuration>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                </plugin>

            </plugins>
        </pluginManagement>


    </build>

    <dependencyManagement>
        <!--
          - Dependency Management defines the dependencies at the parent level
          - These set the dependencies on a global level and the children are forced to use the defined version
          - We do this to ensure consistent dependencies amongst all children artifacts that are generated by this pom.
          -
          - Children still have to include the dependency, but only the groupId and artifactId as version is retrieved from the parent.
          -
          - Remember, default scope is compile in Maven.
          -->
        <dependencies>
            <!--Junits-->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.8.1</version>
                <scope>test</scope>
            </dependency>
            <!--Dependencies that are generated as part of this parent pom-->
            <dependency>
                <groupId>org.nlp2rdf</groupId>
                <artifactId>nif</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.nlp2rdf</groupId>
                <artifactId>annotator</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.nlp2rdf</groupId>
                <artifactId>ontology</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.nlp2rdf</groupId>
                <artifactId>webservice</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.16</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.6.0</version>
                <type>jar</type>
                <scope>compile</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.6.0</version>
                <type>jar</type>
                <scope>compile</scope>
            </dependency>
            <!--Available via central, we use the latest with minor mods -->
            <dependency>
                <groupId>com.hp.hpl.jena</groupId>
                <artifactId>jena</artifactId>
                <version>2.6.3</version>
            </dependency>
            <dependency>
                <groupId>com.jamonapi</groupId>
                <artifactId>jamon</artifactId>
                <version>2.7</version>
            </dependency>
            <!-- needed for the stemmer-->
            <dependency>
                <groupId>org.apache.lucene</groupId>
                <artifactId>lucene-snowball</artifactId>
                <version>3.0.3</version>
            </dependency>
            <dependency>
                <groupId>org.aksw.commons</groupId>
                <artifactId>model</artifactId>
                <version>${aksw.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>2.4</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jsp-api</artifactId>
                <version>2.0</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
                <version>1.0.3</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <repositories>
        <repository>
            <id>maven2-repository.dev.java.net</id>
            <name>Java.net Repository for Maven</name>
            <url>http://download.java.net/maven/2/</url>
            <layout>default</layout>
        </repository>
        <repository>
            <id>maven.aksw.internal</id>
            <name>University Leipzig, AKSW Maven2 Repository</name>
            <url>http://maven.aksw.org/repository/internal</url>
        </repository>
        <repository>
            <id>maven.aksw.snapshots</id>
            <name>University Leipzig, AKSW Maven2 Repository</name>
            <url>http://maven.aksw.org/repository/snapshots</url>
        </repository>
        <!--
          - This is so we can get the 1.3-SNAPSHOT of GWT Maven Plugin cause 1.2 is broken on the hudson
          -
          - Here's a good place to browse the repository: https://nexus.codehaus.org
          -->
        <!--repository>
            <id>maven.codehaus.snapshots</id>
            <name>Codehaus repository Repository</name>
            <url>https://nexus.codehaus.org/content/repositories/public</url>
        </repository-->
        <repository>
            <id>opennlp.sf.net</id>
            <url>http://opennlp.sourceforge.net/maven2</url>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>maven.codehaus.plugin.snapshots</id>
            <name>Codehaus plugin Repository</name>
            <url>https://nexus.codehaus.org/content/repositories/public</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>true</enabled>
            </releases>
        </pluginRepository>
    </pluginRepositories>
    <distributionManagement>
        <repository>
            <id>maven.aksw.internal</id>
            <name>AKSW Internal Release Repository</name>
            <url>http://maven.aksw.org/repository/internal</url>
        </repository>
        <snapshotRepository>
             <id>maven.aksw.snapshots</id>
            <name>AKSW Snapshot Repository</name>
            <url>http://maven.aksw.org/repository/snapshots</url>
             <uniqueVersion>false</uniqueVersion>
        </snapshotRepository>
    </distributionManagement>
</project>
