<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright 2011
  Ubiquitous Knowledge Processing (UKP) Lab
  Technische Universität Darmstadt

  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 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.dkpro</groupId>
    <artifactId>dkpro-parent-pom</artifactId>
    <version>16</version>
  </parent>
  <groupId>org.dkpro.lab</groupId>
  <artifactId>dkpro-lab</artifactId>
  <version>0.14.0</version>
  <packaging>pom</packaging>
  <name>DKPro Lab</name>
  <url>http://dkpro.github.io/dkpro-lab/</url>
  <description>DKPro Lab is a lightweight framework for parameter sweeping experiments. It allows to set up experiments consisting of multiple interdependent tasks in a declarative manner with minimal overhead. Parameters are injected into tasks using via annotated class fields. Data produced by a task for any particular parameter configuration is stored and re-used whenever possible to avoid the needless recalculation of results. Reports can be attached to each task to post-process the experimental results and present them in a convenient manner, e.g. as tables or charts.</description>
  <issueManagement>
    <url>https://github.com/dkpro/dkpro-lab/issues</url>
    <system>GitHub Issues</system>
  </issueManagement>
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <properties>
    <uima.core.version>2.10.2</uima.core.version>
    <uima.as.version>2.8.1</uima.as.version>
    <uima.fit.version>2.4.0</uima.fit.version>
    <spring.version>3.2.16.RELEASE</spring.version>
    <activemq.version>5.13.2</activemq.version>
    <batik.version>1.9.1</batik.version>
    <slf4j.version>1.7.25</slf4j.version>
    <xalan.version>2.7.1</xalan.version>
    <xerces.version>2.9.1</xerces.version>
  </properties>
  <modules>
    <module>dkpro-lab-core</module>
    <module>dkpro-lab-groovy</module>
    <module>dkpro-lab-ml-example</module>
    <module>dkpro-lab-support-slf4j</module>
    <module>dkpro-lab-uima</module>
    <module>dkpro-lab-uima-engine-simple</module>
    <module>dkpro-lab-uima-engine-cpe</module>
    <!-- >module>dkpro-lab-uima-engine-uimaas</module -->
    <module>dkpro-lab-doc</module>
  </modules>
  <repositories>
    <repository>
      <id>ukp-oss-snapshots</id>
      <url>http://zoidberg.ukp.informatik.tu-darmstadt.de/artifactory/public-snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <!-- - For uimaFIT snapshots <repository> <id>apache.snapshots</id> <name>Apache
      Snapshot Repository</name> <url>http://repository.apache.org/snapshots</url>
      <releases> <enabled>false</enabled> </releases> </repository> -->
  </repositories>
  <dependencyManagement>
    <dependencies>
      <!-- MODULES -->
      <dependency>
        <groupId>org.dkpro.lab</groupId>
        <artifactId>dkpro-lab-core</artifactId>
        <version>0.14.0</version>
      </dependency>
      <dependency>
        <groupId>org.dkpro.lab</groupId>
        <artifactId>dkpro-lab-groovy</artifactId>
        <version>0.14.0</version>
      </dependency>
      <dependency>
        <groupId>org.dkpro.lab</groupId>
        <artifactId>dkpro-lab-ml-example</artifactId>
        <version>0.14.0</version>
      </dependency>
      <dependency>
        <groupId>org.dkpro.lab</groupId>
        <artifactId>dkpro-lab-support-slf4j</artifactId>
        <version>0.14.0</version>
      </dependency>
      <dependency>
        <groupId>org.dkpro.lab</groupId>
        <artifactId>dkpro-lab-uima</artifactId>
        <version>0.14.0</version>
      </dependency>
      <dependency>
        <groupId>org.dkpro.lab</groupId>
        <artifactId>dkpro-lab-uima-engine-cpe</artifactId>
        <version>0.14.0</version>
      </dependency>
      <dependency>
        <groupId>org.dkpro.lab</groupId>
        <artifactId>dkpro-lab-uima-engine-simple</artifactId>
        <version>0.14.0</version>
      </dependency>

      <!-- UIMA/UIMAFIT -->
      <dependency>
        <groupId>org.apache.uima</groupId>
        <artifactId>uimaj-core</artifactId>
        <version>${uima.core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.uima</groupId>
        <artifactId>uimaj-cpe</artifactId>
        <version>${uima.core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.uima</groupId>
        <artifactId>uimaj-tools</artifactId>
        <version>${uima.core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.uima</groupId>
        <artifactId>uimafit-core</artifactId>
        <version>${uima.fit.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.uima</groupId>
        <artifactId>uimafit-legacy-support</artifactId>
        <version>${uima.fit.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.uima</groupId>
        <artifactId>uimafit-cpe</artifactId>
        <version>${uima.fit.version}</version>
      </dependency>

      <!-- LOGGING -->
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging-api</artifactId>
        <version>1.1</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
        <exclusions>
          <exclusion>
            <artifactId>mail</artifactId>
            <groupId>javax.mail</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jms</artifactId>
            <groupId>javax.jms</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jmxtools</artifactId>
            <groupId>com.sun.jdmk</groupId>
          </exclusion>
          <exclusion>
            <artifactId>jmxri</artifactId>
            <groupId>com.sun.jmx</groupId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- SPRING FRAMEWORK -->
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jms</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
      </dependency>

      <!-- PDF RENDERING -->
      <dependency>
        <groupId>org.apache.xmlgraphics</groupId>
        <artifactId>xmlgraphics-commons</artifactId>
        <version>2.2</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.xmlgraphics</groupId>
        <artifactId>batik-svggen</artifactId>
        <version>${batik.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.xmlgraphics</groupId>
        <artifactId>batik-bridge</artifactId>
        <version>${batik.version}</version>
        <exclusions>
          <exclusion>
            <groupId>xalan</groupId>
            <artifactId>xalan</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.xmlgraphics</groupId>
            <artifactId>batik-script</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.xmlgraphics</groupId>
        <artifactId>batik-dom</artifactId>
        <version>${batik.version}</version>
        <exclusions>
          <exclusion>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
          </exclusion>
          <exclusion>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis-ext</artifactId>
          </exclusion>
          <exclusion>
            <groupId>xalan</groupId>
            <artifactId>xalan</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.xmlgraphics</groupId>
        <artifactId>batik-gvt</artifactId>
        <version>${batik.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.xmlgraphics</groupId>
        <artifactId>fop</artifactId>
        <version>2.1</version>
        <exclusions>
          <exclusion>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
          </exclusion>
          <exclusion>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis-ext</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.avalon.framework</groupId>
        <artifactId>avalon-framework-impl</artifactId>
        <version>4.3.1</version>
      </dependency>

      <!-- XML -->
      <dependency>
        <groupId>xalan</groupId>
        <artifactId>xalan</artifactId>
        <version>${xalan.version}</version>
      </dependency>
      <dependency>
        <groupId>xalan</groupId>
        <artifactId>serializer</artifactId>
        <version>${xalan.version}</version>
      </dependency>
      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>${xerces.version}</version>
      </dependency>

      <!-- MISC -->
      <dependency>
        <groupId>org.jfree</groupId>
        <artifactId>jfreechart</artifactId>
        <version>1.0.19</version>
      </dependency>
      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
      </dependency>
      <dependency>
        <groupId>org.safehaus.jug</groupId>
        <artifactId>jug</artifactId>
        <version>2.0.0</version>
        <classifier>asl</classifier>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy</artifactId>
        <version>2.4.6</version>
      </dependency>

      <!-- - UIMA-AS module does currently not work -->
      <dependency>
        <groupId>org.dkpro.lab</groupId>
        <artifactId>dkpro-lab-uima-engine-uimaas</artifactId>
        <version>0.14.0-SNAPSHOT</version>
      </dependency>
      <dependency>
        <groupId>org.apache.uima</groupId>
        <artifactId>uimaj-as-core</artifactId>
        <version>${uima.as.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>spring</artifactId>
            <groupId>org.springframework</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.uima</groupId>
        <artifactId>uimaj-as-jms</artifactId>
        <version>${uima.as.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>spring</artifactId>
            <groupId>org.springframework</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.uima</groupId>
        <artifactId>uimaj-as-activemq</artifactId>
        <version>${uima.as.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>spring</artifactId>
            <groupId>org.springframework</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>1.6.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-all</artifactId>
        <version>${activemq.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-core</artifactId>
        <version>${activemq.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-jaas</artifactId>
        <version>${activemq.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-web</artifactId>
        <version>${activemq.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-spring</artifactId>
        <version>${activemq.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>kahadb</artifactId>
        <version>${activemq.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <scm>
    <connection>scm:git:https://github.com/dkpro/dkpro-lab.git</connection>
    <developerConnection>scm:git:https://github.com/dkpro/dkpro-lab.git</developerConnection>
    <url>https://github.com/dkpro/dkpro-lab</url>
    <tag>dkpro-lab-0.14.0</tag>
  </scm>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.5.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.19.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>0.11</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>1.10</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <notimestamp>true</notimestamp>
          <!-- Exclude UIMA types -->
          <excludePackageNames>*.type</excludePackageNames>
          <groups>
            <group>
              <title>Core framework</title>
              <packages>org.dkpro.lab*</packages>
            </group>
            <group>
              <title>UIMA support</title>
              <packages>org.dkpro.lab.uima*</packages>
            </group>
            <group>
              <title>Groovy support</title>
              <packages>org.dkpro.lab.groovy*</packages>
            </group>
            <group>
              <title>Examples</title>
              <packages>org.dkpro.lab.ml.example*</packages>
            </group>
            <group>
              <title>Internal APIs - not for public use</title>
              <packages>org.dkpro.lab.engine.impl*:org.dkpro.lab.logging.impl*:org.dkpro.lab.resteasy*:org.dkpro.lab.storage.filesystem*</packages>
            </group>
            <!-- <group> <title>EXPERIMENTAL - may not be useful at all</title>
              <packages>org.dkpro.lab.uima.engine.uimaas*</packages> </group> -->
          </groups>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>enforce-java</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <!-- - Currently does not build on JDK 8 - See: https://code.google.com/p/dkpro-lab/issues/detail?id=52
                  - - Min: DKPro Core 1.6.0 requires Java 7 - Max: Currently does not build
                  on Java 8 -->
                <requireJavaVersion>
                  <version>[1.7.0,)</version>
                </requireJavaVersion>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <!-- Used while still deploying to UKP OSS repository -->
    <extensions>
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-webdav</artifactId>
        <version>1.0-beta-2</version>
      </extension>
    </extensions>
  </build>
  <profiles>
    <profile>
      <id>groovy</id>
      <activation>
        <file>
          <exists>src/main/groovy</exists>
        </file>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.codehaus.groovy</groupId>
          <artifactId>groovy</artifactId>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <compilerId>groovy-eclipse-compiler</compilerId>
              <verbose>true</verbose>
            </configuration>
            <dependencies>
              <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-eclipse-compiler</artifactId>
                <version>2.9.2-01</version>
              </dependency>
              <!-- Need to add this new dependency in Groovy 2.8.0+ http://groovy.codehaus.org/Groovy-Eclipse+2.8.0+New+and+Noteworthy -->
              <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-eclipse-batch</artifactId>
                <version>2.4.3-01</version>
              </dependency>
            </dependencies>
          </plugin>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>add-source</id>
                <phase>generate-sources</phase>
                <goals>
                  <goal>add-source</goal>
                </goals>
                <configuration>
                  <sources>
                    <source>src/main/groovy</source>
                  </sources>
                </configuration>
              </execution>
              <execution>
                <id>add-test-source</id>
                <phase>generate-test-sources</phase>
                <goals>
                  <goal>add-test-source</goal>
                </goals>
                <configuration>
                  <sources>
                    <source>src/test/groovy</source>
                  </sources>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>rat-check</id>
      <activation>
        <file>
          <exists>src/main</exists>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
            <executions>
              <execution>
                <id>default</id>
                <phase>verify</phase>
                <goals>
                  <goal>check</goal>
                </goals>
                <configuration>
                  <excludes>
                    <!-- release generated artifact -->
                    <exclude>release.properties</exclude>
                    <exclude>CHANGES</exclude>
                    <exclude>NOTICE</exclude>
                    <exclude>README</exclude>
                    <exclude>**/.gitignore</exclude>
                    <exclude>src/main/resources/**/*</exclude>
                    <exclude>src/test/resources/**/*</exclude>
                    <!-- generated JCas wrappers -->
                    <exclude>src/main/java/**/type/**/*</exclude>
                    <!-- Eclipse meta data -->
                    <exclude>.springBeans</exclude>
                  </excludes>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>m2e</id>
      <activation>
        <property>
          <name>m2e.version</name>
        </property>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.eclipse.m2e</groupId>
              <artifactId>lifecycle-mapping</artifactId>
              <version>1.0.0</version>
              <configuration>
                <lifecycleMappingMetadata>
                  <pluginExecutions>
                    <pluginExecution>
                      <pluginExecutionFilter>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <versionRange>[1,)</versionRange>
                        <goals>
                          <goal>enforce</goal>
                        </goals>
                      </pluginExecutionFilter>
                      <action>
                        <ignore />
                      </action>
                    </pluginExecution>
                  </pluginExecutions>
                </lifecycleMappingMetadata>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
  </profiles>
  <organization>
    <url>https://www.ukp.tu-darmstadt.de/</url>
    <name>Ubiquitous Knowledge Processing (UKP) Lab, Technische Universität Darmstadt</name>
  </organization>
</project>