Skip to content

Add tlMimaPreviousVersions setting#176

Merged
armanbilge merged 2 commits into
typelevel:series/0.4from
armanbilge:topic/mima-previous-versions
Feb 28, 2022
Merged

Add tlMimaPreviousVersions setting#176
armanbilge merged 2 commits into
typelevel:series/0.4from
armanbilge:topic/mima-previous-versions

Conversation

@armanbilge

Copy link
Copy Markdown
Member

We previously debated its usefulness in #46, but now I'm convinced.

  1. mimaPreviousArtifacts is at the project level, but often you want to filter botched releases at the build-level. tlMimaPreviousVersions is build-level.
  2. Some projects add extra versions, like cats includes the 1.x series for some modules.
  3. Some projects are just weird, like scalacheck has this pvp version thing going on.

So yeah, I'm convinced :)

@armanbilge armanbilge added this to the v0.4.6 milestone Feb 20, 2022

@danicheg danicheg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Sorry for being late on this. Here are my 2 cents on the topic. Wouldn't that be confusing for users to deal with the settings behaving likewise the upstream settings? Say, the tlFoo setting where foo comes from an upstream library. An ability to configure things at the build/project level multiple ways increases entropy, I guess. Moreover, if new tl-* settings would slightly differ in behavior against original upstream settings, then it really can be hard to figure out things.

@armanbilge

armanbilge commented Feb 21, 2022

Copy link
Copy Markdown
Member Author

@danicheg thanks for your feedback, always much much appreciated!

I guess you are talking about the difference between mimaPreviousArtifacts and tlMimaPreviousVersions?

The problem is that mimaPreviousArtifacts is very difficult to configure correctly (remember that mouse had misconfigured this, so JS artifacts were being compared to JVM artifacts?). In fact many projects misconfigured this which is one of the reason I was motivated to work on sbt-typelevel.

I agree that it is confusing, and I would like to make this better though. WDYT?

@danicheg

Copy link
Copy Markdown
Member

Nevermind. I'm just overthinking about corner cases, probably. sbt-typelevel can mitigate some difficulties of configuring plugins for their users. As you said, users might be wrong on it also without sbt-typelevel.

@armanbilge

Copy link
Copy Markdown
Member Author

FWIW I expect this setting to be rarely used. Of all the Typelevel projects, really only Cats and Scalacheck seem to need it.

@armanbilge
armanbilge merged commit f17d8c1 into typelevel:series/0.4 Feb 28, 2022
@armanbilge

Copy link
Copy Markdown
Member Author

Darn, this PR introduced a regression.

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.

2 participants