[Improvement] Introduce JSON format style check from `spotless-maven-plugin`
- Dominant language
- Scala
- Stars
- 2.4k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
### Code of Conduct
- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
### Search before asking
- [X] I have searched in the [issues](https://github.com/apache/kyuubi/issues?q=is%3Aissue) and found no similar issues.
### What would you like to be improved?
JSON files are generally used in sources, tests resources, and part of the distribution (eg. command spec json files in Authz).
Right now no unified JSON style checks in the project.
From [spotless-maven-plugin]( https://github.com/diffplug/spotless/releases/tag/maven%2F2.30.0 ) v2.30.0, JSON formatting support is introduced. See
- changelog https://github.com/diffplug/spotless/blob/main/plugin-maven/CHANGES.md
- doc: https://github.com/diffplug/spotless/tree/main/plugin-maven#json
### How should we improve?
To do:
- bump `spotless-maven-plugin` to 2.30.0
- add JSON style rules in pom
- adjust json file generation from Jackson , Gson or else, to align with JSON style rules of `simple` and `gson` of spotless plugin
Current obstacles:
- JSON formatting not works as expected, need more help for verification
- keep eyes on progress (https://github.com/diffplug/spotless/issues/1445)
### Are you willing to submit PR?
- [ ] Yes. I would be willing to submit a PR with guidance from the Kyuubi community to improve.
- [X] No. I cannot submit a PR at this time.
Contributor guide
Research direction
Start by reading the project's pom and the Spotless Maven plugin's JSON formatting documentation, including the linked Spotless issue #1445. Check how JSON files are generated with Jackson or Gson and whether they can follow the proposed `simple` or `gson` style; done means the style rules work and generated JSON conforms to them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- json, scala
- Domain
- build-system, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100