<!-- 
 - Copyright 1999-2011 Alibaba Group.
 -  
 - 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 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">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.alibaba</groupId>
		<artifactId>dubbo-parent</artifactId>
		<version>2.4.7</version>
	</parent>
	<artifactId>dubbo-rpc</artifactId>
	<packaging>pom</packaging>
	<name>${project.artifactId}</name>
	<description>The rpc module of dubbo project</description>
	<properties>
		<skip_maven_deploy>true</skip_maven_deploy>
	</properties>
	<modules>
		<module>dubbo-rpc-api</module>
		<module>dubbo-rpc-default</module>
		<module>dubbo-rpc-injvm</module>
		<module>dubbo-rpc-rmi</module>
		<module>dubbo-rpc-hessian</module>
		<module>dubbo-rpc-http</module>
		<module>dubbo-rpc-webservice</module>
		<module>dubbo-rpc-thrift</module>
		<module>dubbo-rpc-memcached</module>
		<module>dubbo-rpc-redis</module>
	</modules>
</project>
