<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/xsd/maven-4.0.0.xsd">

	<modelVersion>4.0.0</modelVersion>
	<inceptionYear>2018</inceptionYear>
	<groupId>com.alibaba.nacos</groupId>
	<artifactId>nacos-all</artifactId>
	<version>0.2.1-RC1</version>
	<packaging>pom</packaging>

	<name>Alibaba NACOS ${project.version}</name>
	<description>Top Nacos project pom.xml file</description>
	<url>http://nacos.io</url>
	<prerequisites>
		<maven>3.2.5</maven>
	</prerequisites>


	<scm>
		<url>git@github.com:alibaba/nacos.git</url>
		<connection>scm:git@github.com:alibaba/nacos.git</connection>
		<developerConnection>scm:git@github.com:alibaba/nacos.git</developerConnection>
		<tag>nacos-all-0.2.1-RC1</tag>
	</scm>

	<mailingLists>
		<mailingList>
			<name>Development List</name>
			<subscribe>dev-nacos+subscribe@googlegroups.com</subscribe>
			<unsubscribe>dev-nacos+unsubscribe@googlegroups.com</unsubscribe>
			<post>dev-nacos@googlegroups.com</post>
		</mailingList>
		<mailingList>
			<name>User List</name>
			<subscribe>users-nacos+subscribe@googlegroups.com</subscribe>
			<unsubscribe>users-nacos+unsubscribe@googlegroups.com</unsubscribe>
			<post>users-nacos@googlegroups.com</post>
		</mailingList>
		<mailingList>
			<name>Commits List</name>
			<subscribe>commits-nacos+subscribe@googlegroups.com</subscribe>
			<unsubscribe>commits-nacos+unsubscribe@googlegroups.com</unsubscribe>
			<post>commits-nacos@googlegroups.com</post>
		</mailingList>
	</mailingLists>

	<developers>
		<developer>
			<id>Alibaba Nacos</id>
			<name>Nacos</name>
			<url>http://nacos.io</url>
			<email>nacos_dev@linux.alibaba.com</email>
		</developer>
	</developers>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<organization>
		<name>Alibaba Group</name>
		<url>https://github.com/alibaba</url>
	</organization>

	<issueManagement>
		<system>github</system>
		<url>https://github.com/alibaba/nacos/issues</url>
	</issueManagement>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

		<!-- Maven properties -->
		<maven.test.skip>false</maven.test.skip>
		<maven.javadoc.skip>true</maven.javadoc.skip>
		<!-- Compiler settings properties -->
		<maven.compiler.source>1.6</maven.compiler.source>
		<maven.compiler.target>1.6</maven.compiler.target>
		<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
		<!-- Exclude all generated code -->
		<sonar.jacoco.itReportPath>${project.basedir}/../test/target/jacoco-it.exec</sonar.jacoco.itReportPath>
		<sonar.exclusions>file:**/generated-sources/**,**/test/**</sonar.exclusions>

	</properties>
	<!-- == -->
	<!-- =========================================================Build plugins================================================ -->
	<!-- == -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>versions-maven-plugin</artifactId>
				<version>2.2</version>
			</plugin>
			<plugin>
				<groupId>com.github.vongosling</groupId>
				<artifactId>dependency-mediator-maven-plugin</artifactId>
				<version>1.0.2</version>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>clirr-maven-plugin</artifactId>
				<version>2.7</version>
			</plugin>
			<plugin>
				<artifactId>maven-enforcer-plugin</artifactId>
				<version>1.4.1</version>
				<executions>
					<execution>
						<id>enforce-ban-circular-dependencies</id>
						<goals>
							<goal>enforce</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<rules>
						<banCircularDependencies />
					</rules>
					<fail>true</fail>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>extra-enforcer-rules</artifactId>
						<version>1.0-beta-4</version>
					</dependency>
				</dependencies>
			</plugin>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.5.1</version>
				<configuration>
					<source>${maven.compiler.source}</source>
					<target>${maven.compiler.target}</target>
					<compilerVersion>${maven.compiler.source}</compilerVersion>
					<showDeprecation>true</showDeprecation>
					<showWarnings>true</showWarnings>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.4</version>
				<configuration>
					<charset>UTF-8</charset>
				</configuration>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-source-plugin</artifactId>
				<version>3.0.1</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-pmd-plugin</artifactId>
				<version>3.8</version>
				<configuration>
					<rulesets>
						<ruleset>rulesets/java/ali-comment.xml</ruleset>
						<ruleset>rulesets/java/ali-concurrent.xml</ruleset>
						<ruleset>rulesets/java/ali-constant.xml</ruleset>
						<ruleset>rulesets/java/ali-exception.xml</ruleset>
						<ruleset>rulesets/java/ali-flowcontrol.xml</ruleset>
						<ruleset>rulesets/java/ali-naming.xml</ruleset>
						<ruleset>rulesets/java/ali-oop.xml</ruleset>
						<ruleset>rulesets/java/ali-orm.xml</ruleset>
						<ruleset>rulesets/java/ali-other.xml</ruleset>
						<ruleset>rulesets/java/ali-set.xml</ruleset>
					</rulesets>
					<printFailingErrors>true</printFailingErrors>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
				<dependencies>
					<dependency>
						<groupId>com.alibaba.p3c</groupId>
						<artifactId>p3c-pmd</artifactId>
						<version>1.3.0</version>
					</dependency>
				</dependencies>
			</plugin>
			<plugin>
				<groupId>org.apache.rat</groupId>
				<artifactId>apache-rat-plugin</artifactId>
				<version>0.12</version>
				<configuration>
					<excludes>
						<exclude>.travis.yml</exclude>
						<exclude>CONTRIBUTING.md</exclude>
						<exclude>bin/README.md</exclude>
						<exclude>.github/*</exclude>
						<exclude>src/test/resources/certs/*</exclude>
					</excludes>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-resources-plugin</artifactId>
				<version>3.0.2</version>
				<configuration>
					<!-- We are not suppose to setup the customer resources here -->
					<encoding>${project.build.sourceEncoding}</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.eluder.coveralls</groupId>
				<artifactId>coveralls-maven-plugin</artifactId>
				<version>4.3.0</version>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.8</version>
				<executions>
					<execution>
						<id>default-prepare-agent</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<destFile>${project.build.directory}/jacoco.exec</destFile>
						</configuration>
					</execution>
					<execution>
						<id>default-prepare-agent-integration</id>
						<phase>pre-integration-test</phase>
						<goals>
							<goal>prepare-agent-integration</goal>
						</goals>
						<configuration>
							<destFile>${project.build.directory}/jacoco-it.exec</destFile>
							<propertyName>failsafeArgLine</propertyName>
						</configuration>
					</execution>
					<execution>
						<id>default-report</id>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
					<execution>
						<id>default-report-integration</id>
						<goals>
							<goal>report-integration</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.19.1</version>
				<configuration>
					<forkCount>1</forkCount>
					<reuseForks>true</reuseForks>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
				<version>3.0.4</version>
			</plugin>
			<plugin>
				<groupId>org.sonarsource.scanner.maven</groupId>
				<artifactId>sonar-maven-plugin</artifactId>
				<version>3.0.2</version>
			</plugin>
		</plugins>

	</build>

	<profiles>
		<profile>
			<id>jdk7</id>
			<activation>
				<jdk>[1.7,)</jdk>
			</activation>
			<!-- Disable doclint under JDK 8 -->
			<reporting>
				<plugins>
					<plugin>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>2.10.4</version>
						<configuration>
							<additionalparam>-Xdoclint:none</additionalparam>
						</configuration>
					</plugin>
				</plugins>
			</reporting>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>2.10.4</version>
						<configuration>
							<additionalparam>-Xdoclint:none</additionalparam>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>release-sign-artifacts</id>
			<!--<activation>-->
			<!--<property>-->
			<!--<name>performRelease</name>-->
			<!--<value>true</value>-->
			<!--</property>-->
			<!--</activation>-->

			<properties>
				<maven.javadoc.skip>false</maven.javadoc.skip>
			</properties>

			<build>
				<plugins>
					<plugin>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.5</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>

			<distributionManagement>
				<snapshotRepository>
					<!-- 这里的ID一定要在maven setting文件中存在于server下的ID -->
					<id>sona</id>
					<url>https://oss.sonatype.org/content/repositories/snapshots</url>
				</snapshotRepository>
				<repository>
					<id>sona</id>
					<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
				</repository>
			</distributionManagement>

		</profile>
		<profile>
			<id>it-test</id>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-failsafe-plugin</artifactId>
						<version>2.19.1</version>
						<configuration>
							<argLine>@{failsafeArgLine}</argLine>
							<argLine>-Dnacos.standalone=true</argLine>
							<includes>
								<include>**/*ITCase.java</include>
							</includes>
							<excludes>
								<exclude>**/RestAPI_ITCase.java</exclude>
							</excludes>
						</configuration>
						<executions>
							<execution>
								<goals>
									<goal>integration-test</goal>
									<goal>verify</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>sonar-apache</id>
			<properties>
				<!-- URL of the ASF SonarQube server -->
				<sonar.host.url>https://builds.apache.org/analysis</sonar.host.url>
			</properties>
		</profile>
	</profiles>
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
				<version>3.0.1</version>
			</plugin>
		</plugins>
	</reporting>

	<!-- 子模块管理 -->
	<modules>
		<module>config</module>
		<module>core</module>
		<module>naming</module>
		<module>test</module>
		<module>api</module>
		<module>client</module>
		<module>example</module>
		<module>common</module>
		<module>distribution</module>
		<module>console</module>
	</modules>

	<!-- 所有的子项目默认依赖 -->
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<version>2.0.1.RELEASE</version>
			<scope>test</scope>
		</dependency>

	</dependencies>

	<!-- 管理依赖版本号,子项目不会默认依赖 -->
	<dependencyManagement>
		<dependencies>
			<dependency>
				<!-- Import dependency management from Spring Boot -->
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>2.0.1.RELEASE</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>nacos-config</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>nacos-core</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>nacos-naming</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>nacos-api</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>nacos-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>nacos-test</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>nacos-common</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>nacos-console</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>nacos-distribution</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>nacos-example</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>1.7.7</version>
			</dependency>
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
				<version>1.2.3</version>
			</dependency>
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-core</artifactId>
				<version>1.2.3</version>
			</dependency>
			<dependency>
				<groupId>commons-cli</groupId>
				<artifactId>commons-cli</artifactId>
				<version>1.2</version>
			</dependency>
			<dependency>
				<groupId>io.netty</groupId>
				<artifactId>netty-all</artifactId>
				<version>4.0.42.Final</version>
			</dependency>
			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>fastjson</artifactId>
				<version>1.2.47</version>
			</dependency>
			<dependency>
				<groupId>com.ning</groupId>
				<artifactId>async-http-client</artifactId>
				<version>1.7.17</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>3.4</version>
			</dependency>
			<dependency>
				<groupId>commons-lang</groupId>
				<artifactId>commons-lang</artifactId>
				<version>2.6</version>
			</dependency>
			<dependency>
				<groupId>commons-collections</groupId>
				<artifactId>commons-collections</artifactId>
				<version>3.2.2</version>
			</dependency>
			<dependency>
				<groupId>commons-logging</groupId>
				<artifactId>commons-logging</artifactId>
				<version>1.2</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-core-asl</artifactId>
				<version>1.9.10</version>
			</dependency>
			<dependency>
				<groupId>com.taobao.middleware</groupId>
				<artifactId>logger.api</artifactId>
				<version>0.2.1-SNAPSHOT</version>
			</dependency>
			<dependency>
				<groupId>apache-log4j</groupId>
				<artifactId>log4j</artifactId>
				<version>1.2.15</version>
			</dependency>
			<dependency>
				<groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
				<version>1.2.17</version>
			</dependency>
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-core</artifactId>
				<version>2.10.0</version>
			</dependency>
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-slf4j-impl</artifactId>
				<version>2.10.0</version>
			</dependency>
			<dependency>
				<groupId>com.github.spotbugs</groupId>
				<artifactId>spotbugs-annotations</artifactId>
				<version>3.1.3</version>
			</dependency>
			<!-- config-->

			<dependency>
				<groupId>javax.ws.rs</groupId>
				<artifactId>javax.ws.rs</artifactId>
				<version>2.1</version>
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>servlet-api</artifactId>
				<version>3.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>taglibs</groupId>
				<artifactId>standard</artifactId>
				<version>1.1.2</version>
			</dependency>

			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>2.2</version>
			</dependency>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>5.1.34</version>
			</dependency>

			<dependency>
				<groupId>commons-dbcp</groupId>
				<artifactId>commons-dbcp</artifactId>
				<version>1.4</version>
			</dependency>

			<dependency>
				<groupId>org.apache.derby</groupId>
				<artifactId>derby</artifactId>
				<version>10.10.1.1</version>
			</dependency>

			<dependency>
				<groupId>cglib</groupId>
				<artifactId>cglib-nodep</artifactId>
				<version>2.1</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpasyncclient</artifactId>
				<version>4.1.3</version>
			</dependency>
			<dependency>
				<groupId>net.jcip</groupId>
				<artifactId>jcip-annotations</artifactId>
				<version>1.0</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-mapper-lgpl</artifactId>
				<version>1.9.6</version>
			</dependency>
			<!-- config-->


			<!-- naming -->
			<dependency>
				<groupId>org.apache.mina</groupId>
				<artifactId>mina-core</artifactId>
				<version>2.0.0-RC1</version>
			</dependency>
			<dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>19.0</version>
			</dependency>
			<dependency>
				<groupId>org.javatuples</groupId>
				<artifactId>javatuples</artifactId>
				<version>1.2</version>
			</dependency>
			<dependency>
				<groupId>org.apache.velocity</groupId>
				<artifactId>velocity</artifactId>
				<version>1.7</version>
			</dependency>
			<dependency>
				<groupId>org.apache.velocity</groupId>
				<artifactId>velocity-tools</artifactId>
				<version>2.0</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
					<exclusion>
						<artifactId>commons-digester</artifactId>
						<groupId>commons-digester</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpcore</artifactId>
				<version>4.4.1</version>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>4.5</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<!-- naming -->
		</dependencies>
	</dependencyManagement>

	<distributionManagement>
		<repository>
			<id>releases</id>
			<url>http://mvnrepo.alibaba-inc.com/mvn/releases</url>
		</repository>
		<snapshotRepository>
			<id>snapshots</id>
			<url>http://mvnrepo.alibaba-inc.com/mvn/snapshots</url>
		</snapshotRepository>
	</distributionManagement>

</project>

