<?xml version="1.0" encoding="UTF-8"?>

<project>

  <pomVersion>3</pomVersion>
  <name>Turbine JCS</name>
  <id>jcs</id>
  <currentVersion>1.2.3-dev</currentVersion>
  <organization>
    <name>Apache Software Foundation</name>
    <url>http://jakarta.apache.org/</url>
    <logo>/images/jakarta.png</logo>
  </organization>
  <inceptionYear>2002</inceptionYear>
  <package>org.apache.jcs</package>
  <logo>/images/blue-logo.gif</logo>


  <gumpRepositoryId>jakarta</gumpRepositoryId>


  <shortDescription>Cache</shortDescription>
  <description>Comprehensive Caching System</description>
  <url>http://jakarta.apache.org/turbine/jcs/</url>
  <issueTrackingUrl>http://issues.apache.org/scarab/servlet/scarab/</issueTrackingUrl>
  <siteAddress>minotaur.apache.org</siteAddress>
  <siteDirectory>/www/jakarta.apache.org/turbine/jcs/</siteDirectory>
  <distributionDirectory>/www/jakarta.apache.org/builds/jakarta-turbine-jcs/</distributionDirectory>


  <repository>
    <connection>scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:jakarta-turbine-jcs</connection>
    <developerConnection>scm:cvs:ext:${maven.username}@cvs.apache.org:/home/cvs:jakarta-turbine-jcs</developerConnection>
    <url>http://cvs.apache.org/viewcvs/jakarta-turbine-jcs/</url>
  </repository>


  <mailingLists>
    <mailingList>
      <name>JCS User List</name>
      <subscribe>turbine-jcs-user-subscribe@jakarta.apache.org</subscribe>
      <unsubscribe>turbine-jcs-user-unsubscribe@jakarta.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/eyebrowse/SummarizeList?listName=turbine-jcs-user@jakarta.apache.org</archive>
    </mailingList>
    <mailingList>
      <name>JCS Developer List</name>
      <subscribe>turbine-jcs-dev-subscribe@jakarta.apache.org</subscribe>
      <unsubscribe>turbine-jcs-dev-unsubscribe@jakarta.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/eyebrowse/SummarizeList?listName=turbine-jcs-dev@jakarta.apache.org</archive>
    </mailingList>
  </mailingLists>


  <developers>
    <developer>
      <name>Aaron Smuts</name>
      <id>asmuts</id>
      <email>asmuts@apache.org</email>
      <organization/>
    </developer>
    <developer>
      <name>James Taylor</name>
      <id>jtaylor</id>
      <email>james@jamestaylor.org</email>
      <organization/>
    </developer>
    <developer>
      <name>Hanson Char</name>
      <id>hchar</id>
      <email>hchar@apache.org</email>
      <organization/>
    </developer>
    <developer>
      <name>Travis Savo</name>
      <id>tsavo</id>
      <email>tsavo@ifilm.com</email>
      <organization>IFilm</organization>
    </developer>
  </developers>

  <contributors>
  </contributors>


  <dependencies>
    <dependency>
      <id>commons-collections</id>
      <version>3.0</version>
    </dependency>
    <dependency>
      <id>commons-configuration</id>
      <version>20030706.202021</version>
    </dependency>
    <dependency>
      <id>commons-logging</id>
      <version>1.0.3</version>
    </dependency>
    <dependency>
      <id>commons-lang</id>
      <version>2.0</version>
    </dependency>
    <dependency>
      <id>concurrent</id>
      <version>1.0</version>
    </dependency>
    <dependency>
      <id>hsqldb</id>
      <version>1.7.1</version>
    </dependency>
    <dependency>
      <id>log4j</id>
      <version>1.2.8</version>
    </dependency>
    <dependency>
      <id>servletapi</id>
      <version>2.2</version>
    </dependency>
    <dependency>
      <id>javagroups</id>
      <jar>jgroups-all-2.2.jar</jar>
    </dependency>
    <dependency>
      <id>jisp</id>
      <version>2.5.1</version>
    </dependency>
    <dependency>
      <id>tomcat</id>
      <version>3.2.1</version>
      <jar>tomcat-util-3.2.1.jar</jar>
    </dependency>
    <dependency>
      <id>velocity</id>
      <version>1.4</version>
    </dependency>
    <dependency>
      <id>junit</id>
      <version>3.8.1</version>
    </dependency>
    <dependency>
      <id>xmlrpc</id>
      <version>1.2-b1</version>
      <url>http://xml.apache.org/xmlrpc/</url>
    </dependency>
    <dependency>
      <id>xerces:xercesImpl</id>
      <version>2.6.2</version>
      <url>http://xml.apache.org/xerces2-j/</url>
    </dependency>
    <dependency>
      <id>xml-apis</id>
      <version>2.0.2</version>
      <url>http://xml.apache.org/commons/</url>
    </dependency>
    <dependency>
      <id>struts</id>
      <version>1.1</version>
      <jar>struts-1.1.jar</jar>
    </dependency>
    <dependency>
      <id>berkeleydb</id>
      <version>1.5.0</version>
    </dependency>
  </dependencies>


  <build>
    <sourceDirectory>src/java</sourceDirectory>
    <unitTestSourceDirectory>src/test</unitTestSourceDirectory>
    <aspectSourceDirectories></aspectSourceDirectories>
    <resources/>
    <unitTest>
      <includes>
        <include>**/TestDiskCacheNoMemory.java</include>
        <include>**/TestJCS.java</include>
        <include>**/TestSimpleLoad.java</include>
        <include>**/TestDiskCache.java</include>
        <include>**/TestDiskCacheConcurrent.java</include>
        <include>**/TestDiskCacheConcurrentForDeadLock.java</include>
        <include>**/TestTCPLateralCache.java</include>
	    <include>**/TestJCSvHashtablePerf.java</include>
        <include>**/TestEventQueueConcurrent.java</include>
        <include>**/TestSimpleEventHandling.java</include>
      </includes>
      <resources>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.ccf</include>
        </includes>
      </resources>
    </unitTest>
    <jars></jars>
  </build>


  <reports>
    <report>maven-jdepend-plugin</report>
    <report>maven-checkstyle-plugin</report>
    <report>maven-changes-plugin</report>
    <report>maven-changelog-plugin</report>
    <report>maven-file-activity-plugin</report>
    <report>maven-developer-activity-plugin</report>
    <report>maven-javadoc-plugin</report>
    <report>maven-jxr-plugin</report>
    <report>maven-junit-report-plugin</report>
    <!--
    <report>maven-jcoverage-plugin</report>
     -->
    <report>maven-tasklist-plugin</report>
    <report>maven-pmd-plugin</report>
    <report>maven-simian-plugin</report>
  </reports>

</project>
