Repository navigation
Expand file tree
/
Copy pathpom.xml
More file actions
223 lines (215 loc) · 10.3 KB
/
Copy pathpom.xml
File metadata and controls
223 lines (215 loc) · 10.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
<?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>
<parent>
<groupId>top.continew.starter</groupId>
<artifactId>continew-starter-dependencies</artifactId>
<version>${revision}</version>
<relativePath>./continew-starter-dependencies</relativePath>
</parent>
<artifactId>continew-starter</artifactId>
<packaging>pom</packaging>
<name>ContiNew Starter</name>
<description>
ContiNew Starter(Continue New Starter)基于“约定优于配置”理念,进一步精简常规配置,提供完整的配置解决方案,帮助开发人员更快速地将常用第三方库或工具集成到 Spring Boot Web 应用程序中。
ContiNew Starter 封装了一系列经过企业实践验证的依赖包(如 MyBatis-Plus、SaToken),可轻松集成到应用中,减少开发人员手动引入依赖及配置的工作量,为 Spring Boot Web 项目的灵活快速构建提供支持。
ContiNew Starter 源自 ContiNew Admin 后台管理框架项目。随着 ContiNew Admin 的发展,作者发现初学者需要关注过多的脚手架通用基础能力,且在新项目中复用这些能力时存在迁移困难的问题。于是,ContiNew Starter 应运而生,作者在 ContiNew Admin 2.x 版本时,将项目中的通用基础能力进行了抽离并深度优化。这样,无论是在 ContiNew Admin 中使用,还是单独使用这些基础能力,都可以更加轻松。
</description>
<properties>
<!-- Maven Environment Versions -->
<!-- 产物字节码版本:与 Spring Boot 4 官方基线(Java 17)对齐,构建机使用 JDK 25 -->
<java.version>17</java.version>
<maven.compiler.release>${java.version}</maven.compiler.release>
<resource.delimiter>@</resource.delimiter>
<maven.javadoc.failOnError>false</maven.javadoc.failOnError>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<modules>
<module>continew-starter-dependencies</module>
<module>continew-starter-bom</module>
<module>continew-starter-core</module>
<module>continew-starter-json</module>
<module>continew-starter-api-doc</module>
<module>continew-starter-validation</module>
<module>continew-starter-web</module>
<module>continew-starter-cache</module>
<module>continew-starter-auth</module>
<module>continew-starter-data</module>
<module>continew-starter-encrypt</module>
<module>continew-starter-security</module>
<module>continew-starter-ratelimiter</module>
<module>continew-starter-idempotent</module>
<module>continew-starter-trace</module>
<module>continew-starter-captcha</module>
<module>continew-starter-messaging</module>
<module>continew-starter-log</module>
<module>continew-starter-excel</module>
<module>continew-starter-storage</module>
<module>continew-starter-license</module>
<module>continew-starter-extension</module>
<!-- 仅测试用途模块:只在聚合 POM 注册,不进 BOM,不发布 -->
<module>continew-starter-test-support</module>
<module>continew-starter-smoke-tests</module>
</modules>
<dependencyManagement>
<dependencies>
<!-- 仅供各模块 test 依赖免版本引用测试支撑模块;不进 continew-starter-bom,不随发布 BOM 供给使用方 -->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>continew-starter-test-support</artifactId>
<version>${revision}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<!-- 编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<parameters>true</parameters>
<!-- compiler 3.16+ 随 javac 新默认(proc:none)不再隐式执行 classpath 上的注解处理器,
显式开启以保证 spring-boot-configuration-processor 持续生成配置元数据 -->
<proc>full</proc>
</configuration>
</plugin>
<!-- 统一版本号插件 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<configuration>
<updatePomFile>true</updatePomFile>
<flattenMode>oss</flattenMode>
<pomElements>
<parent>expand</parent>
<properties>keep</properties>
</pomElements>
</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>
</plugins>
</build>
<profiles>
<profile>
<!-- 格式化模式:跳过 validate 阶段的格式与规范门禁(Spotless check、Checkstyle),
改为编译前自动修复格式(格式化 → 清理 import → 补 License Header) -->
<id>format</id>
<properties>
<spotless.check.skip>true</spotless.check.skip>
<checkstyle.skip>true</checkstyle.skip>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<executions>
<execution>
<id>spotless-apply</id>
<phase>process-sources</phase>
<goals>
<goal>apply</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- 集成测试模式:Failsafe 运行 *IT 用例(Testcontainers 真实 Redis/MySQL),
本机无 Docker 时用例由 @EnabledIfDockerAvailable 自动跳过 -->
<profile>
<id>integration</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<includes>
<include>**/*IT.java</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- 覆盖率模式:激活 JaCoCo 采集测试覆盖率并生成 target/site/jacoco 报告,
与 sonar profile 并存(sonar 自行激活 JaCoCo),供 integration workflow 与本地分析使用 -->
<profile>
<id>coverage</id>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<!-- 覆盖父 POM 绑定到 test 阶段的同名执行:集成测试在 integration-test
阶段写入执行数据,报告必须在 verify 阶段生成才能包含 IT 覆盖 -->
<execution>
<id>jacoco-report</id>
<phase>verify</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<url>https://github.com/continew-org/continew-starter</url>
<licenses>
<license>
<name>GNU LESSER GENERAL PUBLIC LICENSE</name>
<url>http://www.gnu.org/licenses/lgpl.html</url>
</license>
</licenses>
<developers>
<developer>
<id>charles7c</id>
<name>Charles7c</name>
<email>charles7c@126.com</email>
<roles>
<role>Creator</role>
<role>Java Development Engineer</role>
</roles>
<timezone>+8</timezone>
<url>https://github.com/Charles7c</url>
</developer>
</developers>
<scm>
<connection>scm:git:git@github.com:continew-org/continew-starter.git</connection>
<developerConnection>scm:git:git@github.com:continew-org/continew-starter.git</developerConnection>
<url>https://github.com/continew-org/continew-starter</url>
</scm>
</project>