Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable json in maven plugin #1446

Merged
merged 6 commits into from Jan 7, 2023

Conversation

blacelle
Copy link
Contributor

@blacelle blacelle commented Jan 3, 2023

Following #1445


Please DO NOT FORCE PUSH. Don't worry about messy history, it's easier to do code review if we can tell what happened after the review, and force pushing breaks that.

Please make sure that your PR allows edits from maintainers. Sometimes its faster for us to just fix something than it is to describe how to fix it.

Allow edits from maintainers

After creating the PR, please add a commit that adds a bullet-point under the [Unreleased] section of CHANGES.md, plugin-gradle/CHANGES.md, and plugin-maven/CHANGES.md which includes:

  • a summary of the change
  • either
    • a link to the issue you are resolving (for small changes)
    • a link to the PR you just created (for big changes likely to have discussion)

If your change only affects a build plugin, and not the lib, then you only need to update the plugin-foo/CHANGES.md for that plugin.

If your change affects lib in an end-user-visible way (fixing a bug, updating a version) then you need to update CHANGES.md for both the lib and all build plugins. Users of a build plugin shouldn't have to refer to lib to see changes that affect them.

This makes it easier for the maintainers to quickly release your changes :)

Copy link
Member

@nedtwigg nedtwigg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great PR! Needs

  • an entry in plugin-maven/CHANGES.md
  • at least one test for Gson and one test Simple

plugin-maven/README.md Outdated Show resolved Hide resolved
@nedtwigg
Copy link
Member

nedtwigg commented Jan 3, 2023

Oh, also run spotlessApply and commit the result ;-)

@blacelle blacelle requested a review from nedtwigg January 4, 2023 15:51
Copy link
Member

@nedtwigg nedtwigg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great PR, thanks!

@nedtwigg nedtwigg merged commit 2901edb into diffplug:main Jan 7, 2023
@blacelle blacelle mentioned this pull request Jan 9, 2023
@blacelle blacelle deleted the EnableJsonInMavenPlugin branch January 10, 2023 05:52
@blacelle
Copy link
Contributor Author

@nedtwigg Would it be reasonable to add '**/*.json' as default include? (It is unclear to me why some formats has a default while other do not (which I feel there is some rationale default include)).

@nedtwigg
Copy link
Member

Would it be reasonable to add '**/*.json' as default include?

We used to have a lot of **/*.blah default includes, and it turned out to be a mistake. You have a toy project, the **/* works really well. People with real projects actually adopt it, and those wildcards become meaningfully slow.

why some formats has a default while other do not

There are some cases where a standard is common enough that most users won't need to change it. e.g. src/main/java/**/*.java. But unless it's really standard and contained to a specific folder then it's better for it to be manually specified.

The great underappreciated value of needing to manually specify the target is that it's self-documenting. Someone new joins the project, is confused by what's getting formatted, searches "spotless" in their project. And right there, they can see how to change it. If the target hasn't been set, the default is an invisible mystery.

Invisible mysteries are nice, but only when they work, so it's important to only set a default if it's almost definitely right. We got this wrong earlier in Spotless' life.

@nedtwigg
Copy link
Member

Published in plugin-maven 2.30.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants