<?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>
  <name>JXPath</name>
  <groupId>commons-jxpath</groupId>
  <artifactId>commons-jxpath</artifactId>
  <currentVersion>1.3</currentVersion>
  <inceptionYear>2001</inceptionYear>
  <shortDescription>XPath for Java Objects</shortDescription>
  <description>A Java-based implementation of XPath 1.0 that, in addition to XML processing, can inspect/modify Java object graphs (the library's explicit purpose) and even mixed Java/XML structures.</description>
  <logo>/images/logo-wbg.jpg</logo> 

  <url>http://commons.apache.org/${pom.artifactId.substring(8)}/</url>
  <package>org.apache.commons.${pom.artifactId.substring(8)}</package>

  <organization> 
    <name>The Apache Software Foundation</name>
    <url>http://commons.apache.org/</url>
    <logo>http://commons.apache.org/images/logo.png</logo>
  </organization> 

  <licenses> 
    <license> 
      <name>The Apache Software License, Version 2.0</name>
      <url>/LICENSE.txt</url>
      <distribution>repo</distribution>
      </license>
   </licenses> 

  <gumpRepositoryId>commons</gumpRepositoryId>
  <issueTrackingUrl>http://issues.apache.org/jira/</issueTrackingUrl>
  <siteAddress>people.apache.org</siteAddress>
  <siteDirectory>/www/commons.apache.org/${pom.artifactId.substring(8)}/</siteDirectory>
  <distributionDirectory>/www/people.apache.org/builds/commons/${pom.artifactId.substring(8)}/</distributionDirectory>

  <repository>
    <connection>scm:svn:http://svn.apache.org/repos/asf/commons/proper/${pom.artifactId.substring(8)}/trunk</connection>
    <url>http://svn.apache.org/repos/asf/commons/proper/${pom.artifactId.substring(8)}/trunk</url>
  </repository>

  <mailingLists>
    <mailingList>
      <name>Commons Dev List</name>
      <subscribe>dev-subscribe@commons.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@commons.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/commons-dev/</archive>
    </mailingList>
    <mailingList>
      <name>Commons User List</name>
      <subscribe>user-subscribe@commons.apache.org</subscribe>
      <unsubscribe>user-unsubscribe@commons.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/commons-user/</archive>
    </mailingList>
  </mailingLists>

  <versions>
    <version>
      <id>1.2</id>
      <name>1.2</name>
      <tag>JXPATH_1_2</tag>
    </version>
  </versions>

  <developers>
    <developer>
      <name>Dmitri Plotnikov</name>
      <id>dmitri</id>
      <email>dmitri@apache.org</email>
      <organization/>
    </developer>
    <developer>
      <name>Craig McClanahan</name>
      <id>craigmcc</id>
      <email>Craig.McClanahan@eng.sun.com</email>
      <organization>Sun Microsystems</organization>
    </developer>
    <developer>
      <name>Matt Benson</name>
      <id>mbenson</id>
      <email>mbenson@apache.org</email>
    </developer>
  </developers>

  <dependencies>
    <dependency> 
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.1</version>
      <url>http://commons.apache.org/logging/</url>
      <properties>
        <comment>Required</comment>
      </properties>
    </dependency>
    <dependency>
      <groupId>xerces</groupId>
      <artifactId>xerces</artifactId>
      <version>2.4.0</version>
      <properties>
        <optional>true</optional>
        <comment>needed for XML support</comment>
      </properties>
    </dependency>
    <dependency>
      <groupId>servletapi</groupId>
      <artifactId>servletapi</artifactId>
      <version>2.4</version>
      <properties>
        <optional>true</optional>
        <scope>provided</scope>
        <comment>needed for JSP support</comment>
      </properties>
    </dependency>
    <dependency>
      <groupId>jspapi</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
      <url>http://java.sun.com/products/servlet/2.3/javadoc/index.html</url>
      <properties>
        <optional>true</optional>
        <scope>provided</scope>
        <comment>needed for JSP support</comment>
      </properties>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <type>jar</type>
      <version>3.8.1</version>
      <url>http://www.junit.org/</url>
      <properties>
        <scope>test</scope>
        <comment>testing only</comment>
      </properties>
    </dependency>
    <dependency>
      <groupId>xml-apis</groupId>
      <artifactId>xml-apis</artifactId>
      <version>2.0.2</version>
      <url>http://xml.apache.org/commons/</url>
      <properties>
        <scope>provided</scope>
        <optional>true</optional>
        <comment>needed for XML support; provided starting with Java 1.4</comment>
      </properties>
    </dependency>
    <dependency>
      <groupId>jdom</groupId>
      <artifactId>jdom</artifactId>
      <version>1.0</version>
      <url>http://www.jdom.org</url> 
      <properties>
        <optional>true</optional>
        <comment>needed for XML support</comment>
      </properties>
    </dependency>
    <dependency> 
      <groupId>commons-beanutils</groupId>
      <artifactId>commons-beanutils</artifactId>
      <version>1.7.0</version>
      <url>http://commons.apache.org/beanutils/</url>
      <properties>
        <optional>true</optional>
        <comment>needed for dynabean support</comment>
      </properties>
    </dependency>
    <dependency> 
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.2</version> 
      <url>http://commons.apache.org/collections/</url>
      <properties>
        <scope>runtime</scope>
        <comment>dependency of beanutils</comment>
      </properties>
    </dependency> 
    <dependency>
      <groupId>com.mockrunner</groupId>
      <artifactId>mockrunner-jdk1.3-j2ee1.3</artifactId>
      <version>0.4</version>
      <properties>
        <scope>test</scope>
        <comment>testing only</comment>
      </properties>
    </dependency>
    <dependency>
      <groupId>maven</groupId>
      <artifactId>maven-xdoc-plugin</artifactId>
      <version>1.9.2</version>
      <url>http://maven.apache.org/reference/plugins/xdoc/</url>
      <type>plugin</type>
      <properties>
        <optional>true</optional>
        <comment>
          &lt;strong&gt;Site Only&lt;/strong&gt; - v1.9.2 (minimum)
          required for building the Site documentation.
        </comment>
      </properties>
    </dependency>

  </dependencies>

  <build>
    <nagEmailAddress>dev@commons.apache.org</nagEmailAddress>
    <sourceDirectory>src/java</sourceDirectory>
    <unitTestSourceDirectory>src/test</unitTestSourceDirectory>
    <unitTest>
      <includes>
        <include>**/*Test.java</include>
      </includes>
      <resources>
         <resource>
            <directory>${pom.build.unitTestSourceDirectory}</directory>
            <includes>
              <include>**/*.xml</include>
            </includes>
         </resource>
      </resources>
    </unitTest>
    <resources>
      <resource>
        <directory>${basedir}</directory>
        <targetPath>META-INF</targetPath>
        <includes>
          <include>NOTICE.txt</include>
        </includes>
      </resource>
    </resources>
  </build>

  <reports>
    <report>maven-junit-report-plugin</report>

    <report>maven-jdepend-plugin</report>
    <!--report>maven-checkstyle-plugin</report-->
    <report>maven-changelog-plugin</report>
    <!--report>maven-developer-activity-plugin</report-->
    <!--report>maven-file-activity-plugin</report-->
    <report>maven-javadoc-plugin</report>
    <report>maven-jxr-plugin</report>
    <report>maven-license-plugin</report>
    <!--report>maven-linkcheck-plugin</report-->
    <report>maven-tasklist-plugin</report>
    <!--report>maven-clover-plugin</report-->
    <report>maven-junit-report-plugin</report> 

  </reports>
</project>
