<?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://issues.apache.org/jira/browse/KAND</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: svn:https://svn.apache.org/repos/asf/webservices/kandula/trunk/java/</connection>
    <url>http://svn.apache.org/repos/asf/webservices/kandula/trunk/java/</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>Davanum Srinivas</name>
			<id>dims</id>
			<email>dims AT wso2.com</email>
			<organization>WSO2</organization>
		</developer>  
       <developer>
			<name>Sanjiva Weerawarana</name>
			<id>sanjiva</id>
			<email>sanjiva AT wso2.com</email>
			<organization>WSO2</organization>
		</developer>
        <developer>
            <name>Dasarath Weeratunge</name>
            <id>dasarath</id>
            <email>dasarath AT opensource.lk</email>
            <organization>Lanka Software Foundation (LSF), Sri Lanka.</organization>
        </developer>    
		<developer>
            <name>Thilina Gunarathne</name>
            <id>thilina</id>
            <email>thilina AT apache.org</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>
  </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>axis2</groupId>
            <artifactId>axis2-core</artifactId>
            <version>0.95-SNAPSHOT</version>
        </dependency>

   
        <dependency>
            <groupId>axis2</groupId>
            <artifactId>axis2-wsdl</artifactId>
            <version>0.95-SNAPSHOT</version>
        </dependency>
        
        <dependency>
            <groupId>axis2</groupId>
            <artifactId>axis2-addressing</artifactId>
            <version>0.95-SNAPSHOT</version>
        </dependency>
        
        <dependency>
            <groupId>axis2</groupId>
            <artifactId>axis2-common</artifactId>
            <version>0.95-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.0.4</version>
            <properties>
                <module>true</module>
            </properties>
        </dependency>
 
       <dependency>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
            <version>3.0</version>
            <properties>
                <module>true</module>
            </properties>
        </dependency>

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.12</version>
            <properties>
                <module>true</module>
            </properties>
            <url>http://dist.codehaus.org/stax/jars/</url>
        </dependency>

           <dependency>
            <groupId>woodstox</groupId>
            <artifactId>wstx-asl</artifactId>
            <version>2.8.2</version>
            <properties>
                <module>true</module>
            </properties>
        </dependency>
        <dependency>
            <groupId>stax</groupId>
            <artifactId>stax-api</artifactId>
            <version>1.0</version>
            <properties>
                <module>true</module>
            </properties>
        </dependency>
  		<dependency>
            <groupId>ws-commons</groupId>
            <artifactId>XmlSchema</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
 	  <dependency>
            <groupId>axis</groupId>
            <artifactId>axis-wsdl4j</artifactId>
            <version>1.2</version>
            <properties>
                <module>true</module>
            </properties>
        </dependency>
	  <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.3</version>
            <properties>
                <module>true</module>
            </properties>
        </dependency>
        <dependency>
            <groupId>backport-util-concurrent</groupId>
            <artifactId>backport-util-concurrent</artifactId>
            <version>2.0_01_pd</version>
            <properties>
                <module>true</module>
            </properties>
        </dependency>
		<dependency>
            <groupId>annogen</groupId>
            <artifactId>annogen</artifactId>
            <version>0.1.0</version>
            <properties>
                <module>true</module>
            </properties>
        </dependency>
     <dependency>
            <groupId>ws-commons</groupId>
            <artifactId>axiom</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

		 <dependency>
            <groupId>ws-commons</groupId>
            <artifactId>policy</artifactId>
            <version>0.90-SNAPSHOT</version>
            <properties>
                <module>true</module>
            </properties>
             </dependency>
          <dependency>
            <groupId>ws-commons</groupId>
            <artifactId>axiom</artifactId>
            <version>1.0-SNAPSHOT</version>
       
        </dependency>
   
    </dependencies>

    <!-- ================================= -->
    <!-- build information for the project -->
    <!-- ================================= -->

    <build>
        <nagEmailAddress>kandula-dev@ws.apache.org</nagEmailAddress>
        <sourceDirectory>src</sourceDirectory>
        <unitTestSourceDirectory>test</unitTestSourceDirectory>

        <unitTest>    
        	 <includes>
                <include>**/CreateCoordinationContextTest.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>**/*.conf</include>
                        <include>**/*.xml</include>
                    </includes>
                </resource>
            </resources>
        </unitTest>
  <resources>
                
                <resource>
                    <directory>src</directory>
                    <includes>
                        <include>**/*.conf</include>
                        <include>**/*.xml</include>
                    </includes>
                </resource>
            </resources>
    </build>

    <!-- ======= -->
    <!-- Reports -->
    <!-- ======= -->

    <reports>
     <report>maven-changes-plugin</report>
        <report>maven-jdepend-plugin</report>
        <report>maven-checkstyle-plugin</report>
        <report>maven-pmd-plugin</report>
        <report>maven-junit-report-plugin</report>
        <report>maven-license-plugin</report>
        <report>maven-jxr-plugin</report>

    </reports>
</project>

