<?xml version="1.0" encoding="UTF-8"?>
<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>icu.easyj</groupId>
	<artifactId>easyj-build</artifactId>
	<version>1.0.32</version>
	<packaging>pom</packaging>

	<name>${project.groupId} :: ${project.artifactId}</name>
	<description>为了方便其他Java项目的搭建，提供了该build，作为其他项目的父级`pom.xml`。</description>

	<properties>
		<java.version>1.8</java.version>
		<resource.delimiter>@</resource.delimiter>
		<maven.compiler.source>${java.version}</maven.compiler.source>
		<maven.compiler.target>${java.version}</maven.compiler.target>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

		<user.timezone>Asia/Shanghai</user.timezone>


		<!-- ***** maven plugin versions ***** -->
		<!-- org.springframework.boot -->
		<spring-boot.version>2.6.2</spring-boot.version>
		<!-- org.apache.maven.plugins -->
		<maven-clean-plugin.version>3.1.0</maven-clean-plugin.version>
		<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
		<maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>
		<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
		<maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
		<maven-war-plugin.version>3.3.2</maven-war-plugin.version>
		<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
		<maven-javadoc-plugin.version>3.3.1</maven-javadoc-plugin.version>
		<maven-shade-plugin.version>3.2.4</maven-shade-plugin.version>
		<maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
		<maven-checkstyle-plugin.version>3.1.2</maven-checkstyle-plugin.version>
		<!-- org.codehaus.mojo -->
		<flatten-maven-plugin.version>1.2.7</flatten-maven-plugin.version>
		<!-- org.jacoco -->
		<jacoco-maven-plugin.version>0.8.7</jacoco-maven-plugin.version>
		<!-- com.mycila -->
		<license-maven-plugin.version>4.1</license-maven-plugin.version>
		<!-- org.owasp -->
		<dependency-check-maven.version>6.5.1</dependency-check-maven.version>
		<!-- GPG -->
		<nexus-staging-maven-plugin.version>1.6.8</nexus-staging-maven-plugin.version>
		<maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>

		<!-- the dependencies for maven-checkstyle-plugin -->
		<com.puppycrawl.tools-checkstyle.version>9.2.1</com.puppycrawl.tools-checkstyle.version>


		<!-- ***** maven plugin properties ***** -->
		<!-- org.springframework.boot -->
		<maven.boot.skip>false</maven.boot.skip>
		<!-- org.apache.maven.plugins -->
		<maven.clean.failOnError>true</maven.clean.failOnError>
		<maven.compiler.parameters>true</maven.compiler.parameters>
		<maven.surefire.skip>false</maven.surefire.skip>
		<maven.surefire.timezone>${user.timezone}</maven.surefire.timezone>
		<maven.addMavenDescriptor>false</maven.addMavenDescriptor>
		<maven.jar.addMavenDescriptor>${maven.addMavenDescriptor}</maven.jar.addMavenDescriptor>
		<maven.war.addMavenDescriptor>${maven.addMavenDescriptor}</maven.war.addMavenDescriptor>
		<maven.javadoc.skip>true</maven.javadoc.skip>
		<maven.javadoc.failOnError>false</maven.javadoc.failOnError>
		<maven.javadoc.failOnWarnings>false</maven.javadoc.failOnWarnings>
		<maven.javadoc.quiet>true</maven.javadoc.quiet>
		<maven.checkstyle.skip>true</maven.checkstyle.skip>
		<maven.checkstyle.failsOnError>false</maven.checkstyle.failsOnError>
		<maven.checkstyle.failOnViolation>false</maven.checkstyle.failOnViolation>
		<maven.license.quiet>true</maven.license.quiet>
		<maven.license.strictCheck>true</maven.license.strictCheck>
		<maven.dependency-check.skip>true</maven.dependency-check.skip>
		<maven.dependency-check.autoUpdate>true</maven.dependency-check.autoUpdate>
		<maven.oss.url>https://s01.oss.sonatype.org</maven.oss.url>
		<maven.gpg.serverId>ossrh</maven.gpg.serverId>
		<maven.gpg.url>${maven.oss.url}</maven.gpg.url>
		<maven.gpg.auto>false</maven.gpg.auto>
		<maven.gpg.autoReleaseAfterClose>${maven.gpg.auto}</maven.gpg.autoReleaseAfterClose>
		<maven.gpg.keyname>A8FE5A54D8930774EE647F4A9F50958FB0B1CD9D</maven.gpg.keyname>
		<maven.gpg.passphrase/>
		<maven.gpg.passphraseServerId/>
	</properties>

	<url>https://gitee.com/easyj-projects/easyj-build</url>

	<inceptionYear>2021</inceptionYear>

	<organization>
		<name>EasyJ开源社区</name>
		<url>https://gitee.com/easyj-projects</url>
	</organization>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>https://www.apache.org/licenses/LICENSE-2.0</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<developers>
		<developer>
			<id>wangliang181230</id>
			<name>王良</name>
			<email>841369634@qq.com</email>
			<url>https://gitee.com/wangliang181230</url>
			<organization>浙江蕙康科技有限公司</organization>
			<organizationUrl>https://www.jyhk.com</organizationUrl>
			<roles>
				<role>Java架构师</role>
			</roles>
		</developer>
	</developers>

	<scm>
		<connection>scm:git@gitee.com:easyj-projects/easyj-build.git</connection>
		<developerConnection>scm:git@gitee.com:easyj-projects/easyj-build.git</developerConnection>
		<url>https://gitee.com/easyj-projects/easyj-build</url>
	</scm>

	<issueManagement>
		<system>gitee</system>
		<url>https://gitee.com/easyj-projects/easyj-build/issues</url>
	</issueManagement>

	<build>
		<resources>
			<resource>
				<directory>${basedir}/src/main/resources</directory>
			</resource>
			<resource>
				<directory>${basedir}/src/main/webapp</directory>
			</resource>
		</resources>

		<pluginManagement>
			<plugins>
				<!-- 插件定义：Spring Boot -->
				<plugin>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-maven-plugin</artifactId>
					<version>${spring-boot.version}</version>
					<configuration>
						<skip>${maven.boot.skip}</skip>
						<mainClass>${start-class}</mainClass>
					</configuration>
					<executions>
						<execution>
							<id>repackage</id>
							<goals>
								<goal>repackage</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<!-- 插件定义：Clean -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-clean-plugin</artifactId>
					<version>${maven-clean-plugin.version}</version>
					<configuration>
						<failOnError>${maven.clean.failOnError}</failOnError>
						<filesets>
							<fileset>
								<directory>./</directory>
								<includes>
									<include>*-pom*.xml</include>
								</includes>
								<followSymlinks>false</followSymlinks>
							</fileset>
						</filesets>
					</configuration>
				</plugin>
				<!-- 插件定义：Compiler -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>${maven-compiler-plugin.version}</version>
					<configuration>
						<source>${maven.compiler.source}</source>
						<target>${maven.compiler.target}</target>
						<encoding>${project.build.sourceEncoding}</encoding>
						<!-- 编译后保留原方法或构造函数参数名 -->
						<parameters>${maven.compiler.parameters}</parameters>
					</configuration>
				</plugin>
				<!-- 插件定义：Resources -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>${maven-resources-plugin.version}</version>
					<configuration>
						<encoding>${project.build.sourceEncoding}</encoding>
						<propertiesEncoding>${project.build.sourceEncoding}</propertiesEncoding>
						<delimiters>
							<delimiter>${resource.delimiter}</delimiter>
						</delimiters>
						<useDefaultDelimiters>false</useDefaultDelimiters>
					</configuration>
				</plugin>
				<!-- 插件定义：Surefire -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${maven-surefire-plugin.version}</version>
					<configuration>
						<skip>${maven.surefire.skip}</skip>
						<systemPropertyVariables>
							<user.timezone>${maven.surefire.timezone}</user.timezone>
						</systemPropertyVariables>
					</configuration>
				</plugin>
				<!-- 插件定义：Jar -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>${maven-jar-plugin.version}</version>
					<configuration>
						<archive>
							<addMavenDescriptor>${maven.jar.addMavenDescriptor}</addMavenDescriptor>
							<manifest>
								<mainClass>${start-class}</mainClass>
								<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
							</manifest>
						</archive>
						<excludes>
							<exclude>**/META-INF/additional-spring-configuration-metadata.json</exclude>
						</excludes>
					</configuration>
				</plugin>
				<!-- 插件定义：War -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-war-plugin</artifactId>
					<version>${maven-war-plugin.versioin}</version>
					<configuration>
						<archive>
							<addMavenDescriptor>${maven.war.addMavenDescriptor}</addMavenDescriptor>
							<manifest>
								<mainClass>${start-class}</mainClass>
								<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
							</manifest>
						</archive>
					</configuration>
				</plugin>
				<!-- 插件定义：Source -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>${maven-source-plugin.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-plugin.version}</version>
					<configuration>
						<skip>${maven.javadoc.skip}</skip>
						<failOnError>${maven.javadoc.failOnError}</failOnError>
						<failOnWarnings>${maven.javadoc.failOnWarnings}</failOnWarnings>
						<quiet>${maven.javadoc.quiet}</quiet>
						<charset>${project.build.sourceEncoding}</charset>
						<encoding>${project.build.sourceEncoding}</encoding>
						<docencoding>${project.build.sourceEncoding}</docencoding>
					</configuration>
					<executions>
						<execution>
							<id>attach-javadocs</id>
							<phase>package</phase>
							<goals>
								<goal>jar</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<!-- 插件定义：Shade -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-shade-plugin</artifactId>
					<version>${maven-shade-plugin.version}</version>
					<configuration>
						<keepDependenciesWithProvidedScope>true</keepDependenciesWithProvidedScope>
						<createDependencyReducedPom>true</createDependencyReducedPom>
						<filters>
							<filter>
								<artifact>*:*</artifact>
								<excludes>
									<exclude>META-INF/*.SF</exclude>
									<exclude>META-INF/*.DSA</exclude>
									<exclude>META-INF/*.RSA</exclude>
								</excludes>
							</filter>
						</filters>
					</configuration>
				</plugin>
				<!-- 插件定义：Deploy -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>${maven-deploy-plugin.version}</version>
				</plugin>
				<!-- 插件定义：Checkstyle -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-checkstyle-plugin</artifactId>
					<version>${maven-checkstyle-plugin.version}</version>
					<configuration>
						<skip>${maven.checkstyle.skip}</skip>
						<failsOnError>${maven.checkstyle.failsOnError}</failsOnError>
						<failOnViolation>${maven.checkstyle.failOnViolation}</failOnViolation>
					</configuration>
					<dependencies>
						<dependency>
							<groupId>com.puppycrawl.tools</groupId>
							<artifactId>checkstyle</artifactId>
							<version>${com.puppycrawl.tools-checkstyle.version}</version>
						</dependency>
					</dependencies>
					<executions>
						<execution>
							<id>validate</id>
							<phase>validate</phase>
							<configuration>
								<configLocation>${user.dir}/src/checkstyle/checkstyle.xml</configLocation>
								<suppressionsLocation>${user.dir}/src/checkstyle/checkstyle-suppressions.xml</suppressionsLocation>
								<encoding>UTF-8</encoding>
								<consoleOutput>true</consoleOutput>
								<failsOnError>false</failsOnError>
							</configuration>
							<goals>
								<goal>checkstyle</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<!-- 插件定义：Flatten -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>flatten-maven-plugin</artifactId>
					<version>${flatten-maven-plugin.version}</version>
					<configuration>
						<updatePomFile>true</updatePomFile>
					</configuration>
					<executions>
						<execution>
							<id>flatten</id>
							<phase>process-resources</phase>
							<goals>
								<goal>flatten</goal>
							</goals>
						</execution>
						<execution>
							<id>flatten.clean</id>
							<phase>clean</phase>
							<goals>
								<goal>clean</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<!-- 插件定义：JaCoCo 测试覆盖度 -->
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>${jacoco-maven-plugin.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>
				<!-- 插件定义：License -->
				<plugin>
					<groupId>com.mycila</groupId>
					<artifactId>license-maven-plugin</artifactId>
					<version>${license-maven-plugin.version}</version>
					<configuration>
						<quiet>${maven.license.quiet}</quiet>
						<strictCheck>${maven.license.strictCheck}</strictCheck>
						<header>${user.dir}/src/license/copyright.txt</header>
						<includes>
							<include>**/src/main/java/**</include>
							<include>**/src/test/java/**</include>
						</includes>
						<mapping>
							<java>SLASHSTAR_STYLE</java>
						</mapping>
					</configuration>
					<executions>
						<execution>
							<phase>generate-sources</phase>
							<goals>
								<goal>remove</goal>
								<goal>format</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<!-- 插件定义：dependency-check -->
				<plugin>
					<groupId>org.owasp</groupId>
					<artifactId>dependency-check-maven</artifactId>
					<version>${dependency-check-maven.version}</version>
					<configuration>
						<skip>${maven.dependency-check.skip}</skip>
						<autoUpdate>${maven.dependency-check.autoUpdate}</autoUpdate>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>check</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
			</plugins>
		</pluginManagement>

		<plugins>
			<!-- 使用插件：Clean -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-clean-plugin</artifactId>
			</plugin>
			<!-- 使用插件：Compiler -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
			</plugin>
			<!-- 使用插件：Javadoc -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
			</plugin>
			<!-- 使用插件：Checkstyle -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
			</plugin>
			<!-- 使用插件：dependency-check -->
			<plugin>
				<groupId>org.owasp</groupId>
				<artifactId>dependency-check-maven</artifactId>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<!-- profile: Auto adjust code -->
		<profile>
			<id>autocode</id>
			<properties>
				<maven.boot.skip>true</maven.boot.skip>
				<maven.surefire.skip>true</maven.surefire.skip>
			</properties>
			<build>
				<plugins>
					<!-- 使用插件：License -->
					<plugin>
						<groupId>com.mycila</groupId>
						<artifactId>license-maven-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
		</profile>

		<!-- profile: Check -->
		<profile>
			<id>check</id>
			<properties>
				<maven.boot.skip>true</maven.boot.skip>
				<maven.clean.failOnError>false</maven.clean.failOnError>
				<maven.javadoc.skip>false</maven.javadoc.skip>
				<maven.javadoc.failOnError>true</maven.javadoc.failOnError>
				<maven.javadoc.failOnWarnings>true</maven.javadoc.failOnWarnings>
				<maven.checkstyle.skip>false</maven.checkstyle.skip>
				<maven.checkstyle.failsOnError>true</maven.checkstyle.failsOnError>
				<maven.checkstyle.failOnViolation>true</maven.checkstyle.failOnViolation>
				<maven.dependency-check.skip>false</maven.dependency-check.skip>
			</properties>
		</profile>

		<!-- profile: CI/CD -->
		<profile>
			<id>cicd</id>
			<properties>
				<maven.boot.skip>true</maven.boot.skip>
				<maven.javadoc.skip>false</maven.javadoc.skip>
				<maven.javadoc.failOnError>true</maven.javadoc.failOnError>
				<maven.checkstyle.skip>false</maven.checkstyle.skip>
				<maven.checkstyle.failsOnError>true</maven.checkstyle.failsOnError>
				<maven.checkstyle.failOnViolation>true</maven.checkstyle.failOnViolation>
			</properties>
			<build>
				<plugins>
					<!-- 使用插件：JaCoCo -->
					<plugin>
						<groupId>org.jacoco</groupId>
						<artifactId>jacoco-maven-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
		</profile>

		<!-- profile: api-doc -->
		<profile>
			<id>api-doc</id>
			<properties>
				<maven.boot.skip>true</maven.boot.skip>
				<maven.clean.failOnError>false</maven.clean.failOnError>
				<maven.javadoc.skip>false</maven.javadoc.skip>
				<maven.surefire.skip>true</maven.surefire.skip>
			</properties>
		</profile>

		<!-- profile: local -->
		<profile>
			<id>local</id>
			<build>
				<plugins>
					<!-- 使用插件：Source -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
		</profile>

		<!-- profile: Release-KT -->
		<profile>
			<id>release-kt</id>
			<properties>
				<maven.boot.skip>true</maven.boot.skip>
				<maven.javadoc.skip>false</maven.javadoc.skip>
				<maven.javadoc.failOnError>true</maven.javadoc.failOnError>
				<maven.checkstyle.skip>false</maven.checkstyle.skip>
				<maven.checkstyle.failsOnError>true</maven.checkstyle.failsOnError>
				<maven.checkstyle.failOnViolation>true</maven.checkstyle.failOnViolation>
			</properties>
			<build>
				<plugins>
					<!-- 使用插件：Source -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
			<!--资源上传管理-->
			<distributionManagement>
				<repository>
					<id>kt-nexus-releases</id>
					<url>http://10.1.50.116:8082/nexus/content/repositories/releases</url>
				</repository>
				<snapshotRepository>
					<id>kt-nexus-snapshots</id>
					<uniqueVersion>false</uniqueVersion>
					<url>http://10.1.50.116:8082/nexus/content/repositories/snapshots</url>
				</snapshotRepository>
			</distributionManagement>
		</profile>

		<!-- profile: Release-KT2 -->
		<profile>
			<id>release-kt2</id>
			<properties>
				<maven.boot.skip>true</maven.boot.skip>
				<maven.javadoc.skip>false</maven.javadoc.skip>
				<maven.javadoc.failOnError>true</maven.javadoc.failOnError>
				<maven.checkstyle.skip>false</maven.checkstyle.skip>
				<maven.checkstyle.failsOnError>true</maven.checkstyle.failsOnError>
				<maven.checkstyle.failOnViolation>true</maven.checkstyle.failOnViolation>
			</properties>
			<build>
				<plugins>
					<!-- 使用插件：Source -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
			<!--资源上传管理-->
			<distributionManagement>
				<repository>
					<id>kt2-nexus-releases</id>
					<url>http://10.1.51.186:8081/nexus/content/repositories/releases/</url>
				</repository>
				<snapshotRepository>
					<id>kt2-nexus-snapshots</id>
					<uniqueVersion>false</uniqueVersion>
					<url>http://10.1.51.186:8081/nexus/content/repositories/snapshots/</url>
				</snapshotRepository>
			</distributionManagement>
		</profile>

		<!-- profile: Release-OSSRH -->
		<profile>
			<id>release-ossrh</id>
			<properties>
				<maven.boot.skip>true</maven.boot.skip>
				<maven.javadoc.skip>false</maven.javadoc.skip>
				<maven.javadoc.failOnError>true</maven.javadoc.failOnError>
				<maven.checkstyle.skip>false</maven.checkstyle.skip>
				<maven.checkstyle.failsOnError>true</maven.checkstyle.failsOnError>
				<maven.checkstyle.failOnViolation>true</maven.checkstyle.failOnViolation>
			</properties>
			<build>
				<plugins>
					<!-- 使用插件：Source -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
					</plugin>
					<!-- 使用插件：Nexus-Staging -->
					<plugin>
						<groupId>org.sonatype.plugins</groupId>
						<artifactId>nexus-staging-maven-plugin</artifactId>
						<version>${nexus-staging-maven-plugin.version}</version>
						<extensions>true</extensions>
						<configuration>
							<serverId>${maven.gpg.serverId}</serverId>
							<nexusUrl>${maven.gpg.url}</nexusUrl>
							<autoReleaseAfterClose>${maven.gpg.autoReleaseAfterClose}</autoReleaseAfterClose>
						</configuration>
					</plugin>
					<!-- 使用插件：GPG -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>${maven-gpg-plugin.version}</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
								<configuration>
									<keyname>${maven.gpg.keyname}</keyname>
									<passphrase>${maven.gpg.passphrase}</passphrase>
									<passphraseServerId>${maven.gpg.passphraseServerId}</passphraseServerId>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
			<!-- OSSRH上传地址配置 -->
			<distributionManagement>
				<repository>
					<id>ossrh</id>
					<url>${maven.oss.url}/service/local/staging/deploy/maven2</url>
				</repository>
				<snapshotRepository>
					<id>ossrh</id>
					<uniqueVersion>false</uniqueVersion>
					<url>${maven.oss.url}/content/repositories/snapshots</url>
				</snapshotRepository>
			</distributionManagement>
		</profile>

		<!-- profile: publish -->
		<profile>
			<id>publish</id>
			<properties>
				<maven.boot.skip>true</maven.boot.skip>
				<maven.javadoc.skip>false</maven.javadoc.skip>
				<maven.javadoc.failOnError>true</maven.javadoc.failOnError>
				<maven.checkstyle.skip>false</maven.checkstyle.skip>
				<maven.checkstyle.failsOnError>true</maven.checkstyle.failsOnError>
				<maven.checkstyle.failOnViolation>true</maven.checkstyle.failOnViolation>
			</properties>
			<build>
				<plugins>
					<!-- 使用插件：Source -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
					</plugin>
					<!-- 使用插件：Nexus-Staging -->
					<plugin>
						<groupId>org.sonatype.plugins</groupId>
						<artifactId>nexus-staging-maven-plugin</artifactId>
						<version>${nexus-staging-maven-plugin.version}</version>
						<extensions>true</extensions>
						<configuration>
							<serverId>${maven.gpg.serverId}</serverId>
							<nexusUrl>${maven.gpg.url}</nexusUrl>
							<autoReleaseAfterClose>${maven.gpg.autoReleaseAfterClose}</autoReleaseAfterClose>
						</configuration>
					</plugin>
					<!-- 使用插件：GPG -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>${maven-gpg-plugin.version}</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
								<configuration>
									<keyname>${maven.gpg.keyname}</keyname>
									<passphrase>${maven.gpg.passphrase}</passphrase>
									<passphraseServerId>${maven.gpg.passphraseServerId}</passphraseServerId>
									<gpgArguments>
										<arg>--pinentry-mode</arg>
										<arg>loopback</arg>
									</gpgArguments>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
			<!-- OSSRH上传地址配置 -->
			<distributionManagement>
				<repository>
					<id>ossrh</id>
					<url>${maven.oss.url}/service/local/staging/deploy/maven2</url>
				</repository>
				<snapshotRepository>
					<id>ossrh</id>
					<uniqueVersion>false</uniqueVersion>
					<url>${maven.oss.url}/content/repositories/snapshots</url>
				</snapshotRepository>
			</distributionManagement>
		</profile>

		<!-- profile: publish-auto -->
		<profile>
			<id>publish-auto</id>
			<properties>
				<maven.boot.skip>true</maven.boot.skip>
				<maven.javadoc.skip>false</maven.javadoc.skip>
				<maven.javadoc.failOnError>true</maven.javadoc.failOnError>
				<maven.checkstyle.skip>false</maven.checkstyle.skip>
				<maven.checkstyle.failsOnError>true</maven.checkstyle.failsOnError>
				<maven.checkstyle.failOnViolation>true</maven.checkstyle.failOnViolation>
				<maven.gpg.auto>true</maven.gpg.auto>
			</properties>
			<build>
				<plugins>
					<!-- 使用插件：Source -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
					</plugin>
					<!-- 使用插件：Nexus-Staging -->
					<plugin>
						<groupId>org.sonatype.plugins</groupId>
						<artifactId>nexus-staging-maven-plugin</artifactId>
						<version>${nexus-staging-maven-plugin.version}</version>
						<extensions>true</extensions>
						<configuration>
							<serverId>${maven.gpg.serverId}</serverId>
							<nexusUrl>${maven.gpg.url}</nexusUrl>
							<autoReleaseAfterClose>${maven.gpg.autoReleaseAfterClose}</autoReleaseAfterClose>
						</configuration>
					</plugin>
					<!-- 使用插件：GPG -->
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>${maven-gpg-plugin.version}</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
								<configuration>
									<keyname>${maven.gpg.keyname}</keyname>
									<passphrase>${maven.gpg.passphrase}</passphrase>
									<passphraseServerId>${maven.gpg.passphraseServerId}</passphraseServerId>
									<gpgArguments>
										<arg>--pinentry-mode</arg>
										<arg>loopback</arg>
									</gpgArguments>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
			<!-- OSSRH上传地址配置 -->
			<distributionManagement>
				<repository>
					<id>ossrh</id>
					<url>${maven.oss.url}/service/local/staging/deploy/maven2</url>
				</repository>
				<snapshotRepository>
					<id>ossrh</id>
					<uniqueVersion>false</uniqueVersion>
					<url>${maven.oss.url}/content/repositories/snapshots</url>
				</snapshotRepository>
			</distributionManagement>
		</profile>
	</profiles>
</project>