<?xml version="1.0" encoding="ISO-8859-1"?>
<project>

  <!-- the version of maven's project object model -->
  <pomVersion>3</pomVersion>
  
  <!-- a unique name for this project -->
  <id>kandula2</id>
  
  <!-- a short but descriptive name for the project -->
  <name>Apache Kandula2</name>
  
  <!-- The version of the project under development, e.g. 1.1, 1.2, 2.0-SNAPSHOT -->
  <currentVersion>0.1-SNAPSHOT</currentVersion>
  
  <!-- details about the organization that 'owns' the project -->
  <organization>
    <name>Apache Web Services</name>
    <url>http://ws.apache.org/</url>
    <logo>http://www.apache.org/images/asf-logo.gif</logo>
  </organization>
  
  <!-- the year the project started -->
  <inceptionYear>2005</inceptionYear>
  <package>org.apache.kandula</package>
  <logo/>
  <description>Kandula will provide an open-source implementation of WS-Coordination, 
  	WS-AtomicTransaction and WS-BusinessActivity based on Axis. The initial implementation will be in 
  	Java using Axis/Java. In addition to providing an implementation, a major focus of this project 
  	would be to ensure interoperability with other implementations of above specifications, 
  	particularly those by Microsoft (.NET) and IBM.
  </description>
  <!-- a short description of what the project does -->
  <shortDescription>WS-Coor, 
  	WS-AT and WS-BA implementation</shortDescription>

  <!-- the project home page -->
  <url>http://ws.apache.org/kandula/</url>
  <issueTrackingUrl>http://nagoya.apache.org/jira/browse/WSFX</issueTrackingUrl>
  <siteAddress>ws.apache.org</siteAddress>
  <siteDirectory>/kandula/</siteDirectory>
  <distributionDirectory>/www/ws.apache.org/builds/</distributionDirectory>

  <!-- the version control repository and http url for online access
       the connection element has the form:
       scm:<system>:<system specific connection string> -->
  <repository>
    <connection>scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:ws-fx/kandula/</connection>
    <url>http://cvs.apache.org/viewcvs.cgi/ws-fx/kandula/</url>
  </repository>

  <!-- any mailing lists for the project -->
    <mailingLists>
        <mailingList>
            <name>Kandula Developer List</name>
            <subscribe>kandula-dev-subscribe@ws.apache.org</subscribe>
            <unsubscribe>kandula-dev-unsubscribe@ws.apache.org</unsubscribe>
            <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listId=221</archive>
        </mailingList>
    </mailingLists>
  
  <!-- who the developers are for the project -->
  <developers>
        <developer>
            <name>Dasarath Weeratunge</name>
            <id>dasarath</id>
            <email>dasarath@opensource.lk</email>
            <organization>Lanka Software Foundation (LSF), Sri Lanka.</organization>
        </developer>      
        <developer>
            <name>Sanjiva Weerawarana</name>
            <id>sanjiva</id>
            <email>sanjiva@opensource.lk</email>
            <organization>Lanka Software Foundation (LSF), Sri Lanka.</organization>
        </developer>
<developer>
            <name>Thilina Gunarathne</name>
            <id>thilina</id>
            <email>thilina@opensource.lk</email>
            <organization>Lanka Software Foundation (LSF) / University of Moratuwa, Sri Lanka.</organization>
        </developer>
  </developers>

    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
  
  <!-- build information for the project -->
  <build>
    <nagEmailAddress>kandula-dev@ws.apache.org</nagEmailAddress>
    <sourceDirectory>src</sourceDirectory>

<!--
    <resources>
      <resource>
        <directory>src/conf</directory>
        <includes>
          <include>*.conf</include>
        </includes>
      </resource>
    </resources>
-->
  </build>

    <!-- ============ -->
    <!-- Dependencies -->
    <!-- ============ -->

    <dependencies>
    
      <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <url>http://ws.apache.org/axis/</url>
          <properties>
            <module>true</module>
          </properties>
        </dependency>
        
        <dependency>
            <groupId>axis</groupId>
            <artifactId>axis2</artifactId>
            <version>0.9</version>
        </dependency>
        
  <!--      
        <dependency>
            <groupId>axis</groupId>
            <artifactId>axis2-core</artifactId>
            <version>0.9</version>
        </dependency>

        <dependency>
            <groupId>axis</groupId>
            <artifactId>axis2-xml</artifactId>
            <version>0.9</version>
        </dependency>

        <dependency>
            <groupId>axis</groupId>
            <artifactId>axis2-wsdl</artifactId>
            <version>0.9</version>
        </dependency>
        
        <dependency>
            <groupId>axis</groupId>
            <artifactId>addressing</artifactId>
            <version>0.9</version>
        </dependency>
        
        <dependency>
            <groupId>axis</groupId>
            <artifactId>axis2-tools</artifactId>
            <version>0.9</version>
        </dependency>
        
        <dependency>
            <groupId>axis</groupId>
            <artifactId>axis2-common</artifactId>
            <version>0.9</version>
        </dependency>
       -->
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.0.3</version>
            <properties>
                <module>true</module>
            </properties>
        </dependency>
        
        <dependency>
            <groupId>stax</groupId>
            <artifactId>stax</artifactId>
            <version>1.1.1-dev</version>
            <properties>
                <module>true</module>
            </properties>
            <url>http://dist.codehaus.org/stax/jars/</url>
        </dependency>

        <dependency>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
            <version>3.0-rc2</version>
            <properties>
                <module>true</module>
            </properties>
        </dependency>

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.8</version>
            <properties>
                <module>true</module>
            </properties>
            <url>http://dist.codehaus.org/stax/jars/</url>
        </dependency>

        <dependency>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
            <version>1.0</version>
            <properties>
                <module>true</module>
            </properties>
            <url>http://dist.codehaus.org/stax/jars/</url>
        </dependency>
        
        <dependency>
            <groupId>axis</groupId>
            <artifactId>axis-wsdl4j</artifactId>
            <version>1.2</version>
            <properties>
                <module>true</module>
            </properties>
        </dependency>
        
        <dependency>
            <groupId>geronimo-spec</groupId>
            <artifactId>geronimo-spec-javamail</artifactId>
            <version>1.3.1-rc5</version>
            <properties>
                <module>true</module>
            </properties>
        </dependency>
        
        <dependency>
            <groupId>geronimo-spec</groupId>
            <artifactId>geronimo-spec-activation</artifactId>
            <version>1.0.2-rc4</version>
            <properties>
                <module>true</module>
            </properties>
        </dependency>
        
        <dependency>
            <groupId>xmlbeans</groupId>
            <artifactId>xbean</artifactId>
            <version>2.0.0-beta1</version>
            <type>jar</type>
            <properties>
                <module>true</module>
            </properties>
        </dependency>
        
    </dependencies>

    <!-- ================================= -->
    <!-- build information for the project -->
    <!-- ================================= -->

    <build>
        <nagEmailAddress>kandula-dev@ws.apache.org</nagEmailAddress>
        <sourceDirectory>src</sourceDirectory>
        <unitTestSourceDirectory>test</unitTestSourceDirectory>

        <unitTest>    
        	<excludes>
        		<!--exclude>**/CoordinatorImplTest.java</exclude-->
        	</excludes>           
            <includes>
                <include>**/*Test.java</include>
            </includes>

<!--
            <resources>
                <resource>
                    <directory>${basedir}/test-resources</directory>
                </resource>
                <resource>
                    <directory>conf</directory>
                    <includes>
                        <include>**/*.properties</include>
                    </includes>
                </resource>
                <resource>
                    <directory>src</directory>
                    <includes>
                        <include>**/*.properties</include>
                        <include>**/*.xml</include>
                    </includes>
                </resource>
            </resources>
-->
        </unitTest>

        <resources>
            <resource>
                <directory>conf</directory>
                <includes>
                    <include>**/*.properties</include>
                </includes>
            </resource>
            <resource>
                <directory>src</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>test</directory>
                <includes>
                    <include>**/*.jpg</include>
                </includes>
            </resource>
        </resources>
    </build>

    <!-- ======= -->
    <!-- Reports -->
    <!-- ======= -->

    <reports>
     <report>maven-license-plugin</report>
        <report>maven-checkstyle-plugin</report>
        <report>maven-pmd-plugin</report>
        <report>maven-jdepend-plugin</report>
        <report>maven-jxr-plugin</report>
        <report>maven-javadoc-plugin</report>
        <report>maven-junit-report-plugin</report>
        <report>maven-clover-plugin</report>
        <report>maven-changes-plugin</report>
    </reports>
</project>

