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

7.0.0 README updates and minor code changes #1714

Merged
merged 2 commits into from
Mar 10, 2025

Conversation

mbland
Copy link
Contributor

@mbland mbland commented Mar 7, 2025

Description

Contains many editorial improvements to and some extra information in the README, along with a few small improvements to the code. Broken out from #1710, and part of #1482 and #1652.

Specifically:

  • Adds more info on translating @rules_scala to @io_bazel_rules_scala for dependencies via repo mapping.

  • Merges information about the previously planned rules_scala 8.0.0 release into the information for 7.0.0, since it seems we may make only one major release.

  • Improves information about protobuf support for versions before v28, Scala 2.11, and the upcoming Bzlmod compatibility_level setting.

  • In scala_config.bzl, changes the private _default_scala_version() to the public DEFAULT_SCALA_VERSION.

  • Adds allow_empty = True to a glob expression in //test/semanticdb:lib_with_tempsrc.

  • Removes Scala 2.11 test cases from test_thirdparty_version.sh and test_version.sh.

Motivation

This change is smaller and more focused than #1710, and should ultimately make that pull request smaller and/or easier to review.

The motivations for the individual changes are:

  • The public DEFAULT_SCALA_VERSION constant makes this value accessible to the upcoming module extension.

  • glob requires an explicit allow_empty = True parameter in Bazel 8, in which --incompatible_disallow_empty_glob defaults to True.

  • ScalaPB 0.9.8, the last version compatible with Scala 2.11, does not support protobuf v25.6 or later. For this reason, we must remove the Scala 2.11 test cases, as documented in the README.md updates. See also Upgrade to protobuf v25.6 #1712.

We should consider dropping Scala 2.11 support at this point, since there's no ScalaPB release for it that supports later versions of protobuf. That, and we could remove some of the special case code added in the following changes, amongst other 2.11 support details:

Contains many editorial improvements to and some extra information in
the README, along with a few small improvements to the code. Broken out
from bazelbuild#1710, and part of bazelbuild#1482 and bazelbuild#1652.

Specifically:

- Adds more info on translating `@rules_scala` to
  `@io_bazel_rules_scala` for dependencies via repo mapping.

- Merges information about the previously planned `rules_scala` 8.0.0
  release into the information for 7.0.0, since it seems we may make
  only one major release.

- Improves information about `protobuf` support for versions before v28,
  Scala 2.11, and the upcoming Bzlmod `compatibility_level` setting.

- In `scala_config.bzl`, changes the private `_default_scala_version()`
  to the public `DEFAULT_SCALA_VERSION`.

- Adds `allow_empty = True` to a `glob` expression in
  `//test/semanticdb:lib_with_tempsrc`.

- Removes Scala 2.11 test cases from `test_thirdparty_version.sh` and
  `test_version.sh`.

This change is smaller and more focused than bazelbuild#1710, and should
ultimately make that pull request smaller and/or easier to review.

The motivations for the individual changes are:

- The public `DEFAULT_SCALA_VERSION` constant makes this value
  accessible to the upcoming module extension.

- `glob` requires an explicit `allow_empty = True` parameter in Bazel 8,
  in which `--incompatible_disallow_empty_glob` defaults to `True`.

- ScalaPB 0.9.8, the last version compatible with Scala 2.11, does not
  support `protobuf` v25.6 or later. For this reason, we must remove the
  Scala 2.11 test cases, as documented in the `README.md` updates. See
  also bazelbuild#1712.

We should consider dropping Scala 2.11 support at this point, since
there's no ScalaPB release for it that supports later versions of
`protobuf`. That, and we could remove some of the special case code
added in the following changes, amongst other 2.11 support details:

- bazelbuild#1631
- bazelbuild#1648
- bazelbuild#1687
- bazelbuild#1688
@mbland mbland requested review from liucijus and simuons as code owners March 7, 2025 04:55
Provided a better explanation for using `rules_python` 0.38.0 for now.
Improved some of the language in the Bazel 6.5.0 compatibility section.
mbland added a commit to mbland/rules_scala that referenced this pull request Mar 7, 2025
Also removes an extra line from the `WORKSPACE` snippet of the "Getting
started" section.
Copy link
Contributor

@bartoszkosiorek bartoszkosiorek left a comment

Choose a reason for hiding this comment

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

Looks great to me.

@mbland
Copy link
Contributor Author

mbland commented Mar 8, 2025

BTW, we could bump DEFAULT_SCALA_VERSION to 2.13.16. It's been working fine in my bzlmod and bzlmod-bazel-8 branches for a while.

Copy link
Collaborator

@simuons simuons left a comment

Choose a reason for hiding this comment

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

Thanks, @mbland!

@simuons simuons merged commit b5b5a28 into bazelbuild:master Mar 10, 2025
2 checks passed
@mbland mbland deleted the minor-pre-7.0.0-updates branch March 10, 2025 11:51
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.

3 participants