[O]Flink版本适配改造(一)1.0.0+
# 背景介绍:为何需要调整 Surefire 插件配置?
在使用 Bigtop 编译 Flink 时,默认构建过程中会触发大量单元测试与集成测试(尤其是 flink-end-to-end-tests
模块),这些测试过程:
- 构建时间长;
- 存在对运行环境的依赖;
- 并且在早期版本迁移过程中,部分测试可能本身就存在失败。
因此我们在构建初期,统一通过配置 maven-surefire-plugin
实现跳过测试,提高构建效率,避免阻塞后续包体编译环节。
提示
本文作为 Flink 编译体系适配的第一篇,将聚焦 适配改造 插件版本指定与跳过测试策略,后续将继续覆盖 tarball、依赖源地址与启动脚本目录调整等。
# 修改内容详解
- 插件版本统一至
3.0.0-M5
- 添加
<skipTests>true</skipTests>
全局跳过测试
以下为典型的插件配置片段,可嵌入到 <plugins>
节点中:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
<executions>
<execution>
<id>integration-tests</id>
<configuration>
<forkCount>1</forkCount>
<workingDirectory>../</workingDirectory>
</configuration>
</execution>
</executions>
</plugin>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 涉及文件路径列表
由于 Flink 模块拆分精细,插件适配修改需覆盖多个模块的 pom.xml
文件,以下列出所有受影响的模块:
以下是将你提供的 Flink 模块中所有 pom.xml
路径整理成的结构化表格,便于在文档中插入并清晰呈现:
序号 | 文件路径 |
---|---|
1 | pom.xml |
2 | flink-yarn-tests/pom.xml |
3 | flink-tests/pom.xml |
4 | flink-table/flink-table-planner-loader/pom.xml |
5 | flink-table/flink-table-planner/pom.xml |
6 | flink-table/flink-sql-parser-hive/pom.xml |
7 | flink-table/flink-sql-parser/pom.xml |
8 | flink-streaming-java/pom.xml |
9 | flink-scala/pom.xml |
10 | flink-runtime/pom.xml |
11 | flink-python/pom.xml |
12 | flink-kubernetes/pom.xml |
13 | flink-fs-tests/pom.xml |
14 | flink-end-to-end-tests/pom.xml |
15 | flink-end-to-end-tests/flink-streaming-kinesis/pom.xml |
16 | flink-end-to-end-tests/flink-glue-schema-registry-json-test/pom.xml |
17 | flink-end-to-end-tests/flink-glue-schema-registry-avro-test/pom.xml |
18 | flink-end-to-end-tests/flink-end-to-end-tests-pulsar/pom.xml |
19 | flink-end-to-end-tests/flink-end-to-end-tests-common/pom.xml |
20 | flink-end-to-end-tests/flink-end-to-end-tests-aws-kinesis-streams/pom.xml |
21 | flink-end-to-end-tests/flink-end-to-end-tests-aws-kinesis-firehose/pom.xml |
22 | flink-docs/pom.xml |
23 | flink-dist/pom.xml |
24 | flink-connectors/flink-hadoop-compatibility/pom.xml |
25 | flink-connectors/flink-connector-pulsar/pom.xml |
26 | flink-connectors/flink-connector-nifi/pom.xml |
27 | flink-connectors/flink-connector-kinesis/pom.xml |
28 | flink-connectors/flink-connector-kafka/pom.xml |
29 | flink-connectors/flink-connector-jdbc/pom.xml |
30 | flink-connectors/flink-connector-hive/pom.xml |
31 | flink-connectors/flink-connector-hbase-base/pom.xml |
32 | flink-connectors/flink-connector-hbase-2.2/pom.xml |
33 | flink-connectors/flink-connector-hbase-1.4/pom.xml |
34 | flink-connectors/flink-connector-elasticsearch7/pom.xml |
35 | flink-connectors/flink-connector-elasticsearch6/pom.xml |
36 | flink-connectors/flink-connector-cassandra/pom.xml |
提示
以下是需手动补充 maven-surefire-plugin
插件配置的所有模块路径整理,建议使用批量脚本处理或 IntelliJ 全局替换功能实现: