<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>
	<artifactId>frameworkx-parent</artifactId>
	<packaging>pom</packaging>
	<parent>
		<groupId>net.jahhan</groupId>
		<artifactId>parent</artifactId>
		<version>1.0.0-RELEASE</version>
	</parent>
	<modules>
		<module>dubbo-common</module>
		<module>dubbo-remoting</module>
		<module>dubbo-rpc</module>
		<module>dubbo-filter</module>
		<module>dubbo-cluster</module>
		<module>dubbo-registry</module>
		<module>dubbo-monitor</module>
		<module>dubbo-config</module>

		<module>hessian-lite</module>
		
		<module>frameworkx-package</module>
	</modules>
	<properties>
		<!-- Common libs -->
		<project.parent.version>1.0-SNAPSHOT</project.parent.version>
		<spring.bom.version>3.2.9.RELEASE</spring.bom.version>
		<javassist_version>3.20.0-GA</javassist_version>
		<netty_version>3.7.0.Final</netty_version>
		<mina_version>1.1.7</mina_version>
		<grizzly_version>2.1.4</grizzly_version>
		<httpclient_version>4.5.3</httpclient_version>
		<hessian_lite_version>3.2.1-fixed-2</hessian_lite_version>
		<xstream_version>1.4.1</xstream_version>
		<fastjson_version>1.2.38</fastjson_version>
		<bsf_version>3.1</bsf_version>
		<sorcerer_version>0.8</sorcerer_version>
		<zookeeper_version>3.4.9</zookeeper_version>
		<zkclient_version>0.2</zkclient_version>
		<curator_version>2.12.0</curator_version>
		<jedis_version>2.9.0</jedis_version>
		<xmemcached_version>1.3.6</xmemcached_version>
		<cxf_version>3.0.14</cxf_version>
		<thrift2_version>0.10.0</thrift2_version>
		<avro_version>1.8.0</avro_version>
		<jfreechart_version>1.0.13</jfreechart_version>
		<hessian_version>4.0.38</hessian_version>
		<servlet_version>3.1.0</servlet_version>
		<jetty_version>6.1.26</jetty_version>
		<validation_version>1.1.0.Final</validation_version>
		<hibernate_validator_version>5.4.1.Final</hibernate_validator_version>
		<jcache_version>1.0.0</jcache_version>
		<jel_version>3.0.1-b08</jel_version>
		<sca_version>2.0-M5.1</sca_version>
		<guice_version>3.0</guice_version>
		<cglib_version>2.2</cglib_version>
		<webx_version>3.0.8</webx_version>
		<jackson_version>2.8.5</jackson_version>
		<commons_pool_version>1.6</commons_pool_version>
		<tomcat_embed_version>8.0.44</tomcat_embed_version>
		<!-- Log libs -->
		<slf4j_version>1.7.25</slf4j_version>
		<jcl_version>1.2</jcl_version>
		<log4j_version>1.2.16</log4j_version>
		<logback_version>1.2.3</logback_version>
		<!-- Test libs -->
		<junit_version>4.10</junit_version>
		<easymock_version>3.0</easymock_version>
		<jmockit_version>0.999.8</jmockit_version>
		<resteasy_version>3.1.4.Final</resteasy_version>
		<!-- Build args -->
		<argline>-server -Xms64m -Xmx256m -XX:PermSize=64m
			-XX:MaxPermSize=128m -Dfile.encoding=UTF-8
			-Djava.net.preferIPv4Stack=true</argline>
		<build.skip_maven_deploy>false</build.skip_maven_deploy>
		<updateReleaseInfo>true</updateReleaseInfo>
		<project.build.sourceEncoding>${file_encoding}</project.build.sourceEncoding>

		<!-- generate idea copyright -->
		<copyright></copyright>
		<profile.name>oss</profile.name>

		<!-- for maven compiler plugin -->
		<maven_compiler_plugin_version>3.5.1</maven_compiler_plugin_version>
		<java_source_version>1.8</java_source_version>
		<java_target_version>1.8</java_target_version>
		<file_encoding>UTF-8</file_encoding>

		<maven_source_plugin_version>2.1.1</maven_source_plugin_version>
		<maven_jar_plugin_version>2.3.2</maven_jar_plugin_version>
		<maven_war_plugin_version>2.1.1</maven_war_plugin_version>
		<maven_install_plugin_version>2.4</maven_install_plugin_version>
		<maven_deploy_plugin_version>2.5</maven_deploy_plugin_version>

		<maven-surefire-plugin_version>3.1</maven-surefire-plugin_version>
		<c3p0_version>0.9.1.2</c3p0_version>
		<mysql_connector_version>5.1.29</mysql_connector_version>
	</properties>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.apache.thrift</groupId>
				<artifactId>libthrift</artifactId>
				<version>${thrift2_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.avro</groupId>
				<artifactId>avro</artifactId>
				<version>${avro_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.avro</groupId>
				<artifactId>avro-ipc</artifactId>
				<version>${avro_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>3.4</version>
			</dependency>
			<!-- Common libs -->
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-framework-bom</artifactId>
				<version>${spring.bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.javassist</groupId>
				<artifactId>javassist</artifactId>
				<version>${javassist_version}</version>
			</dependency>
			<dependency>
				<groupId>io.netty</groupId>
				<artifactId>netty</artifactId>
				<version>${netty_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.mina</groupId>
				<artifactId>mina-core</artifactId>
				<version>${mina_version}</version>
			</dependency>
			<dependency>
				<groupId>org.glassfish.grizzly</groupId>
				<artifactId>grizzly-core</artifactId>
				<version>${grizzly_version}</version>
			</dependency>
			<dependency>
				<groupId>org.glassfish</groupId>
				<artifactId>javax.el</artifactId>
				<version>${jel_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>${httpclient_version}</version>
			</dependency>
			<dependency>
				<groupId>net.jahhan</groupId>
				<artifactId>hessian-lite</artifactId>
				<version>${hessian_lite_version}</version>
			</dependency>
			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>fastjson</artifactId>
				<version>${fastjson_version}</version>
			</dependency>
			<dependency>
				<groupId>com.thoughtworks.xstream</groupId>
				<artifactId>xstream</artifactId>
				<version>${xstream_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.bsf</groupId>
				<artifactId>bsf-api</artifactId>
				<version>${bsf_version}</version>
			</dependency>
			<dependency>
				<groupId>org.jvnet.sorcerer</groupId>
				<artifactId>sorcerer-javac</artifactId>
				<version>${sorcerer_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.zookeeper</groupId>
				<artifactId>zookeeper</artifactId>
				<version>${zookeeper_version}</version>
			</dependency>
			<dependency>
				<groupId>com.101tec</groupId>
				<artifactId>zkclient</artifactId>
				<version>${zkclient_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.curator</groupId>
				<artifactId>curator-framework</artifactId>
				<version>${curator_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.curator</groupId>
				<artifactId>curator-recipes</artifactId>
				<version>${curator_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.curator</groupId>
				<artifactId>curator-client</artifactId>
				<version>${curator_version}</version>
			</dependency>
			<dependency>
				<groupId>redis.clients</groupId>
				<artifactId>jedis</artifactId>
				<version>${jedis_version}</version>
			</dependency>
			<dependency>
				<groupId>com.googlecode.xmemcached</groupId>
				<artifactId>xmemcached</artifactId>
				<version>${xmemcached_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-rt-frontend-simple</artifactId>
				<version>${cxf_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-rt-transports-http</artifactId>
				<version>${cxf_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.thrift</groupId>
				<artifactId>libthrift</artifactId>
				<version>${thrift2_version}</version>
			</dependency>
			<dependency>
				<groupId>jfree</groupId>
				<artifactId>jfreechart</artifactId>
				<version>${jfreechart_version}</version>
			</dependency>
			<dependency>
				<groupId>com.caucho</groupId>
				<artifactId>hessian</artifactId>
				<version>${hessian_version}</version>
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>javax.servlet-api</artifactId>
				<version>${servlet_version}</version>
			</dependency>
			<dependency>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>jetty</artifactId>
				<version>${jetty_version}</version>
			</dependency>
			<dependency>
				<groupId>javax.validation</groupId>
				<artifactId>validation-api</artifactId>
				<version>${validation_version}</version>
			</dependency>
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-validator</artifactId>
				<version>${hibernate_validator_version}</version>
			</dependency>
			<dependency>
				<groupId>javax.cache</groupId>
				<artifactId>cache-api</artifactId>
				<version>${jcache_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.tuscany.sca</groupId>
				<artifactId>tuscany-sca-api</artifactId>
				<version>${sca_version}</version>
			</dependency>
			<dependency>
				<groupId>com.google.inject</groupId>
				<artifactId>guice</artifactId>
				<version>${guice_version}</version>
			</dependency>
			<dependency>
				<groupId>com.alibaba.citrus</groupId>
				<artifactId>citrus-webx-all</artifactId>
				<version>${webx_version}</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-core</artifactId>
				<version>${jackson_version}</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-databind</artifactId>
				<version>${jackson_version}</version>
			</dependency>
			<!-- Log libs -->
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j_version}</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
				<version>${slf4j_version}</version>
			</dependency>
			<dependency>
				<groupId>commons-logging</groupId>
				<artifactId>commons-logging</artifactId>
				<version>${jcl_version}</version>
			</dependency>
			<dependency>
				<groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
				<version>${log4j_version}</version>
			</dependency>
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
				<version>${logback_version}</version>
			</dependency>
			<!-- Test libs -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit_version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.easymock</groupId>
				<artifactId>easymock</artifactId>
				<version>${easymock_version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.googlecode.jmockit</groupId>
				<artifactId>jmockit</artifactId>
				<version>${jmockit_version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.easymock</groupId>
				<artifactId>easymockclassextension</artifactId>
				<version>${easymock_version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>cglib</groupId>
				<artifactId>cglib-nodep</artifactId>
				<version>${cglib_version}</version>
			</dependency>
			<dependency>
				<groupId>commons-pool</groupId>
				<artifactId>commons-pool</artifactId>
				<version>${commons_pool_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.tomcat.embed</groupId>
				<artifactId>tomcat-embed-core</artifactId>
				<version>${tomcat_embed_version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.tomcat.embed</groupId>
				<artifactId>tomcat-embed-logging-juli</artifactId>
				<version>${tomcat_embed_version}</version>
			</dependency>

			<!-- TODO move versions into properties -->
			<dependency>
				<groupId>javax.ws.rs</groupId>
				<artifactId>javax.ws.rs-api</artifactId>
				<version>2.0</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.resteasy</groupId>
				<artifactId>resteasy-jaxrs</artifactId>
				<version>${resteasy_version}</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.resteasy</groupId>
				<artifactId>resteasy-client</artifactId>
				<version>${resteasy_version}</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.resteasy</groupId>
				<artifactId>resteasy-netty</artifactId>
				<version>${resteasy_version}</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.resteasy</groupId>
				<artifactId>resteasy-jdk-http</artifactId>
				<version>${resteasy_version}</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.resteasy</groupId>
				<artifactId>resteasy-jackson-provider</artifactId>
				<version>${resteasy_version}</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.resteasy</groupId>
				<artifactId>resteasy-jaxb-provider</artifactId>
				<version>${resteasy_version}</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.resteasy</groupId>
				<artifactId>resteasy-servlet-initializer</artifactId>
				<version>${resteasy_version}</version>
			</dependency>
			<dependency>
				<groupId>com.esotericsoftware.kryo</groupId>
				<artifactId>kryo</artifactId>
				<version>2.24.0</version>
			</dependency>
			<dependency>
				<groupId>de.javakaffee</groupId>
				<artifactId>kryo-serializers</artifactId>
				<version>0.26</version>
			</dependency>
			<dependency>
				<groupId>de.ruedigermoeller</groupId>
				<artifactId>fst</artifactId>
				<version>1.55</version>
			</dependency>

			<dependency>
				<groupId>c3p0</groupId>
				<artifactId>c3p0</artifactId>
				<version>${c3p0_version}</version>
			</dependency>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>${mysql_connector_version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
		</dependency>
		<dependency>
			<groupId>org.easymock</groupId>
			<artifactId>easymock</artifactId>
		</dependency>
		<dependency>
			<groupId>org.easymock</groupId>
			<artifactId>easymockclassextension</artifactId>
		</dependency>
		<dependency>
			<groupId>com.googlecode.jmockit</groupId>
			<artifactId>jmockit</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<addMavenDescriptor>true</addMavenDescriptor>
						<index>true</index>
						<manifest>
							<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
						</manifest>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-source-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-sources</id>
						<phase>verify</phase>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<configuration>
					<skip>${build.skip_maven_deploy}</skip>
				</configuration>
			</plugin>
		</plugins>

		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>${maven_jar_plugin_version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-war-plugin</artifactId>
					<version>${maven_war_plugin_version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-install-plugin</artifactId>
					<version>${maven_install_plugin_version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>${maven_deploy_plugin_version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<configuration>
						<fork>true</fork>
						<source>${java_source_version}</source>
						<target>${java_target_version}</target>
						<encoding>${file_encoding}</encoding>
						<compilerArgs>
							<arg>-parameters</arg>
						</compilerArgs>
					</configuration>
				</plugin>
				<!--This plugin's configuration is used to store Eclipse m2e settings 
					only. It has no influence on the Maven build itself. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.apache.maven.plugins
										</groupId>
										<artifactId>
											maven-dependency-plugin
										</artifactId>
										<versionRange>
											[2.1,)
										</versionRange>
										<goals>
											<goal>unpack</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>

	</build>

</project>
