Skip to content

Upgrade to Gradle 6.9.4 and Scala 2.12.20#964

Merged
loveleif merged 9 commits intoopencypher:masterfrom
loveleif:bump-deps-3
Nov 13, 2025
Merged

Upgrade to Gradle 6.9.4 and Scala 2.12.20#964
loveleif merged 9 commits intoopencypher:masterfrom
loveleif:bump-deps-3

Conversation

@loveleif
Copy link
Collaborator

No description provided.

@michael-simons
Copy link
Collaborator

You probably have good reasons for 6.9.4, but I ask nevertheless, why not 7.6.x, 8.14.x or 9.2.x from this year?

@vnickolov
Copy link
Contributor

You probably have good reasons for 6.9.4, but I ask nevertheless, why not 7.6.x, 8.14.x or 9.2.x from this year?

Not a question to me but I guess I can give a brief answer - it's not trivial to jump high on the Gradle versions - there are deprecations that stick around for a version or two and are removed in the next, I always find it easier to update on smaller increments 😄
Another issue is Gradle plugins that have fallen out of support - we've had a couple that we self-host in GDS.

@loveleif
Copy link
Collaborator Author

Thanks @vnickolov! @michael-simons exactly what Veselin said :).

@loveleif loveleif marked this pull request as ready for review November 12, 2025 12:49
build.gradle Outdated

dependencies {
compile group: 'org.scala-lang', name: 'scala-library', version: ver.scala.full
api group: 'org.scala-lang', name: 'scala-library', version: ver.scala.full
Copy link
Contributor

Choose a reason for hiding this comment

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

Heads up - the long dependency syntax group: x, name: y, version: z is deprecated in Gradle 9 and will be removed in 10 (I think) 🙃

Copy link
Contributor

@vnickolov vnickolov Nov 12, 2025

Choose a reason for hiding this comment

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

Also I wonder why changing from compile to api - the latter makes the dependency transitively exposed 🤔
Maybe compileOnly is what you need?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Thanks, nice catch, I probably was a bit fast there.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Some dependencies can probably be implementation rather that api too. But as far as I understand that requires knowledge about what is exposed in your public API, which sounds time consuming to figure out. Or perhaps I'm confused @vnickolov?

Copy link
Contributor

Choose a reason for hiding this comment

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

In GDS we somewhat opted for using implementation instead api and leave the clients of the thing declare dependencies explicitly, if you switch to implementation and the build doesn't break then you're good. It's always better not to have unnecessary transitive dependencies 🙂
What I usually try to do is look at public classes and methods and if they use parameters or return something that is from a dependency then I can consider declaring that dependency in an api scope but that could be very time consuming.

Copy link
Contributor

Choose a reason for hiding this comment

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

@loveleif You can probably assume that there is no public API and that there are no users for which breaking a supposed public API is a problem.

Copy link
Contributor

Choose a reason for hiding this comment

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

Meaning that closing down access here could be a good starting point, as long as tests are green.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Thanks, I'll try that.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

michael-simons
michael-simons previously approved these changes Nov 12, 2025
Copy link
Collaborator

@michael-simons michael-simons left a comment

Choose a reason for hiding this comment

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

Great stuff, however wrt to Gradle as of know I can only do "LGTM" approvals, sorry. If this is fine with you, I am happy to… Otherwise someone else should step in.

@loveleif loveleif changed the title Upgrade to Gradle 6.9.4 Upgrade to Gradle 6.9.4 and Scala 2.12.20 Nov 12, 2025
@loveleif loveleif merged commit 9711e2f into opencypher:master Nov 13, 2025
1 check passed
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