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

initial implementation of plugin #1

Merged
merged 51 commits into from
Oct 25, 2022

Conversation

lorandszakacs
Copy link
Contributor

@lorandszakacs lorandszakacs commented Sep 20, 2022

Shamelessly inspired from sbt-http4s-org

  • includes CirceOrgPlugin whiich can be used to bring in some common settings amongst projects. Requires you define circeRootOfCodeCoverage to either None for no code coverage, or Some("name-of-root-project")
  • includes CirceOrgSitePlugin which is an attempt at providing a common themse for a gh-pages website. It's currently looking much worse than the original because I'm bad at this. See screenshot in discord channel.

Draft description here for historical reasons:
⚠️ Draft PR, description under heavy edit

Shamelessly inspired from sbt-http4s-org

  • as of now uses only sbt-typelevel-ci and sbt-typelevel-settings. We could also include -site in this PR, but that might put too much of an early adoption burden on existing projects?
  • adds scalastyle-sbt-plugin and adds sbt-scoverage with settings that seem to be consistent across existing projects
  • remove scalastyle-sbt-plugin, replace with a combo of scalafmt and sbt-typelevel-scalafix

TODO:

  • include CirceIoSitePlugin
  • look for other common settings among projects
  • actually test this plugin 🙈

@armanbilge
Copy link
Collaborator

We could also include -site in this PR, but that might put too much of an early adoption burden on existing projects?

I recommend you include it as a CirceSitePlugin, as done in sbt-http4s-org. It is 100% opt-in (indeed, may http4s repos are not yet using it). The advantage of getting this down early is it lets style/design propagate from one source.

But it's not really a burden to setup: couple lines of sbt and an index.md that shows the project coordinates with the latest version are already helpful.

@lorandszakacs
Copy link
Contributor Author

lorandszakacs commented Sep 20, 2022

It is 100% opt-in

A, correct. I knew that, but it somehow didn't register :D will include site plugin as well then

@armanbilge
Copy link
Collaborator

In the longterm I think it's best to get onto sbt-typelevel proper (instead of the ci-release+settings combo). The only new thing it adds is license headers (which can be made to go away if they are truly that awful).

@armanbilge
Copy link
Collaborator

Make sure to run githubWorkflowGenerate :)

@lorandszakacs lorandszakacs marked this pull request as draft September 20, 2022 19:07
@lorandszakacs lorandszakacs changed the title Draft: initial implementation initial implementation of plugin Sep 20, 2022
Co-authored-by: Arman Bilge <[email protected]>
@lorandszakacs lorandszakacs marked this pull request as ready for review September 24, 2022 09:14
Copy link
Member

@zarthross zarthross left a comment

Choose a reason for hiding this comment

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

Looks fine to me... @armanbilge ?

Copy link
Collaborator

@armanbilge armanbilge left a comment

Choose a reason for hiding this comment

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

One final pass of comments :)

Copy link
Collaborator

@armanbilge armanbilge left a comment

Choose a reason for hiding this comment

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

Thanks for all your work on this!

Copy link
Member

@zmccoy zmccoy left a comment

Choose a reason for hiding this comment

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

This is fantastic, thank you so much :)

@armanbilge armanbilge merged commit 65585b2 into circe:main Oct 25, 2022
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.

4 participants