<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>
	<groupId>net.jahhan</groupId>
	<artifactId>parent</artifactId>
	<version>1.0.0-RELEASE</version>
	<packaging>pom</packaging>
	<name>${project.artifactId}</name>
	<description>The cluster module of jahhan project</description>
	<url>https://github.com/nince-wyj/jahhan</url>
	
	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0</url>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>nince</name>
			<email>412845688@qq.com</email>
			<roles>
				<role>developer</role>
			</roles>
			<timezone>+8</timezone>
		</developer>
	</developers>

	<scm>
		<connection>scm:git:https://github.com/nince-wyj/jahhan.git</connection>
		<developerConnection>scm:git:https://github.com/nince-wyj/jahhan.git</developerConnection>
		<url>https://github.com/nince-wyj/jahhan</url>
		<tag>${project.version}</tag>
	</scm>

	<distributionManagement>
		<snapshotRepository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<repository>
			<id>ossmv</id>
			<name>Maven Central Staging Repository</name>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
		</repository>
	</distributionManagement>

	<modules>
		<module>common-plugin-util</module>

		<module>jdbc</module>
		<module>cache</module>
		<module>apidoc</module>
		<module>logappend</module>
		<module>register</module>

		<module>frameworkx</module>
<!-- 		<module>package</module> -->
<!-- 		<module>sdk</module> -->
		<module>spring-guice</module>
<!-- 		<module>supported</module> -->

<!-- 		<module>dependency</module> -->
<!-- 		<module>mq</module> -->
	</modules>
	<properties>
		<!-- libs version -->
		<version.aspectj>1.6.8</version.aspectj>
		<version.c3p0>0.9.1.2</version.c3p0>
		<version.cxf>3.0.14</version.cxf>
		<version.commons_lang3>3.4</version.commons_lang3>
		<version.commons_logging>1.2</version.commons_logging>
		<version.curator>2.12.0</version.curator>
		<version.dubbo>2.6.0</version.dubbo>
		<version.ehcache>2.10.4</version.ehcache>
		<version.fastjson>1.2.38</version.fastjson>
		<version.fst>1.55</version.fst>
		<version.guice>4.0</version.guice>
		<version.hessian>4.0.38</version.hessian>
		<version.hibernate_validator>5.4.1.Final</version.hibernate_validator>
		<version.jackson>2.8.5</version.jackson>
		<version.javassist>3.20.0-GA</version.javassist>
		<version.javax_el>3.0.1-b08</version.javax_el>
		<version.javax_ws_rs>2.0</version.javax_ws_rs>
		<version.jedis>2.9.0</version.jedis>
		<version.jetty>6.1.26</version.jetty>
		<version.kryo>2.24.0</version.kryo>
		<version.kryo_serializers>0.26</version.kryo_serializers>
		<version.logback>1.2.3</version.logback>
		<version.mysql_connector>5.1.29</version.mysql_connector>
		<version.resteasy>3.1.4.Final</version.resteasy>
		<version.servlet>3.1.0</version.servlet>
		<version.slf4j>1.7.25</version.slf4j>
		<version.spring>4.3.10.RELEASE</version.spring>
		<version.spring_boot>1.5.9.RELEASE</version.spring_boot>
		<version.tomcat_embed>8.0.44</version.tomcat_embed>
		<version.validation>1.1.0.Final</version.validation>
		<version.xmemcached>1.3.6</version.xmemcached>
		<version.zkclient>0.2</version.zkclient>
		<version.zookeeper>3.4.9</version.zookeeper>

		<!-- test libs version -->
		<version.easymock>3.0</version.easymock>
		<version.jmockit>0.999.8</version.jmockit>
		<version.junit>4.10</version.junit>

		<!-- Build args -->
		<build.argline>-server -Xms64m -Xmx256m -XX:PermSize=64m
			-XX:MaxPermSize=128m -Dfile.encoding=UTF-8
			-Djava.net.preferIPv4Stack=true</build.argline>
		<build.skip_maven_deploy>false</build.skip_maven_deploy>
		<build.java_source_version>1.8</build.java_source_version>
		<build.java_target_version>1.8</build.java_target_version>
		<build.file_encoding>UTF-8</build.file_encoding>

		<!-- for maven compiler plugin -->
		<maven_version.compiler_plugin>3.5.1</maven_version.compiler_plugin>
		<maven_version.source_plugin>2.1.1</maven_version.source_plugin>
		<maven_version.jar_plugin>2.3.2</maven_version.jar_plugin>
		<maven_version.war_plugin>2.1.1</maven_version.war_plugin>
		<maven_version.install_plugin>2.4</maven_version.install_plugin>
		<maven_version.deploy_plugin>2.5</maven_version.deploy_plugin>
		<maven_version.javadoc_plugin>3.0.0</maven_version.javadoc_plugin>
		<maven_version.surefire_plugin>3.1</maven_version.surefire_plugin>
		<maven_version.nexus_staging_maven_plugin>1.6.3</maven_version.nexus_staging_maven_plugin>
	</properties>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>${version.commons_lang3}</version>
			</dependency>
			<dependency>
				<groupId>org.javassist</groupId>
				<artifactId>javassist</artifactId>
				<version>${version.javassist}</version>
			</dependency>
			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>fastjson</artifactId>
				<version>${version.fastjson}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.zookeeper</groupId>
				<artifactId>zookeeper</artifactId>
				<version>${version.zookeeper}</version>
			</dependency>
			<dependency>
				<groupId>com.101tec</groupId>
				<artifactId>zkclient</artifactId>
				<version>${version.zkclient}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.curator</groupId>
				<artifactId>curator-framework</artifactId>
				<version>${version.curator}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.curator</groupId>
				<artifactId>curator-recipes</artifactId>
				<version>${version.curator}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.curator</groupId>
				<artifactId>curator-client</artifactId>
				<version>${version.curator}</version>
			</dependency>
			<dependency>
				<groupId>redis.clients</groupId>
				<artifactId>jedis</artifactId>
				<version>${version.jedis}</version>
			</dependency>

			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>javax.servlet-api</artifactId>
				<version>${version.servlet}</version>
			</dependency>
			<dependency>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>jetty</artifactId>
				<version>${version.jetty}</version>
			</dependency>
			<dependency>
				<groupId>javax.validation</groupId>
				<artifactId>validation-api</artifactId>
				<version>${version.validation}</version>
			</dependency>
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-validator</artifactId>
				<version>${version.hibernate_validator}</version>
			</dependency>
			<dependency>
				<groupId>javax.cache</groupId>
				<artifactId>cache-api</artifactId>
				<version>${jcache_version}</version>
			</dependency>

			<dependency>
				<groupId>com.google.inject</groupId>
				<artifactId>guice</artifactId>
				<version>${version.guice}</version>
			</dependency>

			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-core</artifactId>
				<version>${version.jackson}</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-databind</artifactId>
				<version>${version.jackson}</version>
			</dependency>

			<!-- TODO move versions into properties -->
			<dependency>
				<groupId>org.jboss.resteasy</groupId>
				<artifactId>resteasy-jaxrs</artifactId>
				<version>${version.resteasy}</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.resteasy</groupId>
				<artifactId>resteasy-client</artifactId>
				<version>${version.resteasy}</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.resteasy</groupId>
				<artifactId>resteasy-netty</artifactId>
				<version>${version.resteasy}</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.resteasy</groupId>
				<artifactId>resteasy-jdk-http</artifactId>
				<version>${version.resteasy}</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.resteasy</groupId>
				<artifactId>resteasy-jackson-provider</artifactId>
				<version>${version.resteasy}</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.resteasy</groupId>
				<artifactId>resteasy-jaxb-provider</artifactId>
				<version>${version.resteasy}</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.resteasy</groupId>
				<artifactId>resteasy-servlet-initializer</artifactId>
				<version>${version.resteasy}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.tomcat.embed</groupId>
				<artifactId>tomcat-embed-core</artifactId>
				<version>${version.tomcat_embed}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.tomcat.embed</groupId>
				<artifactId>tomcat-embed-logging-juli</artifactId>
				<version>${version.tomcat_embed}</version>
			</dependency>
			<dependency>
				<groupId>org.glassfish</groupId>
				<artifactId>javax.el</artifactId>
				<version>${version.javax_el}</version>
			</dependency>
			<dependency>
				<groupId>com.caucho</groupId>
				<artifactId>hessian</artifactId>
				<version>${version.hessian}</version>
			</dependency>
			<dependency>
				<groupId>com.googlecode.xmemcached</groupId>
				<artifactId>xmemcached</artifactId>
				<version>${version.xmemcached}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-rt-frontend-simple</artifactId>
				<version>${version.cxf}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-rt-transports-http</artifactId>
				<version>${version.cxf}</version>
			</dependency>
			<dependency>
				<groupId>com.esotericsoftware.kryo</groupId>
				<artifactId>kryo</artifactId>
				<version>${version.kryo}</version>
			</dependency>
			<dependency>
				<groupId>de.javakaffee</groupId>
				<artifactId>kryo-serializers</artifactId>
				<version>${version.kryo_serializers}</version>
			</dependency>
			<dependency>
				<groupId>de.ruedigermoeller</groupId>
				<artifactId>fst</artifactId>
				<version>${version.fst}</version>
			</dependency>
			<!-- Log libs -->
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${version.slf4j}</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-log4j12</artifactId>
				<version>${version.slf4j}</version>
			</dependency>
			<dependency>
				<groupId>commons-logging</groupId>
				<artifactId>commons-logging</artifactId>
				<version>${version.commons_logging}</version>
			</dependency>

			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
				<version>${version.logback}</version>
			</dependency>
			<!-- Test libs -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${version.junit}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.easymock</groupId>
				<artifactId>easymock</artifactId>
				<version>${version.easymock}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.googlecode.jmockit</groupId>
				<artifactId>jmockit</artifactId>
				<version>${version.jmockit}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.easymock</groupId>
				<artifactId>easymockclassextension</artifactId>
				<version>${version.easymock}</version>
				<scope>test</scope>
			</dependency>

			<!-- TODO move versions into properties -->
			<dependency>
				<groupId>javax.ws.rs</groupId>
				<artifactId>javax.ws.rs-api</artifactId>
				<version>${version.javax_ws_rs}</version>
			</dependency>

			<dependency>
				<groupId>c3p0</groupId>
				<artifactId>c3p0</artifactId>
				<version>${version.c3p0}</version>
			</dependency>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>${version.mysql_connector}</version>
			</dependency>


			<dependency>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>jetty</artifactId>
				<version>${version.jetty}</version>
			</dependency>

			<dependency>
				<groupId>net.sf.ehcache</groupId>
				<artifactId>ehcache</artifactId>
				<version>${version.ehcache}</version>
			</dependency>

			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>dubbo</artifactId>
				<version>${version.dubbo}</version>
			</dependency>

			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-framework-bom</artifactId>
				<version>${version.spring}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-jersey</artifactId>
				<version>${version.spring_boot}</version>
				<type>pom</type>
				<scope>import</scope>
			</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.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>${maven_version.nexus_staging_maven_plugin}</version>
				<extensions>true</extensions>
				<configuration>
					<serverId>ossrh</serverId>
					<nexusUrl>https://oss.sonatype.org/</nexusUrl>
					<autoReleaseAfterClose>true</autoReleaseAfterClose>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-javadoc-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-javadoc</id>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
							<doclint>none</doclint>
						</configuration>
					</execution>
				</executions>
				<configuration>
					<show>public</show>
					<charset>${build.file_encoding}</charset>
					<encoding>${build.file_encoding}</encoding>
					<docencoding>${build.file_encoding}</docencoding>
					<links>
						<link>http://docs.oracle.com/javase/7/docs/api</link>
					</links>
				</configuration>
			</plugin>
			<plugin>
				<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>
				<artifactId>maven-deploy-plugin</artifactId>
				<configuration>
					<skip>${build.skip_maven_deploy}</skip>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<fork>true</fork>
					<source>${build.java_source_version}</source>
					<target>${build.java_target_version}</target>
					<encoding>${build.file_encoding}</encoding>
					<compilerArgs>
						<arg>-parameters</arg>
					</compilerArgs>
				</configuration>
			</plugin>
			<!-- GPG -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-gpg-plugin</artifactId>
				<executions>
					<execution>
						<phase>verify</phase>
						<goals>
							<goal>sign</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>

		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>${maven_version.javadoc_plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>${maven_version.jar_plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-war-plugin</artifactId>
					<version>${maven_version.war_plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-install-plugin</artifactId>
					<version>${maven_version.install_plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>${maven_version.deploy_plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>${maven_version.compiler_plugin}</version>
				</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>
