cockroachdb / cockroachdb/cockroach

build: stop using `goimports` as part of build

Open
#106,541 0 comments 0 reactions 0 assignees View on GitHub
A-build-system C-enhancement T-dev-inf
Dominant language
Go
Stars
32.5k
Forks
4.1k
PR merge metrics
PR metrics pending

Description

I think this is troublesome for remote execution, but even if it's not for 100% of uses, it's ugly and adds slowness where none is necessary. Update our `genrule`'s/whatever so they can generate code with the *correct* imports without having `goimports` try to do all the hard work.

```
cockroach$ rg goimports | grep BUILD
pkg/sql/pgrepl/pgreplparser/BUILD.bazel: $(location @com_github_cockroachdb_gostdlib//x/tools/cmd/goimports) \
pkg/sql/pgrepl/pgreplparser/BUILD.bazel: "@com_github_cockroachdb_gostdlib//x/tools/cmd/goimports",
pkg/sql/parser/BUILD.bazel: $(location @com_github_cockroachdb_gostdlib//x/tools/cmd/goimports) \
pkg/sql/parser/BUILD.bazel: "@com_github_cockroachdb_gostdlib//x/tools/cmd/goimports",
pkg/sql/plpgsql/parser/BUILD.bazel: $(location @com_github_cockroachdb_gostdlib//x/tools/cmd/goimports) \
pkg/sql/plpgsql/parser/BUILD.bazel: "@com_github_cockroachdb_gostdlib//x/tools/cmd/goimports",
pkg/col/coldata/BUILD.bazel:$(location @com_github_cockroachdb_gostdlib//x/tools/cmd/goimports) -w $@
pkg/col/coldata/BUILD.bazel: "@com_github_cockroachdb_gostdlib//x/tools/cmd/goimports",
cockroach$ rg goimports | grep '\.bzl'
pkg/sql/colexecop/EXECGEN.bzl: name = "goimports",
pkg/sql/colexecop/EXECGEN.bzl: actual = "@com_github_cockroachdb_gostdlib//x/tools/cmd/goimports",
pkg/sql/colexecop/EXECGEN.bzl:$(location :goimports) -w $@
pkg/sql/colexecop/EXECGEN.bzl: ":goimports",
pkg/sql/colexec/COLEXEC.bzl:$(location :goimports) -w $@
pkg/sql/colexec/COLEXEC.bzl: ":goimports",
pkg/sql/colexec/COLEXEC.bzl:$(location :goimports) -w $@
pkg/sql/colexec/COLEXEC.bzl: ":goimports",
```

Epic CRDB-14596
Jira issue: CRDB-29609

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.