<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>

<!--
  <parent>
    <groupId>KorAP-modules</groupId>
    <artifactId>KorAP-core-modules</artifactId>
    <version>LATEST</version>
  </parent>
-->
  <groupId>KorAP-modules</groupId>
  <artifactId>KorAP-lucene-index</artifactId>
  <version>0.32</version>
  <packaging>jar</packaging>

  <name>KorAP-lucene-index</name>
  <url>http://www.ids-mannheim.de/</url>

  <organization>
    <name>IDS Mannheim</name>
    <url>http://www.ids-mannheim.de/</url>
  </organization>

  <developers>
    <developer>
      <name>Nils Diewald</name>
      <email>diewald@ids-mannheim.de</email>
      <url>http://nils-diewald.de</url>
    </developer>
  </developers>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>

    <!-- junit dependency -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

    <!-- log4j dependency -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.5</version>
    </dependency>

    <!-- solr dependency -->
    <dependency>
      <artifactId>solr-core</artifactId>
      <groupId>org.apache.solr</groupId>
      <version>4.3.1</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <artifactId>solr-test-framework</artifactId>
      <groupId>org.apache.solr</groupId>
      <version>4.3.1</version>
    </dependency>

    
    <!-- Lucene core dependency -->
    <dependency>
      <artifactId>lucene-core</artifactId>
      <groupId>org.apache.lucene</groupId>
      <type>jar</type>
      <version>4.3.1</version>
    </dependency>

    <!-- Lucene queryparser dependency -->
    <dependency>
      <artifactId>lucene-queryparser</artifactId>
      <groupId>org.apache.lucene</groupId>
      <type>jar</type>
      <version>4.3.1</version>
    </dependency>

    <!-- Lucene analyzers dependency -->
    <dependency>
      <artifactId>lucene-analyzers-common</artifactId>
      <groupId>org.apache.lucene</groupId>
      <type>jar</type>
      <version>4.3.1</version>
    </dependency>

    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-core</artifactId>
      <version>1.3</version>
    </dependency>

    <!-- JCache -->
    <dependency>
      <groupId>net.sf.jsr107cache</groupId>
      <artifactId>jsr107cache</artifactId>
      <version>1.0</version>
    </dependency>

    <!-- servlet dependency -->
    <dependency>
      <artifactId>servlet-api</artifactId>
      <groupId>javax.servlet</groupId>
      <version>2.5</version>
    </dependency>
    
    <!-- among others Base4 support -->
    <!--
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.4</version>
    </dependency>
    -->

    <!-- Jackson -->
    <!-- see https://github.com/FasterXML/jackson-core -->
    <!-- https://github.com/FasterXML/jackson-databind -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.2.2</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.2.2</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.2.2</version>
    </dependency>
  </dependencies>

  <build>
    <sourceDirectory>${basedir}/src/main/java</sourceDirectory>
    <outputDirectory>${basedir}/bin</outputDirectory>
    <plugins>
      <plugin>
	<artifactId>maven-compiler-plugin</artifactId>
	<version>2.3.2</version>
	<configuration>
	  <source>1.7</source>
	  <target>1.7</target>
	</configuration>
      </plugin>

      <!--
	  install the indexer and the performancetests
	  $ mvn clean compile assembly:single
	  Then run e.g.
	  $ java -jar target/KorAP-lucene-index-0.30.2-jar-with-dependencies.jar src/main/resources/korap.conf /data/hdd/lucene-new/WPD/
      -->

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2-beta-5</version>
        <configuration>
	  <!--
              <finalName>KorapTools</finalName>
	      -->
	    
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <mainClass>de.ids_mannheim.korap.KorapIndexer</mainClass>
            </manifest>
          </archive>
        
          <appendAssemblyId>false</appendAssemblyId>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
        <executions>
	  
          <execution>
            <id>KorapIndexer</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <finalName>KorapIndexer</finalName>
              <archive>
                <manifest>
		  <mainClass>de.ids_mannheim.korap.KorapIndexer</mainClass>
                </manifest>
              </archive>
            </configuration>
          </execution>
	</executions>
      </plugin>
      
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.16</version>
        <configuration>
          <excludes>
            <exclude>**/TestRealIndex.java</exclude>
            <exclude>**/benchmark/*</exclude>
            <exclude>**/TestWPDIndex.java</exclude>
	    <exclude>**/TestKorapSolr.java</exclude>
	  </excludes>
        </configuration>
      </plugin> 
    </plugins>

    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
	<includes>
	  <include>index.properties</include>
	</includes>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>false</filtering>
	<excludes>
	  <exclude>index.properties</exclude>
	</excludes>
      </resource>
    </resources> 

    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
        <filtering>true</filtering>
	<includes>
	  <include>index.properties</include>
	</includes>
      </testResource>
      <testResource>
        <directory>src/test/resources</directory>
        <filtering>false</filtering>
	<excludes>
	  <exclude>index.properties</exclude>
	</excludes>
      </testResource>
    </testResources> 

  </build>
</project>
