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

Convert WORKSPACE to MODULE.bazel, update README #312

Merged
merged 18 commits into from
Apr 15, 2024
Merged

Convert WORKSPACE to MODULE.bazel, update README #312

merged 18 commits into from
Apr 15, 2024

Commits on Apr 11, 2024

  1. Enable bzlmod, update README, fix Swift build

    Rather than mess with the WORKSPACE rules, the shortest path to fixing
    `blaze build //swift:tests` appeared to be introducing MODULE.bazel.
    
    MODULE.bazel, a.k.a. bzlmod, appears to be the new hotness, so I'll also
    try updating the other builds to use it as well.
    
    - https://bazel.build/external/migration
    - https://bazel.build/external/overview#workspace-shortcomings
    - bazelbuild/bazel#18958
    mbland committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    2363940 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9650037 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    29d385d View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2024

  1. Configuration menu
    Copy the full SHA
    3cb996e View commit details
    Browse the repository at this point in the history
  2. Migrate protobuf, rules_proto to MODULE.bazel

    Also bumps to:
    
    - protobuf: 23.1
    - rules_proto: 6.0.0-rc2
    mbland committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    4bd5289 View commit details
    Browse the repository at this point in the history
  3. Add rules_java, rules_jvm_external to MODULE.bazel

    rules_java was an implicit dependency before.
    
    Bumps:
    
    - rules_java: 7.4.0 => 7.5.0.
    - rules_jvm_external: 4.4.2 => 6.0
    
    The rules_jvm_external docs describe using `maven.install` in
    MODULE.bazel as a replacement for `maven_install` in WORKSPACE:
    
    - https://github.com/bazelbuild/rules_jvm_external/blob/master/docs/bzlmod.md
    
    However, our current `maven_install` depends on the definition of
    IO_GRPC_GRPC_JAVA_ARTIFACTS from @io_grpc_grpc_java. I'll attempt that
    migration next.
    mbland committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    9a25622 View commit details
    Browse the repository at this point in the history
  4. MODULE.bazel: skylib, rules_proto_grpc, protobuf

    `bazel build //java/...` and `bazel test //java/...` both work with
    these changes.
    mbland committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    d41dc3d View commit details
    Browse the repository at this point in the history
  5. Move grpc-java to MODULE.bazel, bump to 1.62.2

    grpc-java only got MODULE.bazel support as of this most recent version:
    
    - grpc/grpc-java#11046
    - bazelbuild/bazel-central-registry#1699
    
    This grpc-java version bump exposed two issues that are fixed in this
    commit:
    
    1. The //java/com/engflow/notificationqueue:client target dependency on
       @maven//:io_netty_netty_handler broke.
    
       The original WORKSPACE import of io_grpc_grpc_java imported this
       dependency directly by passing IO_GRPC_GRPC_JAVA_ARTIFACTS directly
       to `maven_install`. The `maven.install` call from grpc/grpc-java's
       MODULE.bazel sets `strict_visibility = True`. Somehow the other
       dependencies registered by grpc-java's MODULE.bazel
       are accessible to notificationqueue:client, but netty-handler isn't.
    
       The solution was to add the `io.netty:netty-handler:4.1.100.Final`
       artifact to the `maven.install` call in this project's MODULE.bazel.
       It doesn't seem an optimal solution, but it works for now.
    
    2. grpc/grpc-java removed `io.grpc.stub.MetadataUtils.attachHeaders()`
       in grpc/grpc-java#10443.
    
       This caused notificationqueue:client to fail to compile, but that PR
       revealed the replacement for the deprecated `attachHeaders` call.
       This commit applies that replacement.
    mbland committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    8355551 View commit details
    Browse the repository at this point in the history
  6. Move googleapis to MODULE.bazel

    This appears to be a fairly recent development, and isn't yet 100%
    officially supported in the googleapis/googleapis repo, but it works:
    
    - googleapis/googleapis#855
    - bazelbuild/bazel-central-registry#1699
    mbland committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    9120bef View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a2efcb7 View commit details
    Browse the repository at this point in the history
  8. Move rules_perl to MODULE.bazel, bump to 0.2.0

    There's actually a 0.2.1 release, but it hasn't been pushed to
    https://registry.bazel.build/ yet.
    mbland committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    153b2b7 View commit details
    Browse the repository at this point in the history
  9. Add rules_scala GitHub issue links

    rules_scala hasn't migrated to bzlmod yet, but discussion is underway.
    These links will help track its progress.
    mbland committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    04d75e0 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    d840732 View commit details
    Browse the repository at this point in the history
  11. Replace deps.bzl with go_deps

    This enables `bazel {build,test} //infra/...` to succeed using
    MODULE.bazel. See:
    
    - https://github.com/bazelbuild/rules_go/blob/master/docs/go/core/bzlmod.md#specifying-external-dependencies
    mbland committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    85ce9fe View commit details
    Browse the repository at this point in the history
  12. Set test sizes to "small" as appropriate

    This eliminates warnings that these tests are sized too big, since the
    default is "medium".
    mbland committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    e8a1925 View commit details
    Browse the repository at this point in the history
  13. Move http_{file,archive} calls to MODULE.bazel

    This moves the following http_file calls:
    
    - emacs
    - ubuntu_20.04_1.3GB
    
    and the following http_archive calls:
    
    - com_engflow_engflowapis
    - io_abseil_py
    mbland committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    2b331fa View commit details
    Browse the repository at this point in the history
  14. Update //platform rules, remove dotnet constraints

    The //dotnet/toolchain constraint was causing a Bazel error saying that
    the @@rules_dotnet//dontent/toolchain package didn't exist. Removing
    this constraint allowed remote execution to succeed anyway.
    mbland committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    30b7561 View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2024

  1. Update README, explain swift incompatibility

    Most of these changes are cosmetic, with the notable exception of the
    explantion behind the inability to build //swift remotely.
    
    Also added a `git` command to ignore python/requirements_lock.txt per:
    
    - https://stackoverflow.com/a/73720550
    mbland committed Apr 13, 2024
    Configuration menu
    Copy the full SHA
    c2681b5 View commit details
    Browse the repository at this point in the history