<?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>com.workoss.boot</groupId>
	<artifactId>boot-parent</artifactId>
	<version>1.1.0-RC1</version>
	<packaging>pom</packaging>

	<name>boot-parent</name>
	<description>workoss boot</description>
	<url>https://github.com/workoss/boot</url>

	<scm>
		<url>https://github.com/workoss/boot</url>
		<connection>scm:git:git@github.com:workoss/boot.git</connection>
		<developerConnection>scm:git:git@github.com:workoss/boot.git</developerConnection>
		<tag>v1.1.0-RC1</tag>
	</scm>

	<issueManagement>
		<system>Github Issues</system>
		<url>https://github.com/workoss/boot/issues</url>
	</issueManagement>

	<organization>
		<name>Workoss Software, Inc.</name>
		<url>https://www.workoss.com</url>
	</organization>

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

	<developers>
		<developer>
			<id>workoss</id>
			<name>workoss</name>
			<email>workoss@icloud.com</email>
			<!-- <organization>Pivotal Software, Inc.</organization>
			 <organizationUrl>https://www.spring.io</organizationUrl>-->
			<roles>
				<role>developer</role>
				<role>admin</role>
			</roles>
		</developer>
	</developers>

	<properties>
		<java.version>1.8</java.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<maven.compiler.source>${java.version}</maven.compiler.source>
		<maven.compiler.target>${java.version}</maven.compiler.target>
		<maven.compiler.compilerVersion>${java.version}</maven.compiler.compilerVersion>

		<jakarta.jakartaee-bom.version>9.1.0</jakarta.jakartaee-bom.version>
		<jakarta.servlet-api.version>4.0.4</jakarta.servlet-api.version>
		<jakarta.xml.bind-api.version>2.3.3</jakarta.xml.bind-api.version>
		<com.sun.xml.bind.version>2.3.3</com.sun.xml.bind.version>

		<slf4j.version>1.7.32</slf4j.version>
		<log4j2.version>2.14.1</log4j2.version>

		<jackson-bom.version>2.13.0</jackson-bom.version>
		<netty-bom.version>4.1.68.Final</netty-bom.version>
		<asm.version>9.2</asm.version>
		<reactor-bom.version>2020.0.11</reactor-bom.version>
		<rsocket-bom.version>1.1.1</rsocket-bom.version>


		<hibernate-validator.version>6.2.0.Final</hibernate-validator.version>


		<aspectj.version>1.9.7</aspectj.version>

		<spring.version>5.3.10</spring.version>
		<spring-boot.version>2.5.5</spring-boot.version>
		<spring-cloud-dependencies.version>2020.0.4</spring-cloud-dependencies.version>
		<spring-security-bom.version>5.5.2</spring-security-bom.version>
		<spring-boot-admin.version>2.5.2</spring-boot-admin.version>
		<spring-data-bom.version>2021.0.5</spring-data-bom.version>

		<mybatis.version>3.5.7</mybatis.version>
		<mybatis-spring.version>2.0.6</mybatis-spring.version>
		<mybatis-spring-boot-starter.version>2.2.0</mybatis-spring-boot-starter.version>

		<HikariCP.version>4.0.3</HikariCP.version>

		<r2dbc-bom.version>Arabba-SR11</r2dbc-bom.version>

		<protobuf-bom.version>3.18.1</protobuf-bom.version>
		<protostuff.version>1.7.4</protostuff.version>
		<liquibase.version>4.5.0</liquibase.version>

		<caffeine.version>2.9.2</caffeine.version>

		<lombok.version>1.18.22</lombok.version>
		<mapstruct.version>1.4.2.Final</mapstruct.version>

		<junit-jupiter.version>5.8.1</junit-jupiter.version>
		<mockito-core.version>4.0.0</mockito-core.version>

		<debezium.version>1.7.0.Final</debezium.version>
		<byte-buddy.version>1.11.19</byte-buddy.version>
		<scalecube-cluster.version>2.6.11</scalecube-cluster.version>
		<cloudevents.version>2.2.0</cloudevents.version>
		<picocli.version>4.6.1</picocli.version>
		<feign-bom.version>11.6</feign-bom.version>

		<springdoc-openapi.version>1.5.11</springdoc-openapi.version>
		<druid.version>1.2.8</druid.version>
		<h2.version>1.4.200</h2.version>
		<rocksdbjni.version>6.22.1.1</rocksdbjni.version>

		<jsr305.version>3.0.2</jsr305.version>

		<aws-java-sdk.version>1.12.84</aws-java-sdk.version>
		<awssdk.version>2.17.56</awssdk.version>


		<maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version>
		<maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
		<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
		<maven-dependency-plugin.version>3.2.0</maven-dependency-plugin.version>
		<maven-clean-plugin.version>3.1.0</maven-clean-plugin.version>
		<maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
		<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
		<maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>
		<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
		<maven-release-plugin.version>3.0.0-M4</maven-release-plugin.version>
		<maven-enforcer-plugin.version>3.0.0</maven-enforcer-plugin.version>
		<maven-war-plugin.version>3.3.2</maven-war-plugin.version>
		<maven-install-plugin.version>3.0.0-M1</maven-install-plugin.version>
		<maven-shade-plugin.version>3.2.4</maven-shade-plugin.version>
		<maven-invoker-plugin.version>3.2.2</maven-invoker-plugin.version>
		<maven-help-plugin.version>3.2.0</maven-help-plugin.version>
		<maven-javadoc-plugin.version>3.3.1</maven-javadoc-plugin.version>
		<maven-checkstyle-plugin.version>3.1.2</maven-checkstyle-plugin.version>
		<maven-failsafe-plugin.version>3.0.0-M5</maven-failsafe-plugin.version>
		<maven-site-plugin.version>3.9.1</maven-site-plugin.version>
		<flatten-maven-plugin.version>1.2.7</flatten-maven-plugin.version>
		<spring-javaformat-maven-plugin.version>0.0.29</spring-javaformat-maven-plugin.version>
		<git-commit-id-maven-plugin.version>4.9.9</git-commit-id-maven-plugin.version>
		<versions-maven-plugin.version>2.8.1</versions-maven-plugin.version>
		<license-maven-plugin.version>4.1</license-maven-plugin.version>
		<nexus-staging-maven-plugin.version>1.6.8</nexus-staging-maven-plugin.version>
		<maven-gpg-plugin.version>3.0.1</maven-gpg-plugin.version>
	</properties>

	<dependencyManagement>
		<dependencies>
			<!--			<dependency>-->
			<!--				<groupId>jakarta.platform</groupId>-->
			<!--				<artifactId>jakarta.jakartaee-bom</artifactId>-->
			<!--				<version>${jakarta.jakartaee-bom.version}</version>-->
			<!--				<type>pom</type>-->
			<!--				<scope>import</scope>-->
			<!--			</dependency>-->
			<dependency>
				<groupId>jakarta.servlet</groupId>
				<artifactId>jakarta.servlet-api</artifactId>
				<version>${jakarta.servlet-api.version}</version>
			</dependency>

			<dependency>
				<groupId>jakarta.xml.bind</groupId>
				<artifactId>jakarta.xml.bind-api</artifactId>
				<version>${jakarta.xml.bind-api.version}</version>
			</dependency>
			<dependency>
				<groupId>com.sun.xml.bind</groupId>
				<artifactId>jaxb-impl</artifactId>
				<version>${com.sun.xml.bind.version}</version>
			</dependency>
			<dependency>
				<groupId>com.sun.xml.bind</groupId>
				<artifactId>jaxb-core</artifactId>
				<version>${com.sun.xml.bind.version}</version>
			</dependency>

			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-parent</artifactId>
				<version>${slf4j.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-bom</artifactId>
				<version>${log4j2.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>com.fasterxml.jackson</groupId>
				<artifactId>jackson-bom</artifactId>
				<version>${jackson-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>io.netty</groupId>
				<artifactId>netty-bom</artifactId>
				<version>${netty-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>io.projectreactor</groupId>
				<artifactId>reactor-bom</artifactId>
				<version>${reactor-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>io.rsocket</groupId>
				<artifactId>rsocket-bom</artifactId>
				<version>${rsocket-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>io.r2dbc</groupId>
				<artifactId>r2dbc-bom</artifactId>
				<version>${r2dbc-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>aspectjweaver</artifactId>
				<version>${aspectj.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-framework-bom</artifactId>
				<version>${spring.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.springframework.data</groupId>
				<artifactId>spring-data-bom</artifactId>
				<version>${spring-data-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>${spring-boot.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter</artifactId>
				<version>${spring-boot.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.springframework.boot</groupId>
						<artifactId>spring-boot-starter-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>spring-security-bom</artifactId>
				<version>${spring-security-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>


			<dependency>
				<groupId>io.github.openfeign</groupId>
				<artifactId>feign-bom</artifactId>
				<version>${feign-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring-cloud-dependencies.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-test</artifactId>
				<version>${spring-boot.version}</version>
				<scope>test</scope>
			</dependency>


			<dependency>
				<groupId>de.codecentric</groupId>
				<artifactId>spring-boot-admin-dependencies</artifactId>
				<version>${spring-boot-admin.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>


			<dependency>
				<groupId>com.google.protobuf</groupId>
				<artifactId>protobuf-bom</artifactId>
				<version>${protobuf-bom.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>io.protostuff</groupId>
				<artifactId>protostuff-bom</artifactId>
				<version>${protostuff.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>


			<dependency>
				<groupId>org.liquibase</groupId>
				<artifactId>liquibase-core</artifactId>
				<version>${liquibase.version}</version>
			</dependency>

			<dependency>
				<groupId>org.ow2.asm</groupId>
				<artifactId>asm</artifactId>
				<version>${asm.version}</version>
			</dependency>
			<dependency>
				<groupId>org.mybatis</groupId>
				<artifactId>mybatis</artifactId>
				<version>${mybatis.version}</version>
			</dependency>
			<dependency>
				<groupId>org.mybatis</groupId>
				<artifactId>mybatis-spring</artifactId>
				<version>${mybatis-spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.mybatis.spring.boot</groupId>
				<artifactId>mybatis-spring-boot-starter</artifactId>
				<version>${mybatis-spring-boot-starter.version}</version>
			</dependency>

			<dependency>
				<groupId>com.zaxxer</groupId>
				<artifactId>HikariCP</artifactId>
				<version>${HikariCP.version}</version>
			</dependency>
			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>druid</artifactId>
				<version>${druid.version}</version>
			</dependency>


			<dependency>
				<groupId>org.hibernate.validator</groupId>
				<artifactId>hibernate-validator</artifactId>
				<version>${hibernate-validator.version}</version>
			</dependency>


			<dependency>
				<groupId>com.github.ben-manes.caffeine</groupId>
				<artifactId>caffeine</artifactId>
				<version>${caffeine.version}</version>
			</dependency>

			<dependency>
				<groupId>org.junit.jupiter</groupId>
				<artifactId>junit-jupiter</artifactId>
				<version>${junit-jupiter.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-core</artifactId>
				<version>${mockito-core.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-junit-jupiter</artifactId>
				<version>${mockito-core.version}</version>
				<scope>test</scope>
			</dependency>


			<dependency>
				<groupId>org.projectlombok</groupId>
				<artifactId>lombok</artifactId>
				<version>${lombok.version}</version>
				<scope>provided</scope>
			</dependency>

			<dependency>
				<groupId>org.mapstruct</groupId>
				<artifactId>mapstruct</artifactId>
				<version>${mapstruct.version}</version>
			</dependency>
			<dependency>
				<groupId>org.mapstruct</groupId>
				<artifactId>mapstruct-jdk8</artifactId>
				<version>${mapstruct.version}</version>
			</dependency>


			<dependency>
				<groupId>net.bytebuddy</groupId>
				<artifactId>byte-buddy</artifactId>
				<version>${byte-buddy.version}</version>
			</dependency>
			<dependency>
				<groupId>net.bytebuddy</groupId>
				<artifactId>byte-buddy-agent</artifactId>
				<version>${byte-buddy.version}</version>
			</dependency>

			<dependency>
				<groupId>io.debezium</groupId>
				<artifactId>debezium-parent</artifactId>
				<version>${debezium.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>io.debezium</groupId>
				<artifactId>debezium-connector-mysql</artifactId>
				<version>${debezium.version}</version>
			</dependency>

			<dependency>
				<groupId>io.scalecube</groupId>
				<artifactId>scalecube-cluster</artifactId>
				<version>${scalecube-cluster.version}</version>
			</dependency>
			<dependency>
				<groupId>io.scalecube</groupId>
				<artifactId>scalecube-cluster-testlib</artifactId>
				<version>${scalecube-cluster.version}</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>io.cloudevents</groupId>
				<artifactId>cloudevents-api</artifactId>
				<version>${cloudevents.version}</version>
			</dependency>
			<dependency>
				<groupId>io.cloudevents</groupId>
				<artifactId>cloudevents-spring</artifactId>
				<version>${cloudevents.version}</version>
			</dependency>
			<dependency>
				<groupId>io.cloudevents</groupId>
				<artifactId>cloudevents-json-jackson</artifactId>
				<version>${cloudevents.version}</version>
			</dependency>
			<dependency>
				<groupId>io.cloudevents</groupId>
				<artifactId>cloudevents-http-basic</artifactId>
				<version>${cloudevents.version}</version>
			</dependency>

			<dependency>
				<groupId>info.picocli</groupId>
				<artifactId>picocli</artifactId>
				<version>${picocli.version}</version>
			</dependency>

			<dependency>
				<groupId>org.springdoc</groupId>
				<artifactId>springdoc-openapi-webflux-ui</artifactId>
				<version>${springdoc-openapi.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springdoc</groupId>
				<artifactId>springdoc-openapi-webmvc-core</artifactId>
				<version>${springdoc-openapi.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springdoc</groupId>
				<artifactId>springdoc-openapi-webflux-core</artifactId>
				<version>${springdoc-openapi.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springdoc</groupId>
				<artifactId>springdoc-openapi-ui</artifactId>
				<version>${springdoc-openapi.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springdoc</groupId>
				<artifactId>springdoc-openapi-security</artifactId>
				<version>${springdoc-openapi.version}</version>
			</dependency>

			<dependency>
				<groupId>com.h2database</groupId>
				<artifactId>h2</artifactId>
				<version>${h2.version}</version>
			</dependency>
			<dependency>
				<groupId>com.h2database</groupId>
				<artifactId>h2-mvstore</artifactId>
				<version>${h2.version}</version>
			</dependency>

			<dependency>
				<groupId>org.rocksdb</groupId>
				<artifactId>rocksdbjni</artifactId>
				<version>${rocksdbjni.version}</version>
			</dependency>

			<dependency>
				<groupId>com.google.code.findbugs</groupId>
				<artifactId>jsr305</artifactId>
				<version>${jsr305.version}</version>
			</dependency>

			<dependency>
				<groupId>com.amazonaws</groupId>
				<artifactId>aws-java-sdk-s3</artifactId>
				<version>${aws-java-sdk.version}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>software.amazon.awssdk</groupId>
				<artifactId>bom</artifactId>
				<version>${awssdk.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>


		</dependencies>
	</dependencyManagement>


	<repositories>
		<repository>
			<id>aliyunmaven</id>
			<name>阿里云公共仓库</name>
			<url>https://maven.aliyun.com/repository/public</url>
		</repository>
		<repository>
			<id>sonatype-nexus-snapshots</id>
			<name>Sonatype Nexus Snapshots</name>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
			<releases>
				<enabled>false</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
		<repository>
			<id>aliyun-spring</id>
			<name>aliyun-spring</name>
			<url>https://maven.aliyun.com/repository/spring</url>
		</repository>

	</repositories>
	<pluginRepositories>
		<pluginRepository>
			<id>aliyunmaven</id>
			<name>阿里云公共仓库</name>
			<url>https://maven.aliyun.com/repository/public</url>
		</pluginRepository>
		<pluginRepository>
			<id>aliyun-spring-plugin</id>
			<name>aliyun-spring-plugin</name>
			<url>https://maven.aliyun.com/repository/spring-plugin</url>
		</pluginRepository>
	</pluginRepositories>


	<build>
		<resources>
			<resource>
				<directory>src/main/java</directory>
				<excludes>
					<exclude>**/*.java</exclude>
				</excludes>
				<filtering>true</filtering>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
				<includes>
					<include>**/*</include>
				</includes>
			</resource>
		</resources>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>${maven-assembly-plugin.version}</version>
					<configuration>
						<recompressZippedFiles>false</recompressZippedFiles>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-clean-plugin</artifactId>
					<version>${maven-clean-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>${maven-compiler-plugin.version}</version>
					<configuration>
						<source>${java.version}</source>
						<target>${java.version}</target>
						<encoding>${project.build.sourceEncoding}</encoding>
						<parameters>true</parameters>
						<annotationProcessorPaths>
							<path>
								<groupId>org.projectlombok</groupId>
								<artifactId>lombok</artifactId>
								<version>${lombok.version}</version>
							</path>
							<path>
								<groupId>org.mapstruct</groupId>
								<artifactId>mapstruct-processor</artifactId>
								<version>${mapstruct.version}</version>
							</path>
							<path>
								<groupId>org.springframework.boot</groupId>
								<artifactId>spring-boot-autoconfigure-processor</artifactId>
								<version>${spring-boot.version}</version>
							</path>
							<path>
								<groupId>org.springframework.boot</groupId>
								<artifactId>spring-boot-configuration-processor</artifactId>
								<version>${spring-boot.version}</version>
							</path>
						</annotationProcessorPaths>
						<compilerArgs>
							<!--<compilerArg>-parameters</compilerArg>-->
							<!--							<arg>&#45;&#45;add-modules</arg>-->
							<!--							<arg>jdk.unsupported</arg>-->
							<compilerArg>-Amapstruct.suppressGeneratorTimestamp=false </compilerArg>
							<compilerArg>-Amapstruct.suppressGeneratorVersionInfoComment=false </compilerArg>
						</compilerArgs>
					</configuration>
				</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-dependency-plugin</artifactId>
					<version>${maven-dependency-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
					<version>${maven-enforcer-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-failsafe-plugin</artifactId>
					<version>${maven-failsafe-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-invoker-plugin</artifactId>
					<version>${maven-invoker-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-help-plugin</artifactId>
					<version>${maven-help-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>${maven-jar-plugin.version}</version>
					<configuration>
						<includes>
							<include>**/*.*</include>
						</includes>
						<archive>
							<addMavenDescriptor>true</addMavenDescriptor>
							<index>true</index>
							<manifest>
								<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
								<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
							</manifest>
							<manifestEntries>
								<Specification-Version>${project.version}</Specification-Version>
								<Implementation-Version>${project.version}</Implementation-Version>
							</manifestEntries>
						</archive>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>${maven-javadoc-plugin.version}</version>
					<executions>
						<execution>
							<id>attach-javadocs</id>
							<goals>
								<goal>jar</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<charset>${project.build.sourceEncoding}</charset>
						<encoding>${project.build.sourceEncoding}</encoding>
						<docencoding>${project.build.sourceEncoding}</docencoding>
						<links>
							<link>https://docs.oracle.com/javase/8/docs/api</link>
						</links>
						<doclint>none</doclint>
						<fixClassComment>true</fixClassComment>
						<failOnWarnings>false</failOnWarnings>
						<doctitle>Boot ${project.version} API</doctitle>
						<windowtitle>Boot ${project.version} API</windowtitle>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>${maven-resources-plugin.version}</version>
					<configuration>
						<encoding>${project.build.sourceEncoding}</encoding>
						<useDefaultDelimiters>true</useDefaultDelimiters>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-shade-plugin</artifactId>
					<version>${maven-shade-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>${maven-site-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>${maven-source-plugin.version}</version>
					<executions>
						<execution>
							<id>attach-sources</id>
							<goals>
								<goal>jar-no-fork</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${maven-surefire-plugin.version}</version>
					<configuration>
						<skipTests>true</skipTests>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-checkstyle-plugin</artifactId>
					<version>${maven-checkstyle-plugin.version}</version>
				</plugin>


				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-war-plugin</artifactId>
					<version>${maven-war-plugin.version}</version>
					<configuration>                 <!--如果想在没有web.xml文件的情况下构建WAR，请设置为false。-->
						<failOnMissingWebXml>false</failOnMissingWebXml>
						<!--<packagingExcludes>                     %regex[WEB-INF/lib/ffmpeg-*-android-*.jar]                 </packagingExcludes>-->
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<version>${maven-release-plugin.version}</version>
				</plugin>

				<plugin>
					<groupId>org.sonatype.plugins</groupId>
					<artifactId>nexus-staging-maven-plugin</artifactId>
					<version>${nexus-staging-maven-plugin.version}</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>versions-maven-plugin</artifactId>
					<version>${versions-maven-plugin.version}</version>
					<configuration>
						<generateBackupPoms>false</generateBackupPoms>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>flatten-maven-plugin</artifactId>
					<version>${flatten-maven-plugin.version}</version>
					<configuration>
						<updatePomFile>true</updatePomFile>
						<flattenMode>resolveCiFriendliesOnly</flattenMode>
					</configuration>
					<executions>
						<execution>
							<!-- Tidy up all POMs before they are published -->
							<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>

				<plugin>
					<groupId>io.spring.javaformat</groupId>
					<artifactId>spring-javaformat-maven-plugin</artifactId>
					<version>${spring-javaformat-maven-plugin.version}</version>
				</plugin>

				<plugin>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-maven-plugin</artifactId>
					<version>${spring-boot.version}</version>
					<executions>
						<execution>
							<goals>
								<goal>repackage</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<!--fork:如果没有该项配置,整个devtools不会起作用-->
						<fork>true</fork>
						<layers>
							<enabled>true</enabled>
						</layers>
					</configuration>
				</plugin>


				<plugin>
					<groupId>io.github.git-commit-id</groupId>
					<artifactId>git-commit-id-maven-plugin</artifactId>
					<version>${git-commit-id-maven-plugin.version}</version>
					<executions>
						<execution>
							<id>get-the-git-infos</id>
							<goals>
								<goal>revision</goal>
							</goals>
							<!-- *NOTE*: The default phase of revision is initialize, but in case you want to
                                     change it, you can do so by adding the phase here -->
							<phase>initialize</phase>
						</execution>
						<execution>
							<id>validate-the-git-infos</id>
							<goals>
								<goal>validateRevision</goal>
							</goals>
							<!-- *NOTE*: The default phase of validateRevision is verify, but in case you want to
										 change it, you can do so by adding the phase here -->
							<phase>package</phase>
						</execution>
					</executions>
					<configuration>
						<!-- 指定.git文件夹路径。缺失则默认为${project.basedir}/.git -->
						<dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
						<prefix>git</prefix>
						<dateFormat>yyyy-MM-dd'T'HH:mm:ssZ</dateFormat>
						<dateFormatTimeZone>${user.timezone}</dateFormatTimeZone>
						<!-- 指定git信息文件是否生成。缺失则默认为false -->
						<generateGitPropertiesFile>true</generateGitPropertiesFile>
						<!-- 指定构建过程中，是否打印详细信息。缺失则默认为false -->
						<verbose>false</verbose>
						<!-- 指定git信息文件的输出路径 -->
						<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
						<!-- <generateGitPropertiesFilename>${project.basedir}/git.json</generateGitPropertiesFilename> -->
						<!-- 指定git信息文件的输出格式。缺失则默认为properties -->
						<format>properties</format>
						<!-- 指定当项目打包类型为pom时，是否取消构建。缺失则默认为true -->
						<skipPoms>true</skipPoms>
						<injectAllReactorProjects>false</injectAllReactorProjects>
						<!-- 指定当.git文件夹未找到时，构建是否失败。若设置true，则构建失败，若设置false，则跳过执行该构建步骤。缺失则默认为true -->
						<failOnNoGitDirectory>true</failOnNoGitDirectory>
						<failOnUnableToExtractRepoInfo>true</failOnUnableToExtractRepoInfo>
						<skip>false</skip>
						<offline>false</offline>
						<runOnlyOnce>false</runOnlyOnce>

					</configuration>
				</plugin>

				<plugin>
					<groupId>com.mycila</groupId>
					<artifactId>license-maven-plugin</artifactId>
					<version>${license-maven-plugin.version}</version>
					<configuration>
						<quiet>true</quiet>
						<licenseSets>
							<licenseSet>
								<header>src/license/license-header.txt</header>
								<excludes>
									<exclude>**/*.txt</exclude>
									<exclude>**/*.sh</exclude>
									<exclude>**/*.yml</exclude>
									<exclude>.editorconfig</exclude>
									<exclude>.gitignore</exclude>
									<exclude>**/README</exclude>
									<exclude>**/*.xml</exclude>
									<exclude>src/test/resources/**</exclude>
									<exclude>src/main/resources/**</exclude>
								</excludes>
							</licenseSet>
						</licenseSets>
						<properties>
							<owner>workoss</owner>
							<email>WORKOSS</email>
							<site>https://www.workoss.com</site>
							<project.inceptionYear>2019</project.inceptionYear>
						</properties>
						<mapping>
							<java>SLASHSTAR_STYLE</java>
						</mapping>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>check</goal>
							</goals>
						</execution>
					</executions>
					<dependencies>
						<dependency>
							<groupId>com.mycila</groupId>
							<artifactId>license-maven-plugin-git</artifactId>
							<version>${license-maven-plugin.version}</version>
						</dependency>
					</dependencies>
				</plugin>

				<plugin>
					<groupId>net.bytebuddy</groupId>
					<artifactId>byte-buddy-maven-plugin</artifactId>
					<version>${byte-buddy.version}</version>
				</plugin>

			</plugins>
		</pluginManagement>
	</build>

	<profiles>
		<profile>
			<id>ossrh</id>
			<distributionManagement>
				<snapshotRepository>
					<id>sonatype-nexus-snapshots</id>
					<name>Sonatype Nexus Snapshots</name>
					<url>https://oss.sonatype.org/content/repositories/snapshots</url>
				</snapshotRepository>
				<repository>
					<id>ossrh</id>
					<name>Nexus Release Repository</name>
					<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
				</repository>
			</distributionManagement>
			<build>
				<plugins>
					<plugin>
						<groupId>io.github.git-commit-id</groupId>
						<artifactId>git-commit-id-maven-plugin</artifactId>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-release-plugin</artifactId>
						<version>${maven-release-plugin.version}</version>
						<configuration>
							<tagNameFormat>v@{project.version}</tagNameFormat>
							<mavenExecutorId>forked-path</mavenExecutorId>
							<useReleaseProfile>false</useReleaseProfile>
							<generateReleasePoms>false</generateReleasePoms>
							<autoVersionSubmodules>true</autoVersionSubmodules>
							<arguments>-Prelease</arguments>
							<arguments>-DskipTests</arguments>
							<scmCommentPrefix>[ci skip]</scmCommentPrefix>
						</configuration>
					</plugin>
					<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>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>${maven-javadoc-plugin.version}</version>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<version>${maven-source-plugin.version}</version>
					</plugin>
					<!--staging puglin,用于自动执行发布阶段(免手动)-->
					<plugin>
						<groupId>org.sonatype.plugins</groupId>
						<artifactId>nexus-staging-maven-plugin</artifactId>
						<version>${nexus-staging-maven-plugin.version}</version>
						<extensions>true</extensions>
						<configuration>
							<serverId>ossrh</serverId>
							<nexusUrl>https://oss.sonatype.org/</nexusUrl>
							<autoReleaseAfterClose>true</autoReleaseAfterClose>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

</project>
