<?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" child.project.url.inherit.append.path="false" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.ballcat</groupId>
<artifactId>ballcat-build</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<name>${project.groupId}:${project.artifactId}</name>
<description>ballcat 构建模块</description>
<modules>
<module>api-signature</module>
<module>ballcat-checkstyle</module>
<module>ballcat-dependencies</module>
<module>ballcat-parent</module>
<module>common</module>
<module>datascope</module>
<module>desensitize</module>
<module>dingtalk</module>
<module>excel</module>
<module>fieldcrypt</module>
<module>file</module>
<module>grpc</module>
<module>i18n</module>
<module>idempotent</module>
<module>ip</module>
<module>job</module>
<module>kafka</module>
<module>operation-log</module>
<module>mail</module>
<module>mybatis-plus</module>
<module>ntp</module>
<module>openapi</module>
<module>oss</module>
<module>pay</module>
<module>redis</module>
<module>security</module>
<module>sms</module>
<module>tesseract</module>
<module>web</module>
<module>websocket</module>
<module>xss</module>
</modules>
<properties>
<revision>2.0.0-SNAPSHOT</revision>
<java.version>1.8</java.version>
<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>
<maven.deploy.skip>true</maven.deploy.skip>
<central-publishing-maven-plugin.version>0.9.0</central-publishing-maven-plugin.version>
<flatten-maven-plugin.version>1.7.3</flatten-maven-plugin.version>
<git-build-hook-maven-plugin.version>3.4.1</git-build-hook-maven-plugin.version>
<maven-checkstyle-plugin.version>3.3.1</maven-checkstyle-plugin.version>
<maven-compiler-plugin.verison>3.11.0</maven-compiler-plugin.verison>
<maven-gpg-plugin.version>3.2.8</maven-gpg-plugin.version>
<maven-javadoc-plugin.version>3.5.0</maven-javadoc-plugin.version>
<maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
<maven-source-plugin.version>3.3.0</maven-source-plugin.version>
<maven-surefire-plugin.version>3.1.0</maven-surefire-plugin.version>
<spring-javaformat-maven-plugin.version>0.0.41</spring-javaformat-maven-plugin.version>
<nexus-staging-maven-plugin.version>1.6.13</nexus-staging-maven-plugin.version>
<sortpom-maven-plugin.version>4.0.0</sortpom-maven-plugin.version>
<checkstyle.version>9.3</checkstyle.version>
<lombok.version>1.18.30</lombok.version>
<spring-boot.version>2.7.18</spring-boot.version>
<ballcat.checkstyle.config>${maven.multiModuleProjectDirectory}/ballcat-checkstyle/src/main/resources/checkstyle/checkstyle.xml</ballcat.checkstyle.config>
<ballcat.checkstyle.suppressions>${maven.multiModuleProjectDirectory}/ballcat-checkstyle/src/main/resources/checkstyle/checkstyle-suppressions.xml</ballcat.checkstyle.suppressions>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.github.ekryd.sortpom</groupId>
<artifactId>sortpom-maven-plugin</artifactId>
<version>${sortpom-maven-plugin.version}</version>
<configuration>
<createBackupFile>false</createBackupFile>
<predefinedSortOrder>custom_1</predefinedSortOrder>
<sortPlugins>groupId,artifactId</sortPlugins>
<sortDependencies>scope,groupId,artifactId</sortDependencies>
<nrOfIndentSpace>-1</nrOfIndentSpace>
<keepBlankLines>true</keepBlankLines>
</configuration>
</plugin>
<plugin>
<groupId>com.rudikershaw.gitbuildhook</groupId>
<artifactId>git-build-hook-maven-plugin</artifactId>
<version>${git-build-hook-maven-plugin.version}</version>
<inherited>false</inherited>
<configuration>
<gitConfig>
<core.hooksPath>.etc/git-hooks/</core.hooksPath>
</gitConfig>
</configuration>
<executions>
<execution>
<goals>
<goal>configure</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.spring.javaformat</groupId>
<artifactId>spring-javaformat-maven-plugin</artifactId>
<version>${spring-javaformat-maven-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>validate</goal>
</goals>
<phase>validate</phase>
<inherited>true</inherited>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${maven-checkstyle-plugin.version}</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>${checkstyle.version}</version>
</dependency>
<dependency>
<groupId>io.spring.javaformat</groupId>
<artifactId>spring-javaformat-checkstyle</artifactId>
<version>${spring-javaformat-maven-plugin.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>checkstyle-validation</id>
<goals>
<goal>check</goal>
</goals>
<phase>validate</phase>
<configuration>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<configLocation>${ballcat.checkstyle.config}</configLocation>
<suppressionsLocation>${ballcat.checkstyle.suppressions}</suppressionsLocation>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.verison}</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>${spring-boot.version}</version>
</path>
</annotationProcessorPaths>
<encoding>${project.build.sourceEncoding}</encoding>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<argLine>-Dfile.encoding=UTF-8</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>${flatten-maven-plugin.version}</version>
<configuration>
<flattenMode>resolveCiFriendliesOnly</flattenMode>
<updatePomFile>true</updatePomFile>
</configuration>
<executions>
<execution>
<id>flatten</id>
<goals>
<goal>flatten</goal>
</goals>
<phase>process-resources</phase>
</execution>
<execution>
<id>flatten.clean</id>
<goals>
<goal>clean</goal>
</goals>
<phase>clean</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<url>https://v2.ballcat.cn/</url>
<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>
<name>Ballcat Team</name>
<email>chengbohua@foxmail.com</email>
<organization>Ballcat</organization>
<organizationUrl>https://github.com/ballcat-projects</organizationUrl>
</developer>
</developers>
<scm child.scm.connection.inherit.append.path="false" child.scm.developerConnection.inherit.append.path="false" child.scm.url.inherit.append.path="false">
<connection>scm:git:git@github.com:ballcat-projects/ballcat.git</connection>
<developerConnection>https://github.com/hccake</developerConnection>
<url>https://github.com/ballcat-projects/ballcat</url>
</scm>
<profiles>
<profile>
<id>ossrh</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${maven-gpg-plugin.version}</version>
<executions>
<execution>
<id>sign-artifacts</id>
<goals>
<goal>sign</goal>
</goals>
<phase>verify</phase>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<configuration>
<additionalJOption>-J-Dfile.encoding=UTF-8</additionalJOption>
<doclint>none</doclint>
<tags>
<tag>
<name>date</name>
</tag>
</tags>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</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.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>${central-publishing-maven-plugin.version}</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>ossrh</publishingServerId>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>