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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions