Publish as modular JAR(s) to Maven Central
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 20/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- java
- 领域
- build-system, release
调研方向
首先检查当前的项目布局和构建配置,然后审查提议的 Maven 约定、模块拆分、module-info.java、JDK 11 编译器级别,以及移除对 jchardet 和 XOM 的支持。包结构、遗留文件、向后兼容性、评审预期和发布流程都需要维护者作出决定,之后才能认为实现已经完成。
由索引模型根据 Issue 内容生成。
描述
Motivation:
- it's been since 2012 since the last release (there are more recent releases of the nu-validator branch, but that distribution isn’t actually intended to be used outside the context of the HTML checker)
- this is a foundational library, so any library/application that uses it and wants to migrate to Java modules, relies on this library being modularized (though automatic modules might help, they have their limits)
I'm willing to help by providing PRs such as:
- adapt the folder layout to Maven conventions
- split the project into multiple Maven modules as needed (since it's a lot easier if there's a 1-on-1 mapping between Maven and Java modules)
- make the Maven build work with a JDK 11+ release. In fact, such a JDK would be required in order to be able to compile the
module-info.javafile, so I'd like to upgrade the compiler level to 11 as well (the code can stay on the 1.5 syntactic level. I'm not planning to make any code changes, apart from package declarations and import statements) - remove jchardet and XOM support: jchardet is an unmaintained library, and I don't see how XOM will be able to modularize itself any time soon, given that it relies on the
xml-apis:xml-apisMaven artifact, and thus has a "split packages" issue
However, I have a few questions:
- first and foremost: if I provide PRs such as the above, will they be reviewed & accepted, and will a new release be published once modularization is done?
- there's a lot of files that are apparently unmaintained. Why aren't these deleted? It would help a lot if any legacy files would be deleted before starting
- there's 3 packages: encodings, htmlparser, saxtree. I understand why encodings is a separate package outside of htmlparser, but why is this also the case for saxtree? It's relied upon by the htmlparser package, and I don't readily see why someone using this library would use its classes directly
- following from my previous question: would it be acceptable to move saxtree into a package under the htmlparser package? Or is this package used directly by users of this library, and would changing the package name be a problem w.r.t. backward compatibility?
@hsivonen @sideshowbarker what are your thoughts on this?
- 主要语言
- Java
- 星标
- 65
- 派生
- 29
- 平均合并
- 11 天 21 小时
- 30 天内合并 PR
- 3
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
validator/htmlparser 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 45/100
validator/htmlparser#98 ·
-
难度 4/5 3-5 天 新手友好度 25/100
validator/htmlparser#96 · 1 条评论 · 1 个 reaction ·
-
难度 4/5 3-5 天 新手友好度 38/100
validator/htmlparser#95 ·
-
难度 2/5 1-3 小时 新手友好度 55/100
validator/htmlparser#87 ·
-
难度 5/5 一周以上 新手友好度 35/100
validator/htmlparser#79 ·
查看 validator/htmlparser 的全部 Issue
相似的 Issue
-
area/plugin
难度 2/5 1-3 小时 新手友好度 75/100
kestra-io/plugin-kestra#190 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
bug
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 75/100
integra-team-red/meet-map#249 ·
-
[Studio][Bug] Cancelled create-user dialog keeps the password and admin switch for the next attempt 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
apache/rocketmq-dashboard#5064 ·