apache / apache/kyuubi

[Improvement] Introduce JSON format style check from `spotless-maven-plugin`

Open
#4,137 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.