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

<project>
    <pomVersion>3</pomVersion>
    <name>Commons VFS</name>
    <id>commons-vfs</id>
    <logo>/images/vfs-logo-white.png</logo>
    <url>http://jakarta.apache.org/commons/sandbox/vfs/</url>
    <currentVersion>1.0-dev</currentVersion>
    <inceptionYear>2002</inceptionYear>
    <package>org.apache.commons.vfs</package>
    <shortDescription>Commons VFS</shortDescription>

    <description>
  	VFS is a Virtual File System library.
    </description>

    <organization>
        <name>The Apache Software Foundation</name>
        <url>http://jakarta.apache.org</url>
        <logo>http://jakarta.apache.org/images/original-jakarta-logo.gif</logo>
    </organization>

    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>/LICENSE.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <issueTrackingUrl>http://issues.apache.org/bugzilla/</issueTrackingUrl>  
    <siteAddress>cvs.apache.org</siteAddress>
    <siteDirectory>/www/jakarta.apache.org/commons/sandbox/vfs/</siteDirectory>
    <distributionDirectory>/www/jakarta.apache.org/builds/jakarta-commons-sandbox/vfs/</distributionDirectory> 
    <repository>
        <connection>scm:svn:http://svn.apache.org/repos/asf/jakarta/commons/sandbox/vfs/trunk</connection>
        <url>http://svn.apache.org/viewcvs.cgi</url>
    </repository>
    <mailingLists>
        <mailingList>
            <name>Commons Dev List</name>
            <subscribe>commons-dev-subscribe@jakarta.apache.org</subscribe>
            <unsubscribe>commons-dev-unsubscribe@jakarta.apache.org</unsubscribe>
            <archive>http://mail-archives.eu.apache.org/mod_mbox/jakarta-commons-dev/</archive>
        </mailingList>
        <mailingList>
            <name>Commons User List</name>
            <subscribe>commons-user-subscribe@jakarta.apache.org</subscribe>
            <unsubscribe>commons-user-unsubscribe@jakarta.apache.org</unsubscribe>
            <archive>http://mail-archives.eu.apache.org/mod_mbox/jakarta-commons-user/</archive>
        </mailingList>
    </mailingLists>

    <developers>
        <developer>
            <name>Adam Murdoch</name>
            <id>adammurdoch</id>
            <email>adammurdoch -at- apache.org</email>
            <organization></organization>
        </developer>
        <developer>
            <name>James Strachan</name>
            <id>jstrachan</id>
            <email>jstrachan -at- apache.org</email>
            <organization>SpiritSoft, Inc.</organization>
        </developer>
        <developer>
            <name>Mario Ivankovits</name>
            <id>imario</id>
            <email>imario -at- apache.org</email>
            <organization>OPS EDV Gmbh</organization>
        </developer>
    </developers>

    <contributors>
        <contributor>
            <name>Rami Ojares</name>
            <email>rami.ojares -at- elisa.fi</email>
        </contributor>
        <contributor>
            <name>Anthony Goubard</name>
            <email>adagoubard -at- chello.nl</email>
        </contributor>
        <contributor>
            <name>Christopher Ottley</name>
            <email>xknight -at- users.sourceforge.net</email>
        </contributor>
    </contributors>

    <dependencies>
        <dependency>
            <groupId>ant</groupId>
            <artifactId>ant</artifactId>
            <version>1.5</version>
        </dependency>

        <dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
            <version>1.2.1</version>
        </dependency>

        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.0.4</version>
        </dependency>

        <dependency>
            <groupId>commons-compress</groupId>
            <artifactId>commons-compress</artifactId>
            <version>20040530</version>
        </dependency>

        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.1</version>
        </dependency>

        <dependency>
            <groupId>jcifs</groupId>
            <artifactId>jcifs</artifactId>
            <version>0.8.3</version>
        </dependency>

        <dependency>
            <groupId>slide</groupId>
            <artifactId>webdavlib</artifactId>
            <version>2.0</version>
        </dependency>

        <dependency>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
            <version>2.0</version>
        </dependency>

        <dependency>
            <groupId>jsch</groupId>
            <artifactId>jsch</artifactId>
            <version>0.1.17</version>
        </dependency>

        <dependency>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
            <version>1.0.b2</version>
        </dependency>

        <dependency>
            <groupId>oro</groupId>
            <artifactId>oro</artifactId>
            <version>2.0.8</version>
        </dependency>
    </dependencies>

    <build>
        <!-- Unit test classes -->
        <unitTest>
            <includes>
                <include>**/test/*TestCase.java</include>
            </includes>
            <excludes>
                <exclude>**/test/Abstract*TestCase.java</exclude>
            </excludes>
        </unitTest>

        <!-- J A R  R E S O U R C E S -->
        <!-- Resources that are packaged up inside the JAR file -->
        <resources>
            <resource>
                <directory>src/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </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>
