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

Simplify updating our dependency on rules_java. #12734

Closed
wants to merge 30 commits into from

Conversation

aiuto
Copy link
Contributor

@aiuto aiuto commented Dec 18, 2020

More progress on #12081. With this change, updating our version of rules_java requires only editing contiguous lines in a single file.

  • Migrate dependency on rules_java to distdir_dep.bzl.
  • Generate jdk.WORKSPACE from the central list of dependencies.

Status: WIP. Incremental PR on top of #12743 and #12722. When those merge, this will reduce in size.

Create a capability to generate WORKSPACE files for tests at build time,
based on the repository definitions in distdir_deps.bzl.

This makes it possible for the versions of repositories used in tests
to align with the versions used a Bazel build time without upddating
files scattered throughout the source and test trees.

Demonstrated with rules_cc.
@aiuto aiuto requested a review from meteorcloudy December 18, 2020 21:38
@google-cla google-cla bot added the cla: yes label Dec 18, 2020
@aiuto
Copy link
Contributor Author

aiuto commented Dec 18, 2020

cc: @jitsu-net This is an example of some of the test brittleness I was talking about last week. Before this change, if you wanted to update the version of rules_cc we used, you needed to edit multiple files. With this change, you do it in a single configuration file.

@aiuto aiuto marked this pull request as draft December 23, 2020 17:57
@aiuto aiuto changed the title Add capability to generate test case WORKSPACE repository stanzas from a central list. Simplify updating our dependency on rules_java. Dec 23, 2020
bazel-io pushed a commit that referenced this pull request Jan 5, 2021
… http_archive

More for #12081

For dependencies specified in distdir.bzl, we can now include them in Bazel's WORKSPACE with a simpler invocation that can not go out of sync.  For example, this

```
dist_http_archive(
  name = "io_bazel_rules_sass",
)
```
instead of
```
http_archive(
  name = "io_bazel_rules_sass",
  sha256 = "c78be58f5e0a29a04686b628cf54faaee0094322ae0ac99da5a8a8afca59a647",
  strip_prefix = "rules_sass-1.25.0",
  urls = [
    "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/1.25.0.zip",
    "https://github.com/bazelbuild/rules_sass/archive/1.25.0.zip",
  ],
)
```

Also, convert two more packages only used at Bazel build time to the new style.
Next steps:
- convert other repositories which are not needed at run time to this format
- add ability to generate WORKSPACE files used by tests from DISTDIR #12734
- convert rules libraries to this format

Closes #12722.

PiperOrigin-RevId: 350140996
@aiuto aiuto closed this Jan 12, 2021
@aiuto aiuto deleted the wrtest branch January 12, 2021 03:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant