<?xml version="1.0" encoding="ISO-8859-1"?>

<!--
/*
 * Copyright 2001-2004 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.
 */
 -->

<project>
    <name>Axis2</name>
    <pomVersion>3</pomVersion>
    <!-- a unique name for this project -->
    <name>Apache Axis2</name>
    <id>axis2</id>
    <groupId>org.apache.axis2</groupId>
    <package>org.apache.axis2</package>
    <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>2004</inceptionYear>
    <package>org.apache.axis2</package>
    <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>Axis 2.0</shortDescription>
    <!-- the project home page -->
    <url>http://ws.apache.org/axis2/</url>
    <issueTrackingUrl>http://issues.apache.org/jira/browse/AXIS2</issueTrackingUrl>
    <siteAddress>ws.apache.org/axis2</siteAddress>
    <siteDirectory>/www/ws.apache.org/axis2/</siteDirectory>
    <distributionDirectory>/www/ws.apache.org/builds/</distributionDirectory>
    <repository>
        <connection>
            scm:svn:http://svn.apache.org/repos/asf/webservices/axis2/branches/java/1_2/</connection>
        <developerConnection>
            scm:svn:https://svn.apache.org/repos/asf/webservices/axis2/branches/java/1_2/</developerConnection>
        <url>http://svn.apache.org/viewcvs.cgi/webservices/axis2/branches/java/1_2/?root=Apache-SVN</url>
    </repository>
    <mailingLists>
        <mailingList>
            <name>Axis Developer List</name>
            <subscribe>axis-dev-subscribe@ws.apache.org</subscribe>
            <unsubscribe>axis-dev-unsubscribe@ws.apache.org</unsubscribe>
            <archive>http://marc.theaimsgroup.com/?l=axis-dev&amp;r=1&amp;w=2</archive>
        </mailingList>
        <mailingList>
            <name>Axis User List</name>
            <subscribe>axis-user-subscribe@ws.apache.org</subscribe>
            <unsubscribe>axis-user-unsubscribe@ws.apache.org</unsubscribe>
            <archive>http://marc.theaimsgroup.com/?l=axis-user&amp;r=1&amp;w=2</archive>
        </mailingList>
    </mailingLists>
    
    <dependencies>
       <dependency>
        <groupId>maven</groupId>
        <artifactId>maven-test-plugin</artifactId>
        <type>plugin</type>
        <version>${maven.test.plugin.version}</version>
       </dependency>
       
       <dependency>
        <groupId>maven</groupId>
        <artifactId>maven-multiproject-plugin</artifactId>
        <type>plugin</type>
        <version>${maven.multiproject.plugin.version}</version>
       </dependency>
       
       <dependency>
        <groupId>maven</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <type>plugin</type>
        <version>${maven.jar.plugin.version}</version>
       </dependency>
       
       <dependency>
        <groupId>maven</groupId>
        <artifactId>maven-plugin-plugin</artifactId>
        <type>plugin</type>
        <version>${maven.plugin.plugin.version}</version>
       </dependency>
      </dependencies>
    
    
    <!-- ========== -->
    <!-- Developers -->
    <!-- ========== -->
    <developers>
        <developer>
            <name>Saminda Abeyruwan</name>
            <id>saminda</id>
            <email>saminda AT wso2.com</email>
            <organization>WSO2</organization>
        </developer>
        <developer>
            <name>Rajith Attapattu</name>
            <id>rajith</id>
            <email>rajith AT apache.org</email>
            <organization>Redhat - Canada</organization>
        </developer>
        <developer>
            <name>Afkham Azeez</name>
            <id>azeez</id>
            <email>azeez AT wso2.com</email>
            <organization>WSO2</organization>
        </developer>
        <developer>
            <name>Jeff Barrett</name>
            <organization>IBM</organization>
        </developer>
        <developer>
            <name>Keith Chapman</name>
            <id>keith</id>
            <email>keith AT wso2.com</email>
            <organization>WSO2</organization>
        </developer>
        <developer>
            <name>Eran Chinthaka</name>
            <id>chinthaka</id>
            <email>chinthaka AT wso2.com</email>
            <organization>WSO2</organization>
            <url>http://www.apache.org/~chinthaka</url>
        </developer>
        <developer>
            <name>Glen Daniels</name>
            <id>gdaniels</id>
            <email>gdaniels AT apache.org</email>
            <organization>Sonic Software</organization>
        </developer>
        <developer>
            <name>Brian DePradine</name>
            <id>pradine</id>
            <email>pradine AT uk.ibm.com</email>
            <organization>IBM</organization>
        </developer>
        <developer>
            <name>Jaliya Ekanayake</name>
            <id>jaliya</id>
            <email>jaliya AT opensource.lk</email>
            <organization>Indiana University, USA</organization>
            <url>http://www.apache.org/~jaliya</url>
        </developer>
        <developer>
            <name>Ruchith Fernando</name>
            <id>ruchithf</id>
            <email>ruchith AT wso2.com</email>
            <organization>WSO2</organization>
        </developer>
        <developer>
            <name>Nicholas Gallardo</name>
            <organization>IBM</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>
        <developer>
            <name>Chathura Herath</name>
            <id>chathura</id>
            <email>chathura AT opensource.lk</email>
            <organization>Indiana University, USA</organization>
            <url>www.apache.org/~chathura</url>
        </developer>
        <developer>
            <name>David Illsley</name>
            <id>davidillsley</id>
            <organization>IBM</organization>
            <url>http://www.illsley.org</url>
        </developer>
        <developer>
            <name>Deepal Jayasinghe</name>
            <id>deepal</id>
            <email>deepal AT wso2.com</email>
            <organization>WSO2</organization>
            <url>http://www.apache.org/~deepal</url>
        </developer>
        <developer>
            <name>Robert Lazarski</name>
            <id>robertlazarski</id>
            <email>robertlazarski AT gmail.com</email>
            <organization>Brazil Outsource</organization>
        </developer>
        <developer>
            <name>Steve Loughran</name>
            <id>stevel</id>
            <email>stevel AT apache.org</email>
            <organization>HP labs</organization>
        </developer>
        <developer>
            <name>Chatra Nakkawita</name>
            <id>chatra</id>
            <email>chatra AT WSO2.com</email>
            <organization>WSO2</organization>
        </developer>
        <developer>
            <name>Srinath Perera</name>
            <id>hemapani</id>
            <email>hemapani AT apache.org</email>
            <organization>Indiana University, USA</organization>
            <url>http://www.apache.org/~hemapani</url>
        </developer>
        <developer>
            <name>Ajith Ranabahu</name>
            <id>ajith</id>
            <email>ajith AT wso2.com</email>
            <organization>University of Georgia</organization>
            <url>http://www.apache.org/~ajith</url>
        </developer>
        <developer>
            <name>Venkat Reddy</name>
            <id>venkat</id>
            <email>vreddyp AT gmail.com</email>
            <organization>Computer Associates</organization>
        </developer>
        <developer>
            <name>Michael Rheinheimer</name>
            <organization>IBM</organization>
        </developer>
        <developer>
            <name>Sanka Samaranayake</name>
            <id>sanka</id>
            <email>sanka AT wso2.com</email>
            <organization>WSO2</organization>
        </developer>
        <developer>
            <name>Lahiru Sandakith</name>
            <id>sandakith</id>
            <email>sandakith AT wso2.com</email>
            <organization>WSO2</organization>
            <url>http://www.lahiru.net</url>
        </developer>
        <developer>
            <name>Rich Scheuerle</name>
            <id>scheu</id>
            <email>scheu AT us.ibm.com</email>
            <organization>IBM</organization>
        </developer>
        <developer>
            <name>Ashutosh Shahi</name>
            <id>ashu</id>
            <email>Ashutosh.Shahi AT ca.com</email>
            <organization>Computer Associates</organization>
        </developer>
        <developer>
            <name>Aleksander Slominski</name>
            <id>alek</id>
            <email>aslom AT cs.indiana.edu</email>
            <organization>Indiana University Extreme! Computing Lab</organization>
        </developer>
        <developer>
            <name>Dennis Sosnoski</name>
            <id>dsosnoski</id>
            <email>dms AT sosnoski.com</email>
            <organization>Sosnoski Software</organization>
        </developer>
        <developer>
            <name>Davanum Srinivas</name>
            <id>dims</id>
            <email>dims AT wso2.com</email>
            <organization>WSO2</organization>
        </developer>
        <developer>
            <name>Jayachandra Sekhara Rao Sunkara</name>
            <id>jaya</id>
            <email>jayachandra AT gmail.com</email>
            <organization>Computer Associates</organization>
        </developer>
        <developer>
            <name>Amila Suriarachchi</name>
            <id>amilas</id>
            <email>amila AT wso2.com</email>
            <organization>WSO2</organization>
        </developer>
        <developer>
            <name>Nikhil Thaker</name>
            <organization>IBM</organization>
        </developer>
        <developer>
            <name>Chamil Thanthrimudalige</name>
            <id>chamil</id>
            <email>chamil 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>Sanjiva Weerawarana</name>
            <id>sanjiva</id>
            <email>sanjiva AT wso2.com</email>
            <organization>WSO2</organization>
        </developer>
    </developers>
    <contributors>
        <contributor>
            <name>Gayan Asanka</name>
            <email>gayan AT opensource.lk</email>
            <organization>Lanka Software Foundation</organization>
        </contributor>
        <contributor>
            <name>Dharshana Dias</name>
            <email/>
            <organization>Lanka Software Foundation / University of Moratuwa</organization>
        </contributor>
        <contributor>
            <name>Nadana Gunarathna</name>
            <email>nadana AT opensource.lk</email>
            <organization>Lanka Software Foundation</organization>
        </contributor>
        <contributor>
            <name>Thilini Gunawardhana</name>
            <email>thilini AT WSO2.com</email>
            <organization>WSO2</organization>
        </contributor>
        <contributor>
            <name>Anushka Kumara</name>
            <email>anushkakumar AT gmail.com</email>
            <organization>Lanka Software Foundation / University of Moratuwa</organization>
        </contributor>
        <contributor>
            <name>Farhaan Mohideen</name>
            <email>fmohideen AT valista.com</email>
            <organization>Lanka Software Foundation</organization>
        </contributor>
        <contributor>
            <name>Chinthaka Thilakarathne</name>
            <email/>
            <organization>Lanka Software Foundation / University of Moratuwa</organization>
        </contributor>
    </contributors>
    <!-- build information for the project -->
    <build>
        <nagEmailAddress>axis-dev@ws.apache.org</nagEmailAddress>
        <sourceDirectory>src</sourceDirectory>
        <unitTestSourceDirectory>test</unitTestSourceDirectory>
        <!--
            <sourceModifications>
                <sourceModification>
                    <className>fakeClass</className>
                    <excludes>
                        <exclude>org/apache/axis2</exclude>
                        <exclude>**/_*.java</exclude>
                    </excludes>
                </sourceModification>
            </sourceModifications
        -->
        <unitTest>
            <excludes>
                <exclude>**/*Abstract*.java</exclude>
                <exclude>**/*Util*.java</exclude>
                <exclude>**/*PhaseResolvingTest.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>
                        <include>**/*.xsl</include>
                    </includes>
                </resource>
                <resource>
                    <directory>test</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>
                    <include>**/*.xsl</include>
                </includes>
            </resource>
            <resource>
                <directory>${basedir}</directory>
                <targetPath>META-INF</targetPath>
                <includes>
                    <include>NOTICE.txt</include>
                    <include>LICENSE.txt</include>
                </includes>
            </resource>
        </resources>
    </build>
    <!-- ======= -->
    <!-- Reports -->
    <!-- ======= -->
    <reports>
        <!-- report>maven-license-plugin</report>

       <report>maven-pmd-plugin</report>
       <report>maven-jdepend-plugin</report>
       <report>maven-jxr-plugin</report>
       <report>maven-javadoc-plugin</report>
       <report>maven-clover-plugin</report>
       <report>maven-junit-report-plugin</report -->
        <report>maven-changes-plugin</report>
    </reports>
</project>
