<?xml version="1.0"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements.  See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
-->

<project>
  <pomVersion>3</pomVersion>

  <!-- a unique name for this project -->
  <name>Apache Axis2/C</name>
  <id>axis2c</id>
  <groupId>axis2c</groupId>
  <currentVersion>${axis2_version}</currentVersion>

  <!-- details about the organization that 'owns' the project -->
  <organization>
    <name>Apache Software Foundation</name>
    <url>http://www.apache.org/</url>
    <logo>http://www.apache.org/images/asf-logo.gif</logo>
  </organization>

  <inceptionYear>2005</inceptionYear>
  <logo>http://ws.apache.org/axis2/images/axis.jpg</logo>
  <description> Axis2 is an effort to re-design and totally re-implement both Axis/Java and (eventually) Axis/C++ on a new architecture. Evolving from the now standard "handler chain" model which Axis1 pioneered, Axis2 is developing a more flexible pipeline architecture which can yet be managed and packaged in a more organized manner. This new design acknowledges the maturing of the Web services space in terms of new protocols such as WS-ReliableMessaging, WS-Security and WS-Addressing that are built on top of the base SOAP system. At the time Axis1 was designed, while it was fully expected that other protocols such as WS-ReliableMessaging would be built on top of it, there was not a proper extension architecture defined to enable clean composition of such layers. Thus, one of the key motivations for Axis2 is to provide a clean and simple environment for like Apache Sandesha and Apache WSS4J to layer on top of the base SOAP system. Another driving force for Axis2 as well as the move away from RPC oriented Web services towards more document-oriented, message style asynchronous service interactions. The Axis2 project is centered on a new representation for SOAP messages called AXIOM (AXIs Object Model). AXIOM consists of two parts: a complete XML Infoset representation and a SOAP Infoset representation on top of that. The XML Infoset representation provides a JDOM-like simple API but is built on a deferred model via a StAX-based (Streaming API for XML) pull parsing API. A key feature of AXIOM is that it allows one to stop building the XML tree and just access the pull stream directly; thus enabling both maximum flexibility and maximum performance. This approach allows us to support multiple levels of abstraction for consuming and offering Web services: using plain AXIOM, using generated code and statically data-bound data types and so on. At the time of Axis1's design, RPC-style, synchronous, request-response interactions were the order of the day for Web services. Today service interactions are much more message
  -oriented and exploit many different message exchange patterns. The Axis2 engine architecture is careful to not build in any assumptions of request-response patterns to ensure that it can be used easily to support arbitrary message exchange patterns.</description>
  <shortDescription>Axis2 C</shortDescription>
  <!-- the project home page -->
  <url>http://ws.apache.org/axis2/c</url>
  <issueTrackingUrl>http://issues.apache.org/jira/browse/AXIS2C</issueTrackingUrl>
  <siteAddress>ws.apache.org/axis2/c</siteAddress>
  <siteDirectory>/www/ws.apache.org/axis2/c</siteDirectory>
  <distributionDirectory>/www/ws.apache.org/builds/c</distributionDirectory>
  <repository>
       <connection>scm|svn|http://svn.apache.org/repos/asf/webservices/axis2/trunk/c</connection>
       <developerConnection>scm|svn|https://svn.apache.org/repos/asf/webservices/axis2/trunk/c</developerConnection>
       <url>https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/</url>
       </repository>
  <mailingLists>
    <mailingList>
      <name>Axis C Developer List</name>
      <subscribe>c-dev-subscribe@axis.apache.org?subject=subscribe</subscribe>
      <unsubscribe>c-dev-unsubscribe@axis.apache.org?subject=unsubscribe</unsubscribe>
      <archive>http://marc.theaimsgroup.com/?l=axis-c-dev&amp;r=1&amp;w=2</archive>
	  <otherArchives>
        <otherArchive>http://markmail.org/search/list:org.apache.ws.axis-c-dev</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Axis C User List</name>
      <subscribe>c-user-subscribe@axis.apache.org?subject=subscribe</subscribe>
      <unsubscribe>c-user-unsubscribe@axis.apache.org?subject=unsubscribe</unsubscribe>
      <archive>http://marc.theaimsgroup.com/?l=axis-c-user&amp;r=1&amp;w=2</archive>
	  <otherArchives>
        <otherArchive>http://markmail.org/search/list:org.apache.ws.axis-c-user</otherArchive>
      </otherArchives>
    </mailingList>
	 <mailingList>
            <name>CVS Commit Message List</name>
            <subscribe>c-commits-subscribe@axis.apache.org</subscribe>
            <unsubscribe>c-commits-unsubscribe@axis.apache.org</unsubscribe>
            <post>c-commits@axis.apache.org</post>
            <archive>http://markmail.org/search/list:org.apache.ws.axis-cvs</archive>
        </mailingList>
  </mailingLists>
  
  <!-- ========== -->
  <!-- Developers -->
  <!-- ========== -->
  <developers>
    <developer>
      <name>Samisa Abeysinghe</name>
      <id>samisa</id>
      <email>samisa AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Dushshantha Chandradasa</name>
      <id>dushshantha</id>
      <email>dushshantha AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Chris Darroch</name>
      <id>chrisd</id>
      <email>chrisd AT pearsoncmg DOT com</email>
      <organization>Pearson Education Core Technology Group</organization>
    </developer>
    <developer>
      <name>Senaka Fernando</name>
      <id>senaka</id>
      <email>senaka AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>    
    <developer>
      <name>Paul Fremantle</name>
      <id>pzf</id>
      <email>paul AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Dimuthu Gamage</name>
      <id>dimuthu</id>
      <email>dimuthuc AT gmail DOT com</email>
      <organization>Univerisity of Moratuwa</organization>
    </developer>
    <developer>
      <name>Sahan Gamage</name>
      <id>sahan</id>
      <email>sahans AT gmail DOT com</email>
      <organization>Purdue University</organization>
    </developer>
    <developer>
      <name>Lahiru Gunathilake</name>
      <id>lahiru</id>
      <email>glahiru@gmail.com</email>
      <organization>University of Moratuwa</organization>
    </developer>
    <developer>
      <name>Nandika Jayawardana</name>
      <id>nandika</id>
      <email>nandika AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Supun Kamburugamuva</name>
      <id>supun</id>
      <email>supun06 AT gmail DOT com</email>
      <organization>Univerisity of Moratuwa</organization>
    </developer>
    <developer>
      <name>Kaushalye Kapuruge</name>
      <id>kaushalye</id>
      <email>kaushalye AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Damitha Kumarage</name>
      <id>damitha</id>
      <email>damitha AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Bill Mitchell</name>
      <id>bmitchell</id>
      <email>wtmitchell3 AT acm DOT org </email>
      <organization></organization>
    </developer>   
    <developer>
      <name>Danushka Menikkumbura</name>
      <id>danushka</id>
      <email>danushka AT wso2 DOT com</email>
      <organization></organization>
    </developer> 
    <developer>
      <name>Diluka Moratuwage</name>
      <id>diluka</id>
      <email>diluka AT wso2 DOT com</email>
      <organization></organization>
    </developer>  
    <developer>
      <name>Dumindu Pallewela</name>
      <id>dumindu</id>
      <email>dumindu AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Milinda Pathirage</name>
      <id>milinda</id>
      <email>milinda DOT pathirage AT gmail DOT com</email>
      <organization>Univerisity of Moratuwa</organization>
    </developer>
    <developer>
      <name>Manjula Peiris</name>
      <id>manjula</id>
      <email>manjula AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Dinesh Premalal</name>
      <id>dinesh</id>
      <email>dinesh AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Sanjaya Rathnaweera</name>
      <id>pini</id>
      <email>sanjaya AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Davanum Srinivas</name>
      <id>dims</id>
      <email>davanum AT gmail DOT com</email>
      <organization> </organization>
    </developer>
    <developer>
      <name>Sanjiva Weerawarana</name>
      <id>sanjiva</id>
      <email>sanjiva AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Nabeel Yoosuf</name>
      <id>nabeel</id>
      <email>nabeel DOT yoosuf AT gmail DOT com</email>
      <organization>Purdue University</organization>
    </developer>    
    <developer>
      <name>Selvaratnam Uthaiyashankar</name>
      <id>shankar</id>
      <email>shankar AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>    
  </developers>
  <contributors>
    <contributor>
      <name>James Clark</name>
      <email>jjc AT public DOT jclark DOT com</email>
      <roles>
	<role>Technical Adviser on Building a Portable/Re-usable C library</role>
      </roles>
    </contributor>
    <contributor>
      <name>Spencer Davis</name>
      <email>spencerdavis91 AT gmail DOT com</email>
      <roles>
	<role>Composing Axis2/C FAQ Documentation</role>
      </roles>
    </contributor>
    <contributor>
      <name>Alastair FETTES</name>
      <email>afettes AT mdacorporation DOT com</email>
      <roles>
	<role>Suggestion to improve API and several inputs through JIRA</role>
      </roles>
    </contributor>
    <contributor>
      <name>Frederic Heem</name>
      <email>frederic DOT heem AT telsey DOT it</email>
      <roles>
        <role>Suggestions for improvements through Jiras and Bug fixes</role>
      </roles>
    </contributor>
    <contributor>
      <name>Rajika Kumarasiri</name>
      <email>rajikacc AT gmail DOT com</email>
      <roles>
        <role>Bug Fixes</role>
      </roles>
    </contributor>
    <contributor>
      <name>Manoj Pushpakumara</name>
      <email>manaj AT wso2 DOT com</email>
      <roles>
	<role>Improvements to the Unit Test cases</role>
      </roles>
    </contributor>
    <contributor>
      <name>Buddhika Semashinghe</name>
      <email>buddhika AT wso2 DOT com</email>
      <roles>
	<role>Helps to improve overall quality of the code base</role>
      </roles>
    </contributor>
    <contributor>
      <name>Varuna Jayasiri</name>
      <email>vpjayasiri AT gmail DOT com</email>
      <roles>
	<role>Axiom XPath implementation</role>
      </roles>
    </contributor>
    <contributor>
      <name>Nikola Tankovic</name>
      <email>nikola DOT tankovic AT gmail DOT com</email>
      <roles>
	<role>CGI deployment support</role>
      </roles>
    </contributor>  </contributors>

  <!-- ################################################################ -->
  <!--        Project dependency section                                -->
  <!-- ################################################################ -->

  <dependencies/>


  <!-- ################################################################ -->
  <!--        Project build and reports section                         -->
  <!-- ################################################################ -->

  <build>

    <nagEmailAddress>axis-c-dev@apache.org</nagEmailAddress>
    <sourceDirectory>${basedir}/src</sourceDirectory>
    <unitTestSourceDirectory>${basedir}/src/test</unitTestSourceDirectory>

    <unitTest>
      <includes>
	<include>**/_test*.c</include>
      </includes>
      <excludes>
	<exclude>**/*Test*All.c</exclude>
      </excludes>
    </unitTest>

    <resources/>  <!-- (OPTIONAL) Resources packaged inside the JAR file. -->

  </build>

  <reports>
    <report>maven-changes-plugin</report>
  </reports>

</project>
