<?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>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.
	</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>

	<repository>
		<connection>
			scm:svn:http://svn.apache.org:repos/asf/webservices:kandula/trunk/java
		</connection>
		<developerConnection>
			scm:svn:http://svn.apache.org:repos/asf/webservices:kandula/trunk/java
		</developerConnection>
		<url>
			http://svn.apache.org/viewcvs.cgi/webservices/kandula/trunk/java?root=Apache-SVN
		</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 Weerathunga</name>
			<id>dasarath</id>
			<email>dasarath AT opensource.lk</email>
			<organization>Purdue University, USA</organization>
		</developer>
		<developer>
			<name>Thilina Gunarathne</name>
			<id>thilina</id>
			<email>thilina AT wso2.com</email>
			<organization>WSO2</organization>
			<url>www.apache.org/~thilina</url>
		</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>org.apache.ws.commons.axiom</groupId>
			<artifactId>axiom-api</artifactId>
			<version>${axiom.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.ws.commons.axiom</groupId>
			<artifactId>axiom-impl</artifactId>
			<version>${axiom.version}</version>
		</dependency>
		<dependency>
			<groupId>wsdl4j</groupId>
			<artifactId>wsdl4j</artifactId>
			<version>${wsdl4j.version}</version>
			<properties>
				<module>true</module>
			</properties>
		</dependency>
		<dependency>
			<groupId>org.apache.ws.commons.schema</groupId>
			<artifactId>XmlSchema</artifactId>
			<version>${XmlSchema.version}</version>
		</dependency>
		<dependency>
			<groupId>jaxen</groupId>
			<artifactId>jaxen</artifactId>
			<version>${jaxen.version}</version>
			<properties>
				<module>true</module>
			</properties>
			<url>http://www.ibiblio.org/maven/jaxen/jars/</url>
		</dependency>
		<dependency>
			<groupId>org.apache.axis2</groupId>
			<artifactId>axis2-java2wsdl</artifactId>
			<version>${axis2.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.axis2</groupId>
			<artifactId>axis2-kernel</artifactId>
			<version>${axis2.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.axis2</groupId>
			<artifactId>axis2-adb-codegen</artifactId>
			<version>${axis2.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.axis2</groupId>
			<artifactId>axis2-codegen</artifactId>
			<version>${axis2.version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.axis2</groupId>
			<artifactId>axis2-adb</artifactId>
			<version>${axis2.version}</version>
		</dependency>
		<dependency>
           <groupId>org.apache.axis2</groupId>
           <artifactId>addressing</artifactId>
           <version>${axis2.version}</version>
           <type>mar</type>
 		</dependency>

		<!-- Following dependency was required due to the EndpointReferenceHelper class-->
		<!-- dependency>
			<groupId>org.apache.axis2</groupId>
			<artifactId>axis2-addressing</artifactId>
			<version>${axis2.version}</version>
			</dependency-->
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>${commons.logging.version}</version>
			<properties>
				<module>true</module>
			</properties>
		</dependency>
		<dependency>
			<groupId>${stax.impl.groupid}</groupId>
			<artifactId>${stax.impl.artifactid}</artifactId>
			<version>${stax.impl.version}</version>
			<properties>
				<module>true</module>
			</properties>
		</dependency>
		<dependency>
			<groupId>stax</groupId>
			<artifactId>stax-api</artifactId>
			<version>${stax.api.version}</version>
			<properties>
				<module>true</module>
			</properties>
		</dependency>
		<dependency>
			<groupId>javax.activation</groupId>
			<artifactId>activation</artifactId>
			<version>${activation.version}</version>
			<properties>
				<module>true</module>
			</properties>
		</dependency>
		<dependency>
			<groupId>javax.mail</groupId>
			<artifactId>mail</artifactId>
			<version>${javamail.version}</version>
			<properties>
				<module>true</module>
			</properties>
		</dependency>
		<dependency>
			<groupId>commons-httpclient</groupId>
			<artifactId>commons-httpclient</artifactId>
			<version>${commons.httpclient.version}</version>
			<properties>
				<module>true</module>
			</properties>
		</dependency>
		<dependency>
			<groupId>httpcomponents-httpcore</groupId>
			<artifactId>jakarta-httpcore</artifactId>
			<version>${jakarta.httpcore.version}</version>
			<properties>
				<module>true</module>
			</properties>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>${commons.codec.version}</version>
			<properties>
				<module>true</module>
			</properties>
		</dependency>
		<dependency>
			<groupId>backport-util-concurrent</groupId>
			<artifactId>backport-util-concurrent</artifactId>
			<version>${backport_util_concurrent.version}</version>
			<properties>
				<module>true</module>
			</properties>
		</dependency>
		<dependency>
			<groupId>annogen</groupId>
			<artifactId>annogen</artifactId>
			<version>${annogen.version}</version>
			<properties>
				<module>true</module>
			</properties>
		</dependency>
		<dependency>
			<groupId>org.apache.neethi</groupId>
			<artifactId>neethi</artifactId>
			<version>${neethi.version}</version>
			<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>
			<includes>
				<include>**/CompletionCommitTest.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>

