<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>
	<groupId>com.persagy</groupId>
	<artifactId>saas-platform</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging>

	<properties>
		<!-- java版本 -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<java.encoding>UTF-8</java.encoding>
		<java.version>8</java.version>
		<java.source.version>1.8</java.source.version>
		<java.target.version>1.8</java.target.version>

		<!-- spring版本依赖 -->
		<integrated-platform.version>1.0.0</integrated-platform.version>
		<spring-boot-dependencies.version>2.1.14.RELEASE</spring-boot-dependencies.version>
		<spring-cloud-dependencies.version>Greenwich.SR6</spring-cloud-dependencies.version>
		<mybatis-spring-boot-starter.version>1.3.2</mybatis-spring-boot-starter.version>

		<!-- 三方jar依赖 -->
		<mybatis-plus.version>3.3.1</mybatis-plus.version>
		<guava.version>20.0</guava.version>

		<!-- maven依赖 -->
		<maven.compiler.version>3.8.0</maven.compiler.version>
		<maven.surefire.version>2.22.1</maven.surefire.version>
		<maven.source.version>3.0.1</maven.source.version>
		<maven.javadoc.version>3.0.1</maven.javadoc.version>
		<maven.gpg.version>1.6</maven.gpg.version>
		<maven.jacoco.version>0.8.3</maven.jacoco.version>
		<maven.jar.version>3.1.0</maven.jar.version>
		<maven.pmd.version>3.8</maven.pmd.version>

	</properties>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>com.persagy</groupId>
				<artifactId>integrated-platform</artifactId>
				<version>${integrated-platform.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			
			<!-- saas-common -->
			<dependency>
				<groupId>com.persagy</groupId>
				<artifactId>saas-common</artifactId>
				<version>${project.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<!-- 公共依赖 -->
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
		</dependency>

		<!--需要引入该jar才能使bootstrap配置文件生效 -->
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-context</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
		</dependency>

		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-pmd-plugin</artifactId>
				<version>${maven.pmd.version}</version>
				<configuration>
					<sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
					<minimumPriority>1</minimumPriority>
					<excludeRoots>
						<excludeRoot>com/alibaba/csp/sentinel/benchmark</excludeRoot>
					</excludeRoots>
					<excludes>
						<exclude>**/*_jmhTest.java</exclude>
					</excludes>
					<printFailingErrors>true</printFailingErrors>
					<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>
				</configuration>
				<executions>
					<execution>
						<phase>verify</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
				<dependencies>
					<dependency>
						<groupId>com.alibaba.p3c</groupId>
						<artifactId>p3c-pmd</artifactId>
						<version>1.3.6</version>
					</dependency>
				</dependencies>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven.compiler.version}</version>
				<configuration>
					<source>${java.source.version}</source>
					<target>${java.target.version}</target>
					<encoding>${java.encoding}</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<!-- CircleCI build workaround -->
					<argLine>@{argLine} -Xms1024m -Xmx2048m</argLine>
					<argLine>-Dfile.encoding=UTF-8</argLine>
					<useSystemClassLoader>false</useSystemClassLoader>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>${maven.jacoco.version}</version>
				<executions>
					<execution>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>report</id>
						<phase>test</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${maven.surefire.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>${maven.jar.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-gpg-plugin</artifactId>
					<version>${maven.gpg.version}</version>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<profiles>
		<profile>
			<build>
				<plugins>
					<!-- Source -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<version>${maven.source.version}</version>
						<executions>
							<execution>
								<phase>package</phase>
								<goals>
									<goal>jar-no-fork</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<!-- Javadoc -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>${maven.javadoc.version}</version>
						<executions>
							<execution>
								<phase>package</phase>
								<goals>
									<goal>jar</goal>
								</goals>
								<configuration>
									<locale>en_US</locale>
									<encoding>UTF-8</encoding>
									<charset>UTF-8</charset>
									<doclint>none</doclint>
								</configuration>
							</execution>
						</executions>
					</plugin>
					<!-- GPG -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>${maven.gpg.version}</version>
						<executions>
							<execution>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>

		</profile>
	</profiles>

	<repositories>

        <repository>
            <id>persagy</id>
            <name>releases Repository</name>
            <url>http://47.93.132.139:8081/nexus/content/repositories/persagy/</url>
        </repository>
        
		<repository>
			<id>integrated</id>
			<name>releases Repository</name>
			<url>http://47.93.132.139:8081/nexus/content/repositories/integrated/</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
        <repository>
            <id>aliyun</id>
            <name>releases Repository</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </repository>
	</repositories>

	<pluginRepositories>
		<pluginRepository>
			<id>central</id>
			<url>http://maven.aliyun.com/nexus/content/groups/public</url>
		</pluginRepository>
	</pluginRepositories>

	<modules>
		<module>saas-common</module>
		<module>saas-gateway</module>
        <module>saas-account</module>
        <module>saas-sso</module>
	</modules>

</project>