Skip to content

Uber's gomock 0.5.0 is incompatible with rules_go's gomock.bzl #4153

@TvdW

Description

@TvdW

What version of rules_go/gazelle/bazel/gomock are you using?

  • rules_go 0.50.1 (latest)
  • gazelle 0.39.1 (latest)
  • bazel 7.3.1 (latest)
  • Uber's gomock 0.5.0 (latest)

What happened?

reflect mode got dropped, and so the latest release no longer generates a source file that then gets compiled into a binary, which rules_go expects it to do. Instead, a new package mode was added, which calls the go binary, which is unavailable in the Bazel sandbox.

I tried to modify rules_go to support the new mode but my bazel-fu isn't quite at the level needed for that 😄

Error

ERROR: xxx/BUILD.bazel:15:7: GoMockReflectProgOnlyGen xxx.go failed: (Exit 1): sandbox-exec failed: error executing GoMockReflectProgOnlyGen command
  (cd xxx/execroot/_main && \
  exec env - \
    TMPDIR=xxx/T/ \
  /usr/bin/sandbox-exec -f xxx/sandbox.sb xxx/process-wrapper '--timeout=0' '--kill_delay=15' '--stats=xxx/stats.out' /bin/bash -c '
           $(pwd)/xxx/mockgen -prog_only xxx xxx > xxx.go
        ')
2024/10/23 13:49:53 Loading input failed: load package: load packages: err: go command required, not found: exec: "go": executable file not found in $PATH: stderr:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions