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

Adopt sbt-typelevel-ci-release #1307

Merged

Conversation

armanbilge
Copy link
Contributor

As discussed in #1301 (comment). Once this PR merges I will add Scala Native support in a follow-up PR.

Note that you have broken binary-compatibility against your previous releases, probably because you were not checking it in CI.

[error] macros: Failed binary compatibility check against dev.optics:monocle-macro_2.13:3.1.0 (e:info.versionScheme=early-semver)! Found 1 potential problems
[error]  * class monocle.macros.syntax.MacroAsOpsImpl does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[MissingClassProblem]("monocle.macros.syntax.MacroAsOpsImpl")
[error] core: Failed binary compatibility check against dev.optics:monocle-core_2.13:3.0.0 (e:info.versionScheme=early-semver)! Found 24 potential problems
[error]  * extension static method index$extension(monocle.Fold,java.lang.Object,monocle.function.Index)monocle.Fold in class monocle.FoldSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.FoldSyntax.index$extension")
[error]  * method index(java.lang.Object,monocle.function.Index)monocle.Fold in class monocle.FoldSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.FoldSyntax.index")
[error]  * extension method index$extension(monocle.Fold,java.lang.Object,monocle.function.Index)monocle.Fold in object monocle.FoldSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.FoldSyntax.index$extension")
[error]  * extension static method index$extension(monocle.Getter,java.lang.Object,monocle.function.Index)monocle.Fold in class monocle.GetterSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.GetterSyntax.index$extension")
[error]  * method index(java.lang.Object,monocle.function.Index)monocle.Fold in class monocle.GetterSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.GetterSyntax.index")
[error]  * extension method index$extension(monocle.Getter,java.lang.Object,monocle.function.Index)monocle.Fold in object monocle.GetterSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.GetterSyntax.index$extension")
[error]  * extension static method index$extension(monocle.PIso,java.lang.Object,monocle.function.Index)monocle.POptional in class monocle.IsoSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.IsoSyntax.index$extension")
[error]  * method index(java.lang.Object,monocle.function.Index)monocle.POptional in class monocle.IsoSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.IsoSyntax.index")
[error]  * extension method index$extension(monocle.PIso,java.lang.Object,monocle.function.Index)monocle.POptional in object monocle.IsoSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.IsoSyntax.index$extension")
[error]  * extension static method index$extension(monocle.PLens,java.lang.Object,monocle.function.Index)monocle.POptional in class monocle.LensSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.LensSyntax.index$extension")
[error]  * method index(java.lang.Object,monocle.function.Index)monocle.POptional in class monocle.LensSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.LensSyntax.index")
[error]  * extension method index$extension(monocle.PLens,java.lang.Object,monocle.function.Index)monocle.POptional in object monocle.LensSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.LensSyntax.index$extension")
[error]  * extension static method index$extension(monocle.POptional,java.lang.Object,monocle.function.Index)monocle.POptional in class monocle.OptionalSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.OptionalSyntax.index$extension")
[error]  * method index(java.lang.Object,monocle.function.Index)monocle.POptional in class monocle.OptionalSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.OptionalSyntax.index")
[error]  * extension method index$extension(monocle.POptional,java.lang.Object,monocle.function.Index)monocle.POptional in object monocle.OptionalSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.OptionalSyntax.index$extension")
[error]  * extension static method index$extension(monocle.PPrism,java.lang.Object,monocle.function.Index)monocle.POptional in class monocle.PrismSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.PrismSyntax.index$extension")
[error]  * method index(java.lang.Object,monocle.function.Index)monocle.POptional in class monocle.PrismSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.PrismSyntax.index")
[error]  * extension method index$extension(monocle.PPrism,java.lang.Object,monocle.function.Index)monocle.POptional in object monocle.PrismSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.PrismSyntax.index$extension")
[error]  * extension static method index$extension(monocle.PSetter,java.lang.Object,monocle.function.Index)monocle.PSetter in class monocle.SetterSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.SetterSyntax.index$extension")
[error]  * method index(java.lang.Object,monocle.function.Index)monocle.PSetter in class monocle.SetterSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.SetterSyntax.index")
[error]  * extension method index$extension(monocle.PSetter,java.lang.Object,monocle.function.Index)monocle.PSetter in object monocle.SetterSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.SetterSyntax.index$extension")
[error]  * extension static method index$extension(monocle.PTraversal,java.lang.Object,monocle.function.Index)monocle.PTraversal in class monocle.TraversalSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.TraversalSyntax.index$extension")
[error]  * method index(java.lang.Object,monocle.function.Index)monocle.PTraversal in class monocle.TraversalSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.TraversalSyntax.index")
[error]  * extension method index$extension(monocle.PTraversal,java.lang.Object,monocle.function.Index)monocle.PTraversal in object monocle.TraversalSyntax does not have a correspondent in current version
[error]    filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("monocle.TraversalSyntax.index$extension")

The easiest way to fix this is to bump your major version to 4.0 and be more vigilant going forward, since sbt-typelevel will now check this in CI.

I will investigate and can do my best to try and fix this but it can be very time-consuming. I may recommend that you revert some PRs and re-do them properly.

Comment on lines +100 to +102
@deprecated("Preserved for bincompat", "3.2.0")
class MacroAsOpsImpl(c: blackbox.Context) extends MacroOpsImpl(c)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixes bincompat broken in:

Comment on lines +312 to +314
@deprecated("Preserved for bincompat", "3.1.0")
def index[I, A1](i: I, evIndex: Index[A, I, A1]): Optional[S, A1] =
self.index(i)(evIndex, implicitly, implicitly)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This and similar changes fixes bincompat broken in:

@armanbilge armanbilge marked this pull request as ready for review October 13, 2022 17:44
@julien-truffaut
Copy link
Member

@xuwei-k could I ask you to review this PR? I don't know enough about sbt. Otherwise, it looks good to me.

@armanbilge
Copy link
Contributor Author

@julien-truffaut how would you feel about moving ahead with this? I am happy to answer any questions and take responsibility in case you have any issues.

@julien-truffaut
Copy link
Member

julien-truffaut commented Oct 24, 2022 via email

@julien-truffaut julien-truffaut enabled auto-merge (squash) October 24, 2022 22:24
@armanbilge
Copy link
Contributor Author

No problem at all! The bincompat issues were easier to fix than I originally feared.

Btw, auto-merge will not work because the names of the CI jobs changed (sorry about that).

@julien-truffaut julien-truffaut merged commit 884eff8 into optics-dev:master 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.

None yet

2 participants