<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
   Copyright 2005 The Apache Software Foundation

   Licensed 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.
-->
<!-- $Id: project.xml$ -->
<project>
    <pomVersion>3</pomVersion>
    <id>commons-proxy</id>
    <name>Commons Proxy</name>
    <groupId>commons-proxy</groupId>
    <artifactId>commons-proxy</artifactId>
    <currentVersion>1.0</currentVersion>
    <organization>
        <name>Apache Software Foundation</name>
        <url>http://apache.org</url>
        <logo>http://apache.org/images/asf_logo_wide.png</logo>
    </organization>
    <inceptionYear>2005</inceptionYear>
    <package>org.apache.commons.proxy</package>
    <logo>/images/logo.png</logo>
    <shortDescription>Java library for dynamic proxying</shortDescription>
    <url>http://jakarta.apache.org/commons/sandbox/proxy</url>
    <issueTrackingUrl>http://issues.apache.org/bugzilla</issueTrackingUrl>
    <siteAddress>people.apache.org</siteAddress>
    <siteDirectory>/www/jakarta.apache.org/commons/sandbox/proxy/</siteDirectory>
    <repository>
        <connection>scm:svn:http://svn.apache.org/repos/asf/jakarta/commons/sandbox/proxy/trunk</connection>
        <url>http://svn.apache.org/viewcvs.cgi/jakarta/commons/sandbox/proxy/trunk</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.apache.org/eyebrowse/SummarizeList?listName=commons-dev@jakarta.apache.org</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.apache.org/eyebrowse/SummarizeList?listName=commons-user@jakarta.apache.org</archive>
        </mailingList>
    </mailingLists>
    <versions>
        <version>
            <id>0.1</id>
            <name>0.1</name>
            <tag>Version_0_1</tag>
        </version>
    </versions>

    <branches>
    </branches>

    <mailingLists>
        <mailingList>commons-dev@jakarta.apache.org</mailingList>
    </mailingLists>

    <developers>
        <developer>
            <name>James Carman</name>
            <id>jcarman</id>
            <email>james@carmanconsulting.com</email>
            <organization>Carman Consulting, Inc.</organization>
            <roles>
                <role>admin</role>
                <role>designer</role>
                <role>developer</role>
            </roles>
            <url>http://www.carmanconsulting.com/</url>
            <timezone>-5</timezone>
        </developer>
        <developer>
            <name>Knut Wannheden</name>
            <id>knut</id>
            <email>knut@apache.org</email>
            <roles>
                <role>designer</role>
                <role>developer</role>
            </roles>
            <timezone>+1</timezone>
        </developer>
        <developer>
            <name>J&#246;rg Hohwiller</name>
            <email>hohwille@users.sourceforge.net</email>
            <organization/>
            <roles>
                <role>mavenizer</role>
                <role>developer</role>
            </roles>
            <url></url>
        </developer>
    </developers>

    <contributors>
        <contributor>
            <name>J&#246;rg Schaible</name>
            <email>joerg.schaible@gmx.de</email>
            <organization/>
            <roles>
                <role>advisor</role>
            </roles>
            <url></url>
        </contributor>
        <contributor>
            <name>Howard M. Lewis Ship</name>
            <email>hlship@apache.org</email>
            <organization/>
            <roles>
                <role>advisor</role>
            </roles>
            <url>http://www.howardlewisship.com/</url>
        </contributor>
    </contributors>

    <licenses>
        <license>
            <name>ASL</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repro</distribution>
        </license>
    </licenses>

    <dependencies>
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib-full</artifactId>
            <version>2.0.2</version>
            <url>http://cglib.sourceforge.net</url>
            <properties>
                <comment>code generation library (optional)</comment>
            </properties>
        </dependency>
        <dependency>
            <groupId>javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.0</version>
            <url>http://www.csg.is.titech.ac.jp/~chiba/javassist/</url>
            <properties>
                <comment>java programming assistant - library for bytecode maniplation (optional)</comment>
            </properties>
        </dependency>
        <dependency>
            <groupId>aopalliance</groupId>
            <artifactId>aopalliance</artifactId>
            <version>1.0</version>
            <url>http://aopalliance.sourceforge.net/</url>
            <properties>
                <comment>AOP standard API (optional)</comment>
            </properties>
        </dependency>

        <dependency>
            <groupId>axis</groupId>
            <artifactId>axis</artifactId>
            <version>1.2.1</version>
            <url>http://ws.apache.org/axis/index.html</url>
            <properties>
                <comment>XML remote procedure call API (optional)</comment>
            </properties>
        </dependency>
        <dependency>
            <groupId>axis</groupId>
            <artifactId>axis-jaxrpc</artifactId>
            <version>1.2.1</version>
            <url>http://ws.apache.org/axis/index.html</url>
            <properties>
                <comment>XML remote procedure call API (optional)</comment>
            </properties>
        </dependency>
        <dependency>
            <groupId>axis</groupId>
            <artifactId>axis-saaj</artifactId>
            <version>1.2.1</version>
            <url>http://ws.apache.org/axis/index.html</url>
            <properties>
                <comment>XML remote procedure call API (optional)</comment>
            </properties>
        </dependency>
        <dependency>
            <groupId>axis</groupId>
            <artifactId>axis-wsdl4j</artifactId>
            <version>1.5.1</version>
            <url>http://ws.apache.org/axis/index.html</url>
            <properties>
                <comment>XML remote procedure call API (optional)</comment>
            </properties>
        </dependency>
        <dependency>
            <groupId>hessian</groupId>
            <artifactId>hessian</artifactId>
            <version>3.0.1</version>
            <url>http://www.caucho.com/hessian/</url>
            <properties>
                <comment>binary webservices protocol (optional)</comment>
            </properties>
        </dependency>
        <dependency>
            <groupId>burlap</groupId>
            <artifactId>burlap</artifactId>
            <version>2.1.7</version>
            <url>http://www.caucho.com/burlap/</url>
            <properties>
                <comment>library for building webservices really easy (optional)</comment>
            </properties>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.0.4</version>
            <url>http://jakarta.apache.org/commons/logging/</url>
            <properties>
                <comment>logging abstraction layer (optional)</comment>
            </properties>
        </dependency>
        <dependency>
            <groupId>commons-pool</groupId>
            <artifactId>commons-pool</artifactId>
            <version>1.2</version>
            <url>http://jakarta.apache.org/commons/pool/</url>
            <properties>
                <comment>pooling API (optional)</comment>
            </properties>
        </dependency>
        <dependency>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
            <version>3.1</version>
            <url>http://jakarta.apache.org/commons/collections/</url>
            <properties>
                <comment>collection API (optional)</comment>
            </properties>
        </dependency>
        <dependency>
            <groupId>commons-discovery</groupId>
            <artifactId>commons-discovery</artifactId>
            <version>0.2</version>
            <url>http://jakarta.apache.org/commons/discovery/</url>
            <properties>
                <comment>discovery API (optional)</comment>
            </properties>
        </dependency>
        <dependency>
            <groupId>concurrent</groupId>
            <artifactId>concurrent</artifactId>
            <version>1.3.4</version>
            <url>http://gee.cs.oswego.edu/dl/cpj/</url>
            <properties>
                <comment>Doug Lea's Concurrency API (optional)</comment>
            </properties>
        </dependency>
        <dependency>
            <groupId>jmock</groupId>
            <artifactId>jmock</artifactId>
            <version>1.0.1</version>
            <url>http://www.jmock.org/</url>
            <properties>
                <comment>The JMock Mock Objects Library (optional)</comment>
            </properties>
        </dependency>
        <dependency>
            <groupId>xmlrpc</groupId>
            <artifactId>xmlrpc</artifactId>
            <version>2.0</version>
            <url>http://ws.apache.org/xmlrpc/</url>
            <properties>
                <comment>Apache XML-RPC (optional)</comment>
            </properties>
        </dependency>
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.3</version>
            <url>http://jakarta.apache.org/commons/codec/</url>
            <properties>
                <comment>Jakarta Commons Codec (optional)</comment>
            </properties>
        </dependency>
    </dependencies>

    <build>
        <nagEmailAddress>jcarman@apache.org</nagEmailAddress>
        <sourceDirectory>${basedir}/src/java</sourceDirectory>
        <unitTestSourceDirectory>${basedir}/src/test</unitTestSourceDirectory>
        <integrationUnitTestSourceDirectory/>
        <aspectSourceDirectory/>

        <unitTest>
            <includes>
                <include>**/Test*.java</include>
            </includes>
            <excludes></excludes>
            <resources>
                <resource>
                    <directory>${maven.src.dir}/test</directory>
                    <includes>
                        <include>**/*.dtd</include>
                        <include>**/*.properties</include>
                        <include>**/*.x*</include>
                        <include>**/*.mf</include>
                        <include>**/*.jar</include>
                    </includes>
                </resource>
            </resources>
        </unitTest>

        <resources>
            <resource>
                <directory>${maven.src.dir}/java</directory>
                <includes>
                    <include>**/*.dtd</include>
                    <include>**/*.properties</include>
                    <include>**/*.x*</include>
                </includes>
            </resource>
            <!--
            <resource>
              <directory>${maven.src.dir}/conf</directory>
              <targetPath>BLOCK-INF</targetPath>
              <includes>
                <include>block.xml</include>
              </includes>
            </resource>
            -->

            <resource>
                <directory>${basedir}</directory>
                <targetPath>META-INF</targetPath>
                <includes>
                    <include>NOTICE.txt</include>
                </includes>
            </resource>

        </resources>
        <jars></jars>
    </build>

    <reports>
        <report>maven-changes-plugin</report>
        <report>maven-changelog-plugin</report>
        <report>maven-developer-activity-plugin</report>
        <report>maven-file-activity-plugin</report>
        <report>maven-checkstyle-plugin</report>
        <report>maven-javadoc-plugin</report>
        <report>maven-jdepend-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-tasklist-plugin</report>
        <report>maven-faq-plugin</report>
        <report>maven-clover-plugin</report>
        <!--
            <report>maven-pmd-plugin</report>
            <report>maven-simian-plugin</report>
            <report>maven-statcvs-plugin</report>
            <report>maven-xhtml-plugin</report>
        -->
    </reports>

</project>
