<?xml version="1.0" encoding="UTF-8"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You 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>
  <artifactId>jackrabbit-index-filters</artifactId>
  <groupId>org.apache.jackrabbit</groupId>
  <name>Jackrabbit - Index filters</name>
  <currentVersion>1.1.1</currentVersion>
  <organization>
    <name>The Apache Software Foundation</name>
    <url>http://www.apache.org/</url>
    <logo>http://www.apache.org/images/asf_logo_wide.png</logo>
  </organization>
  <package>org.apache.jackrabbit.*</package>
  <logo>/images/jackrabbitlogo.gif</logo>
  <url>http://jackrabbit.apache.org/</url>
  <issueTrackingUrl>http://issues.apache.org/jira/browse/JCR</issueTrackingUrl>
  <siteDirectory>../jackrabbit-site</siteDirectory>
  <distributionSite>people.apache.org</distributionSite>
  <distributionDirectory>/www/www.apache.org/dist/java-repository/</distributionDirectory>
  <repository>
    <connection>scm:svn:http://svn.apache.org/repos/asf/jackrabbit/trunk</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/jackrabbit/trunk</developerConnection>
    <url>http://svn.apache.org/viewcvs</url>
  </repository>
  <mailingLists>
    <mailingList>
      <name>Jackrabbit Users List</name>
      <subscribe>users-subscribe at jackrabbit.apache.org</subscribe>
      <unsubscribe>users-unsubscribe at jackrabbit.apache.org</unsubscribe>
      <archive>http://jackrabbit.apache.org/mail/users/</archive>
    </mailingList>
    <mailingList>
      <name>Jackrabbit Development List</name>
      <subscribe>dev-subscribe at jackrabbit.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe at jackrabbit.apache.org</unsubscribe>
      <archive>http://jackrabbit.apache.org/mail/dev/</archive>
    </mailingList>
    <mailingList>
      <name>Jackrabbit Source Control List</name>
      <subscribe>commits-subscribe at jackrabbit.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe at jackrabbit.apache.org</unsubscribe>
      <archive>http://jackrabbit.apache.org/mail/commits/</archive>
    </mailingList>
  </mailingLists>
  <developers>
    <developer>
      <name>Roy T. Fielding</name>
      <id>fielding</id>
      <organization>Day Software</organization>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <name>Stefan Guggisberg</name>
      <id>stefan</id>
      <organization>Day Software</organization>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <name>Stefano Mazzocchi</name>
      <id>stefano</id>
      <timezone>-5</timezone>
    </developer>
    <developer>
      <name>David Nuescheler</name>
      <id>uncled</id>
      <organization>Day Software</organization>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <name>Dominique Pfister</name>
      <id>dpfister</id>
      <organization>Day Software</organization>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <name>Peeter Piegaze</name>
      <id>ppiegaze</id>
      <organization>Day Software</organization>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <name>Gianugo Rabellino</name>
      <id>gianugo</id>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <name>Tim Reilly</name>
      <id>treilly</id>
      <email>treilly at apache dot org</email>
      <timezone>-5</timezone>
    </developer>
    <developer>
      <name>Marcel Reutegger</name>
      <id>mreutegg</id>
      <organization>Day Software</organization>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <name>Paul Russell</name>
      <id>prussell</id>
      <timezone>+0</timezone>
    </developer>
    <developer>
      <name>Andrew Savory</name>
      <id>asavory</id>
      <timezone>+0</timezone>
    </developer>
    <developer>
      <name>Tobias Strasser</name>
      <id>tripod</id>
      <organization>Day Software</organization>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <name>Sylvain Wallez</name>
      <id>sylvain</id>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <name>Jukka Zitting</name>
      <id>jukka</id>
      <email>jz@yukatan.fi</email>
      <organization>Yukatan</organization>
      <timezone>+2</timezone>
    </developer>
  </developers>
  <contributors>
    <contributor>
      <name>Serge Huber</name>
      <timezone>+1</timezone>
    </contributor>
    <contributor>
      <name>Felix Meschberger</name>
      <organization>Day Software</organization>
      <timezone>+1</timezone>
    </contributor>
    <contributor>
      <name>Edgar Poce</name>
      <email>edgarpoce@gmail.com</email>
    </contributor>
    <contributor>
      <name>Angela Schreiber</name>
      <organization>Day Software</organization>
      <timezone>+1</timezone>
    </contributor>
  </contributors>
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>/LICENSE.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <dependencies>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.1</version>
      <type>jar</type>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.0</version>
      <type>jar</type>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.8</version>
      <type>jar</type>
    </dependency>
    <dependency>
      <groupId>poi</groupId>
      <artifactId>poi</artifactId>
      <version>2.5.1-final-20040804</version>
      <type>jar</type>
    </dependency>
    <dependency>
      <groupId>pdfbox</groupId>
      <artifactId>pdfbox</artifactId>
      <version>0.6.4</version>
      <type>jar</type>
    </dependency>
    <dependency>
      <groupId>org.apache.jackrabbit</groupId>
      <artifactId>jackrabbit-core</artifactId>
      <version>${pom.currentVersion}</version>
      <type>jar</type>
    </dependency>
    <dependency>
      <groupId>org.textmining</groupId>
      <artifactId>tm-extractors</artifactId>
      <version>0.4</version>
      <type>jar</type>
      <url>http://www.textmining.org</url>
    </dependency>
    <dependency>
      <groupId>jsr170</groupId>
      <artifactId>jcr</artifactId>
      <version>1.0</version>
      <type>jar</type>
      <url>http://www.day.com/maven/jsr170/jars/jcr-1.0.jar</url>
    </dependency>
    <dependency>
      <groupId>nekohtml</groupId>
      <artifactId>nekohtml</artifactId>
      <version>0.9.4</version>
      <type>jar</type>
    </dependency>
    <dependency>
      <groupId>xerces</groupId>
      <artifactId>xerces</artifactId>
      <version>2.4.0</version>
      <type>jar</type>
    </dependency>
  </dependencies>
  <build>
    <sourceDirectory>src/java</sourceDirectory>
    <unitTestSourceDirectory>src/test</unitTestSourceDirectory>
    <unitTest>
      <includes>
        <include>**/*TestAll.java</include>
      </includes>
      <resources>
        <resource>
          <directory>src/test</directory>
          <includes>
            <include>**/*.xml</include>
            <include>**/*.txt</include>
          </includes>
          <filtering>false</filtering>
        </resource>
      </resources>
    </unitTest>
    <!-- J A R  R E S O U R C E S -->
    <!-- Resources that are packaged up inside the JAR file -->
    <resources>
      <resource>
        <targetPath>META-INF</targetPath>
        <directory>.</directory>
        <includes>
          <include>README.txt</include>
        </includes>
      </resource>
      <resource>
        <directory>src/java</directory>
        <includes>
          <include>**/*.xml</include>
          <include>**/*.properties</include>
          <include>**/*.TextFilterService</include>
        </includes>
        <filtering>false</filtering>
      </resource>
    </resources>
  </build>
  <reports>
    <report>maven-changelog-plugin</report>
    <report>maven-changes-plugin</report>
    <!-- <report>maven-checkstyle-plugin</report> -->
    <!-- <report>maven-clover-plugin</report> -->
    <!-- <report>maven-developer-activity-plugin</report> -->
    <!-- <report>maven-file-activity-plugin</report> -->
    <report>maven-javadoc-plugin</report>
    <!-- <report>maven-jellydoc-plugin</report> -->
    <report>maven-junit-report-plugin</report>
    <report>maven-jxr-plugin</report>
    <report>maven-license-plugin</report>
    <!-- <report>maven-linkcheck-plugin</report> -->
    <!-- <report>maven-statcvs-plugin</report> -->
    <report>maven-tasklist-plugin</report>
  </reports>
</project>

