<?xml version="1.0" encoding="utf-8"?>
<!--
       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 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

	<parent>
            <groupId>org.apache.stratos</groupId>
            <artifactId>stratos-parent</artifactId>
            <version>4.1.0-SNAPSHOT</version>
            <relativePath>../pom.xml</relativePath>
        </parent>

	<modelVersion>4.0.0</modelVersion>
	<groupId>org.apache.stratos</groupId>
	<artifactId>stratos-components-parent</artifactId>
	<packaging>pom</packaging>
	<name>Apache Stratos - Components - Parent Module</name>
	<url>http://apache.org</url>

    <modules>
        <!-- Common -->
        <module>org.apache.stratos.common</module>
        <!-- Messaging -->
        <module>org.apache.stratos.messaging</module>
        <!-- Autoscaler -->
        <module>org.apache.stratos.autoscaler</module>
        <!-- CC -->
        <module>org.apache.stratos.cloud.controller</module>
        <!-- SM -->
        <module>org.apache.stratos.manager</module>
        <module>org.apache.stratos.deployment</module>
        <!-- CLI -->
        <module>org.apache.stratos.cli</module>
        <!-- Cartridge Agent -->
        <module>org.apache.stratos.cartridge.agent</module>
        <!-- Load Balancer -->
        <module>org.apache.stratos.load.balancer.common</module>
        <module>org.apache.stratos.load.balancer</module>
        <module>org.apache.stratos.load.balancer.extension.api</module>
        <!-- Tenant Mgt -->
        <module>org.apache.stratos.register.ui</module>
        <module>org.apache.stratos.tenant.mgt.core</module>
        <module>org.apache.stratos.tenant.mgt</module>
        <module>org.apache.stratos.tenant.mgt.ui</module>
        <module>org.apache.stratos.tenant.mgt.email.sender</module>
        <!-- Tenant Activity -->
        <module>org.apache.stratos.tenant.activity</module>
        <module>org.apache.stratos.tenant.activity.ui</module>
        <!-- Account Mgt -->
        <module>org.apache.stratos.account.mgt</module>
        <module>org.apache.stratos.account.mgt.ui</module>
        <module>org.apache.stratos.email.sender</module>
        <!-- Domain Validation -->
        <module>org.apache.stratos.validate.domain</module>
        <module>org.apache.stratos.validate.domain.ui</module>
        <!-- Throttling -->
        <!--module>org.apache.stratos.throttling.agent</module>
        <module>org.apache.stratos.throttling.manager</module>
        <module>org.apache.stratos.throttling.ui</module-->
        <!-- Redirector -->
        <module>org.apache.stratos.sso.redirector.ui</module>
        <module>org.apache.stratos.redirector.servlet</module>
        <module>org.apache.stratos.redirector.servlet.ui</module>
        <!-- Status Monitor -->
        <module>org.apache.stratos.status.monitor.core</module>
        <module>org.apache.stratos.status.monitor</module>
        <module>org.apache.stratos.status.monitor.agent</module>
        <module>org.apache.stratos.status.monitor.ui</module>
        <!-- Usage -->
        <!--module>org.apache.stratos.usage.agent</module>
        <module>org.apache.stratos.usage</module>
        <module>org.apache.stratos.usage.summary.helper</module>
        <module>org.apache.stratos.usage.ui</module-->

        <module>org.apache.stratos.tenant.dispatcher</module>
        <module>org.apache.stratos.keystore.mgt</module>
        <module>org.apache.stratos.activation</module>
        <module>org.apache.stratos.cartridge.mgt.ui</module>
        <!-- Theme mgt -->
        <module>org.apache.stratos.theme.mgt.ui</module>
        <module>org.apache.stratos.theme.mgt</module>
        <!--Logging mgt-->
        <module>org.apache.stratos.logging.view.ui</module>
        <!-- RESTful admin services -->
        <module>org.apache.stratos.rest.endpoint</module>
        <!-- Stratos manager styles bundle -->
        <module>org.apache.stratos.manager.styles</module>
		
	<module>org.apache.stratos.metadataservice</module>
	<!-- meta data client -->
        <module>org.apache.stratos.metadata.client</module>	
    </modules>
	    
	    <build>
	        <plugins>
	            <plugin>
	                <groupId>org.codehaus.mojo</groupId>
	                <artifactId>build-helper-maven-plugin</artifactId>
	                <version>1.7</version>
	            </plugin>
	            <plugin>
	               <groupId>org.apache.maven.plugins</groupId>
	               <artifactId>maven-surefire-plugin</artifactId>
	            </plugin>
	            <plugin>
	               <groupId>org.apache.maven.plugins</groupId>
	               <artifactId>maven-resources-plugin</artifactId>
	            </plugin>
	        </plugins>
	    </build>

    <dependencyManagement>
        <dependencies>
	<!-- OSGi dependencies -->
        <dependency>
            <groupId>org.eclipse.osgi</groupId>
            <artifactId>org.eclipse.osgi</artifactId>
            <version>${version.equinox.osgi}</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.osgi</groupId>
            <artifactId>org.eclipse.osgi.services</artifactId>
            <version>${version.equinox.osgi.services}</version>
        </dependency>

	    <!-- Carbon Core dependencies -->
            <dependency>
                <groupId>org.wso2.carbon</groupId>
                <artifactId>org.wso2.carbon.logging</artifactId>
                <version>${carbon.platform.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon</groupId>
                <artifactId>org.wso2.carbon.core</artifactId>
                <version>${carbon.platform.version}</version>
            </dependency>
            <dependency>
                <groupId>org.wso2.carbon</groupId>
                <artifactId>org.wso2.carbon.core.services</artifactId>
                <version>${carbon.platform.version}</version>
            </dependency>
	    <dependency>
	    <groupId>org.wso2.carbon</groupId>
		<artifactId>org.wso2.carbon.application.deployer</artifactId>
                <version>${carbon.platform.version}</version>
		     <exclusions>
			<exclusion>
			  <groupId>org.wso2.carbon</groupId>
			  <artifactId>org.wso2.carbon.feature.mgt.core</artifactId>
			</exclusion>
			<exclusion>
			  <groupId>org.wso2.carbon</groupId>
			  <artifactId>org.wso2.carbon.feature.mgt.services</artifactId>
			</exclusion>
		     </exclusions>
	    </dependency>
        <dependency>
            <groupId>org.wso2.carbon</groupId>
            <artifactId>org.wso2.carbon.server</artifactId>
       	    <version>${carbon.platform.version}</version>
        </dependency>
        <dependency>
            <groupId>org.wso2.carbon</groupId>
            <artifactId>org.wso2.carbon.server.admin.common</artifactId>
            <version>${carbon.platform.version}</version>
        </dependency>
        <dependency>
            <groupId>org.wso2.carbon</groupId>
            <artifactId>org.wso2.carbon.server.admin.ui</artifactId>
            <version>${carbon.platform.version}</version>
        </dependency>
        <dependency>
            <groupId>org.wso2.carbon</groupId>
            <artifactId>org.wso2.carbon.base</artifactId>
            <version>${carbon.platform.version}</version>
        </dependency>
        <dependency>
            <groupId>org.wso2.carbon</groupId>
            <artifactId>org.wso2.carbon.registry.core</artifactId>
            <version>${carbon.platform.version}</version>
        </dependency>
        <dependency>
            <groupId>org.wso2.carbon</groupId>
            <artifactId>org.wso2.carbon.user.core</artifactId>
            <version>${carbon.platform.version}</version>
        </dependency>
        <dependency>
            <groupId>org.wso2.carbon</groupId>
            <artifactId>org.wso2.carbon.user.mgt</artifactId>
            <version>${carbon.platform.version}</version>
        </dependency>
        <dependency>
            <groupId>org.wso2.carbon</groupId>
            <artifactId>org.wso2.carbon.utils</artifactId>
            <version>${carbon.platform.version}</version>
        </dependency>
	
	<!-- Axis2 -->
        <dependency>
            <groupId>org.apache.axis2.wso2</groupId>
            <artifactId>axis2</artifactId>
            <version>${axis2.wso2.version}</version>
        </dependency>


        <!-- Registry dependencies  -->
        <dependency>
            <groupId>org.wso2.carbon</groupId>
            <artifactId>org.wso2.carbon.registry.ws.client</artifactId>
            <version>${carbon.platform.version}</version>
        </dependency>

        <!-- Other -->
           <dependency>
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
             <version>${version.log4j}</version>
           </dependency>
           <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>${version.commons.logging}</version>
            </dependency>

	<!-- Service Stubs -->  
	   <dependency>
                 <groupId>org.wso2.carbon</groupId>
                <artifactId>org.wso2.carbon.autoscaler.service.jvm.agentmgt.stub</artifactId>
                <version>${carbon.platform.version}</version>
            </dependency>
	<!-- Test Scope -->

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <wso2carbon.version>4.2.0</wso2carbon.version>
        <junit.version>4.11</junit.version>
        <synapse.core.version>2.1.1-wso2v4</synapse.core.version>
        <google.guava.wso2.version>12.0.0.wso2v1</google.guava.wso2.version>
        <carbon.platform.version>4.2.0</carbon.platform.version>
        <version.equinox.osgi.services>3.3.100.v20120522-1822</version.equinox.osgi.services>
        <version.equinox.osgi>3.8.1.v20120830-144521</version.equinox.osgi>
        <axiom.osgi.version.range>[1.2.11.wso2v4, 1.3.0)</axiom.osgi.version.range>
        <version.tomcat>7.0.34</version.tomcat>
        <axis2.wso2.version>1.6.1.wso2v10</axis2.wso2.version>
        <axis2.kernel.version>1.6.1-wso2v10</axis2.kernel.version>
        <version.log4j>1.2.17</version.log4j>
        <version.commons.logging>1.1.1</version.commons.logging>
        <orbit.version.geronimo-jms_1.1_spec>1.1.0.wso2v1</orbit.version.geronimo-jms_1.1_spec>
        <google.guice.wso2.version>3.0.wso2v1</google.guice.wso2.version>
        <commons-httpclient.version>3.0.1</commons-httpclient.version>
        <json.wso2.version>2.0.0.wso2v1</json.wso2.version>
        <axiom.wso2.version>1.2.11.wso2v4</axiom.wso2.version>
        <orbit.version.axis2>1.6.1.wso2v5</orbit.version.axis2>
        <orbit.version.axiom>1.2.11.wso2v3</orbit.version.axiom>
        <neethi.wso2.version>2.0.4.wso2v4</neethi.wso2.version>
        <imp.pkg.version.javax.servlet>[2.6.0, 3.0.0)</imp.pkg.version.javax.servlet>
        <rampart.wso2.version>1.6.1.wso2v9</rampart.wso2.version>
        <!--eclipse.osgi.version>3.5.0.v20090520</eclipse.osgi.version>
        <eclipse.osgi.services.version>3.2.0.v20090520-1800</eclipse.osgi.services.version>
        <equinox.commons.logging.version>1.0.4.v200706111724</equinox.commons.logging.version>
        <synapse.version>2.1.1-wso2v3</synapse.version>
        <wsdl4j.wso2.version>1.6.2.wso2v2</wsdl4j.wso2.version>
        <geronimo.stax.api.wso2.version>1.0.1.wso2v1</geronimo.stax.api.wso2.version>
        <xmlschema.version>1.4.3</xmlschema.version>
        <addressing.version>1.6.1-wso2v1</addressing.version>
        <rampart.version>1.6.1-wso2v9</rampart.version>
        <wss4j.version>1.5.11.wso2v1</wss4j.version>
        <gdata-core.wso2.version>1.47.0.wso2v1</gdata-core.wso2.version>
        <gdata-spreadsheet.wso2.version>3.0.0.wso2v1</gdata-spreadsheet.wso2.version>
        <poi.wso2.version>3.5.0.wso2v1</poi.wso2.version>
        <rhino.wso2.version>1.7.0.R1-wso2v2</rhino.wso2.version>
        <xercesImpl.version>2.8.1</xercesImpl.version>
        <xercesImpl.wso2.version>2.8.1.wso2v1</xercesImpl.wso2.version>
        <uddi4j.version>1.0.1</uddi4j.version>
        <wsdl-validator.version>1.2.0.wso2v1</wsdl-validator.version>
        <wsdl4j.version>1.6.2</wsdl4j.version>
        <jetty.version>6.1.5</jetty.version>
        <hsqldb.version>1.8.0</hsqldb.version>
        <xml-apis.version>1.3.04</xml-apis.version>
        <jaxen.version>1.1.1</jaxen.version>
        <woodstox.version>3.2.9</woodstox.version>
        <stax.version>1.0.1</stax.version>
        <axiom.version>1.2.11-wso2v2</axiom.version>
        <commons-dbcp.version>1.2.2</commons-dbcp.version>
        <commons-logging.version>1.1</commons-logging.version>
        <commons-pool.version>1.5.0.wso2v1</commons-pool.version>
        <commons-beanutils.version>1.8.0</commons-beanutils.version>
        <commons-collections.version>3.2</commons-collections.version>
        <commons-digester.version>1.8</commons-digester.version>
        <authenticator.version>0.5</authenticator.version>
        <javamail.version>1.4</javamail.version>
        <activation.version>1.1</activation.version>
        <commons-fileupload.version>1.1.1</commons-fileupload.version>
        <commons-httpclient.version>3.0.1</commons-httpclient.version>
        <commons-httpclient.wso2.version>${orbit.version.commons.httpclient}</commons-httpclient.wso2.version>
        <validateutility.version>0.95</validateutility.version>
        <derby.version>10.4.2.0</derby.version>
        <axis2-transports.version>1.1.0-wso2v4</axis2-transports.version-->
        <!--derby.wso2.version>${version.wso2.derby}</derby.wso2.version--><!-- derby orbit version need to be updated -->
        <!--commons-fileupload.wso2.version>1.2.2.wso2v1</commons-fileupload.wso2.version>
        <geronimo-stax-api.wso2.version>1.0.1.wso2v1</geronimo-stax-api.wso2.version>
        <neethi.wso2.version>${neethi.osgi.version}</neethi.wso2.version>
        <commons-lang.wso2.version>2.6.0.wso2v1</commons-lang.wso2.version>
        <wso2mex.version>2.2</wso2mex.version>
        <rampart.wso2.version>1.6.1.wso2v9</rampart.wso2.version>
        <sandesha2.version>1.6.1-wso2v1</sandesha2.version>
        <jasperreports.wso2.version>3.7.1.wso2v1</jasperreports.wso2.version>
        <wso2throttle.version>3.3.0</wso2throttle.version>
        <wso2xfer.version>3.2.0</wso2xfer.version>
        <jxl.wso2.version>2.6.8.wso2v1</jxl.wso2.version>
    	<wso2.h2.orbit.version>1.2.140.wso2v3</wso2.h2.orbit.version>
	    <commons-io.wso2.version>2.0.0.wso2v1</commons-io.wso2.version>
    	<juddi.wso2.version>3.0.3.wso2v2</juddi.wso2.version>
	    <smack.wso2.version>3.0.4.wso2v1</smack.wso2.version>
    	<smackx.wso2.version>3.0.4.wso2v1</smackx.wso2.version>
	    <sun-xacml.wso2.version>2.0.1.wso2v1</sun-xacml.wso2.version>
    	<opensaml.wso2.version>1.1.0.wso2v1</opensaml.wso2.version>
	    <opensaml2.wso2.version>2.4.1.wso2v1</opensaml2.wso2.version>
    	<openid4java.wso2.version>0.9.6.wso2v1</openid4java.wso2.version>
	    <httpcomponents-httpclient.wso2.version>4.1.1-wso2v1</httpcomponents-httpclient.wso2.version>
	    <scxml.version>0.9.0.wso2v1</scxml.version>
    	<google.step2.wso2.version>1.0.wso2v1</google.step2.wso2.version>
	    <google.guice.wso2.version>3.0.wso2v1</google.guice.wso2.version>
        <version.solr>1.4.1.wso2v1</version.solr>
        <shindig.version>1.1.0.wso2v6</shindig.version>
        <batik.version>1.7.0.wso2v1</batik.version>
        <google.guava.wso2.version>12.0.0.wso2v1</google.guava.wso2.version>
    	<orbit.version.json>2.0.0.wso2v1</orbit.version.json>
	    <orbit.version.json-simple>1.1.wso2v1</orbit.version.json-simple>
    	<orbit.version.woden>1.0.0.M8-wso2v1</orbit.version.woden>
	    <orbit.version.commons-configuration>1.6.0.wso2v1</orbit.version.commons-configuration>
        <orbit.version.infinispan>5.1.2.wso2v1</orbit.version.infinispan>
        <zookeeper.orbit.version>3.3.5.wso2v1</zookeeper.orbit.version>
        <quartz2.orbit.version>2.1.1.wso2v1</quartz2.orbit.version>
        <mvel2.orbit.version>2.0.19.wso2v1</mvel2.orbit.version>
        <antlr-runtime.orbit.version>3.2.0.wso2v1</antlr-runtime.orbit.version>
        <siddhi.orbit.version>1.0.0.wso2v1</siddhi.orbit.version>
        <gson.version>2.1</gson.version>
        -->
    </properties>

</project>
