<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2014 Eclipse Foundation and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Distribution License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/org/documents/edl-v10.php
 
  Contributors:
    Thanh Ha (Eclipse Foundation) - initial implementation
-->

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.eclipse</groupId>
    <artifactId>wtp-parent</artifactId>
    <version>3.6.0-SNAPSHOT</version>
    <relativePath>../wtp-parent</relativePath>
  </parent>

  <groupId>org.eclipse.webtools.webservices</groupId>
  <artifactId>org.eclipse.webtools.webservices.axis2</artifactId>
  <version>3.6.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <modules>
    <module>bundles/org.eclipse.jst.ws.axis2.consumption.core</module>
    <module>bundles/org.eclipse.jst.ws.axis2.consumption.ui</module>
    <module>bundles/org.eclipse.jst.ws.axis2.core</module>
    <module>bundles/org.eclipse.jst.ws.axis2.creation.core</module>
    <module>bundles/org.eclipse.jst.ws.axis2.creation.ui</module>
    <module>bundles/org.eclipse.jst.ws.axis2.ui</module>

    <module>docs/org.eclipse.jst.ws.axis2.ui.doc.user</module>

    <module>features/org.eclipse.jst.ws.axis2tools.feature</module>
    <module>features/org.eclipse.jst.ws.axis2tools_sdk.feature</module>
  </modules>
</project>