Gradle migration follow-ups (post-#326)
维护者通常 2 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 28/100
- Issue 类型
- 重构
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
调研方向
This is an umbrella follow-up to PR #326, not a single change. Start from the Gradle wrapper (currently 8.14.1), verifyDistributionPlacement (Task.project-at-execution deprecation), the Groovy build scripts, and the version catalog. Pick one checkbox only: Gradle 9 bump, Kotlin DSL, .gitignore header cleanup, BOM alignment (#389), or a named CVE bump. Done means that one item is complete with the existing byte-identical parity harness still green; do not treat the whole list as one first issue.
由索引模型根据 Issue 内容生成。
描述
PR #326 migrated the build from Ant to Gradle with output verified byte-identical. To keep that PR reviewable and parity-checkable, several improvements were deliberately deferred. This issue tracks them. Parent: #52.
Build tooling
- Try Gradle 9. The wrapper ships on 8.14.1. Confirm the build runs clean under Gradle 9 and bump when it does. One known item to clear first: a
Task.project-at-execution-time deprecation inverifyDistributionPlacementthat Gradle 9 warns on and Gradle 10 removes. (raised by @jbeckers in #326) - Consider the Kotlin DSL for the build scripts. Currently Groovy; Kotlin is Gradle's official recommendation. (raised in #326, agreed as a follow-up)
- Clean up stale
.gitignoreheaders. ~111 inert commented section headers (# /client/src/com/...) date to the original 2017.gitignoreand still reference the pre-move layout. Update tosrc/main/javaor drop them. (raised by @jbeckers in #326)
Dependencies
- Align multi-artifact dependency families with BOMs. The catalog versions every artifact of a family independently, so a bot can bump part of a set and leave it incoherent with nothing to catch it. That is #389:
log4j-apistayed at 2.25.3 whilelog4j-coreandlog4j-1.2-apimoved to 2.25.4, and the server would not boot. Importplatform(libs.<x>.bom)for log4j, jackson, netty, jetty, and the AWS SDK. Constrains versions only, pulls nothing transitively, flat explicit list stays intact. - Normalize to transitive resolution, one library at a time. The migration intentionally pins a non-transitive, audited set matching the historical vendored jars. Enable transitivity per library during routine version bumps, diff against the flat list, reconcile, re-verify with the parity harness. Flat lists remain better for scanning accuracy, so this is a slow bridge with no deadline. (objection from @jbeckers in the comments)
- CVE burn-down. An initial dependency-check baseline flagged ~54 distinct CVEs across ~46 jars. Start with the one-line, parity-checkable bumps (netty, jackson-databind, pdfbox), then the harder ones: Jetty 9.4.57 (EOL line), MyBatis (#320), Derby, iText -> OpenPDF (#289), commons-httpclient -> httpclient5. See also #304.
- Adopt byte-identical repackaged jars from Maven Central. 13 vendored jars are content-identical to Central artifacts (the HAPI 2.3 set, jtds, sqlite-jdbc, rsyntaxtextarea, autocomplete) and can be sourced from Central. The 3 genuine forks (javaparser 1.0.8, zip4j 1.3.3, not-going-to-be-commons-ssl) stay vendored.
- 主要语言
- Java
- 星标
- 227
- 派生
- 81
- 平均合并
- 3 天 6 小时
- 30 天内合并 PR
- 15
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
OpenIntegrationEngine/engine 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
OpenIntegrationEngine/engine#485 ·
维护者通常 2 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 62/100
OpenIntegrationEngine/engine#478 · 1 条评论 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
OpenIntegrationEngine/engine#355 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
OpenIntegrationEngine/engine#347 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
OpenIntegrationEngine/engine#313 ·
维护者通常 2 天内回复
查看 OpenIntegrationEngine/engine 的全部 Issue
相似的 Issue
-
[Bug] dubbo.protocol.triple.max-message-size is only read from OS environment variables可能已有人在做 @CCCLL 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 64/100
hierynomus/sshj#1070 ·
-
难度 2/5 1-3 小时 新手友好度 66/100
quarkiverse/quarkus-jooq#324 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
apache/rocketmq-dashboard#7039 ·
维护者通常 3 天内回复
-
pdfium-drift
难度 1/5 1 小时以内 新手友好度 82/100
Stirling-Tools/JPDFium#176 ·
维护者通常 1 天内回复