<!--
 - 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.2.1</version>
	</parent>
	<artifactId>dubbo</artifactId>
	<packaging>jar</packaging>
	<name>${project.artifactId}</name>
	<description>The all in one project of dubbo</description>
	<properties>
		<skip_maven_deploy>false</skip_maven_deploy>
	</properties>
	<dependencies>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-config-api</artifactId>
			<version>${project.parent.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.mortbay.jetty</groupId>
					<artifactId>jetty</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-config-spring</artifactId>
			<version>${project.parent.version}</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-remoting-netty</artifactId>
			<version>${project.parent.version}</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-remoting-mina</artifactId>
			<version>${project.parent.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.apache.mina</groupId>
					<artifactId>mina-core</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-remoting-grizzly</artifactId>
			<version>${project.parent.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.glassfish.grizzly</groupId>
					<artifactId>grizzly-core</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-remoting-p2p</artifactId>
			<version>${project.parent.version}</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-remoting-http</artifactId>
			<version>${project.parent.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.mortbay.jetty</groupId>
					<artifactId>jetty</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.httpcomponents</groupId>
		    		<artifactId>httpclient</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-rpc-default</artifactId>
			<version>${project.parent.version}</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-rpc-injvm</artifactId>
			<version>${project.parent.version}</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-rpc-rmi</artifactId>
			<version>${project.parent.version}</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-rpc-hessian</artifactId>
			<version>${project.parent.version}</version>
			<exclusions>
				<exclusion>
					<groupId>com.caucho</groupId>
    				<artifactId>hessian</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-registry-default</artifactId>
			<version>${project.parent.version}</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-registry-multicast</artifactId>
			<version>${project.parent.version}</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-registry-zookeeper</artifactId>
			<version>${project.parent.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.apache.zookeeper</groupId>
		    		<artifactId>zookeeper</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.github.sgroschupf</groupId>
					<artifactId>zkclient</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-registry-redis</artifactId>
			<version>${project.parent.version}</version>
			<exclusions>
				<exclusion>
					<groupId>redis.clients</groupId>
					<artifactId>jedis</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-monitor-default</artifactId>
			<version>${project.parent.version}</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-container-spring</artifactId>
			<version>${project.parent.version}</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-container-jetty</artifactId>
			<version>${project.parent.version}</version>
			<exclusions>
				<exclusion>
					<groupId>org.mortbay.jetty</groupId>
					<artifactId>jetty</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo-container-log4j</artifactId>
			<version>${project.parent.version}</version>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<artifactId>maven-source-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-sources</id>
						<phase>none</phase>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-javadoc-plugin</artifactId>
				<executions>
                    <execution>
                        <id>attach-javadoc</id>
						<phase>deploy</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
				<configuration>
					<show>public</show>
					<charset>UTF-8</charset>
					<encoding>UTF-8</encoding>
					<docencoding>UTF-8</docencoding>
					<excludePackageNames>com.alibaba.com.*</excludePackageNames>
					<links>
						<link>http://docs.oracle.com/javase/6/docs/api</link>
					</links>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<version>1.4</version>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<createSourcesJar>true</createSourcesJar>
							<promoteTransitiveDependencies>true</promoteTransitiveDependencies>
							<artifactSet>
								<includes>
								    <include>com.alibaba:hessian-lite</include>
									<include>com.alibaba:dubbo-common</include>
									<include>com.alibaba:dubbo-remoting-api</include>
									<include>com.alibaba:dubbo-remoting-netty</include>
									<include>com.alibaba:dubbo-remoting-mina</include>
									<include>com.alibaba:dubbo-remoting-grizzly</include>
									<include>com.alibaba:dubbo-remoting-p2p</include>
									<include>com.alibaba:dubbo-remoting-http</include>
									<include>com.alibaba:dubbo-rpc-api</include>
									<include>com.alibaba:dubbo-rpc-default</include>
									<include>com.alibaba:dubbo-rpc-injvm</include>
									<include>com.alibaba:dubbo-rpc-rmi</include>
									<include>com.alibaba:dubbo-rpc-hessian</include>
									<include>com.alibaba:dubbo-filter-validation</include>
									<include>com.alibaba:dubbo-filter-cache</include>
									<include>com.alibaba:dubbo-cluster</include>
									<include>com.alibaba:dubbo-registry-api</include>
									<include>com.alibaba:dubbo-registry-default</include>
									<include>com.alibaba:dubbo-registry-multicast</include>
									<include>com.alibaba:dubbo-registry-zookeeper</include>
									<include>com.alibaba:dubbo-registry-redis</include>
									<include>com.alibaba:dubbo-monitor-api</include>
									<include>com.alibaba:dubbo-monitor-default</include>
									<include>com.alibaba:dubbo-config-api</include>
									<include>com.alibaba:dubbo-config-spring</include>
									<include>com.alibaba:dubbo-container-api</include>
									<include>com.alibaba:dubbo-container-spring</include>
									<include>com.alibaba:dubbo-container-jetty</include>
									<include>com.alibaba:dubbo-container-log4j</include>
								</includes>
							</artifactSet>
							<transformers>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.cache.CacheFactory</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.common.compiler.Compiler</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.common.extension.ExtensionFactory</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.common.serialize.Serialization</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.common.status.StatusChecker</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.common.threadpool.ThreadPool</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.container.Container</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.container.page.PageHandler</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.monitor.MonitorFactory</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.registry.RegistryFactory</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.remoting.Dispather</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.remoting.Codec</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.remoting.exchange.Exchanger</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.remoting.http.HttpBinder</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.remoting.p2p.Networker</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.remoting.telnet.TelnetHandler</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.remoting.Transporter</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.rpc.cluster.Cluster</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.rpc.cluster.LoadBalance</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.rpc.cluster.Merger</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.rpc.cluster.RouterFactory</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.rpc.Filter</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.rpc.InvokerListener</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.rpc.Protocol</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.rpc.protocol.rmi.RmiProxyFactory</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.rpc.ProxyFactory</resource>
								</transformer>
								<transformer
									implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/dubbo/com.alibaba.dubbo.validation.Validation</resource>
								</transformer>
							</transformers>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>