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

stdliblist: return generated files #3552

Merged
merged 1 commit into from
May 10, 2023

Conversation

grampelberg
Copy link
Contributor

What type of PR is this?

Bug fix

What does this PR do? Why is it needed?

The stdlib json currently is not populated with generated files. When CGO is being used, this means that the file list returned does not actually compile. This change adds -compiled=true to go list's output which results in the full set required to compile stdlib.

Fixes #3523

Other notes for review

See #3524 for the companion PR.

go/private/actions/stdlib.bzl Outdated Show resolved Hide resolved
go/private/actions/stdlib.bzl Outdated Show resolved Hide resolved
go/tools/builders/stdliblist.go Show resolved Hide resolved
@JamyDev
Copy link
Contributor

JamyDev commented May 4, 2023

Here's a repro that repro the c++ not found, although this one isn't crashing with an NPE: https://github.com/JamyDev/go-bazel-sample/tree/jamy/zig-cc

@JamyDev
Copy link
Contributor

JamyDev commented May 4, 2023

We found the root cause and solution to the NPE. Will have to discuss a plan to fix this in the grander scheme, but this diff is okay from a functional perspective (assuming the c++ issue gets fixed)

@grampelberg
Copy link
Contributor Author

@JamyDev go.crosstool is all it took! Thank you =)

go/private/actions/stdlib.bzl Outdated Show resolved Hide resolved
go/private/actions/stdlib.bzl Outdated Show resolved Hide resolved
@grampelberg
Copy link
Contributor Author

@linzhp I think I got it but please tell me if I'm missing something. There's a lot going on here that I don't understand as much as I should.

Copy link
Contributor

@linzhp linzhp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a few nit comments. looks good to me otherwise

go/tools/builders/stdliblist.go Outdated Show resolved Hide resolved
go/tools/builders/stdliblist.go Outdated Show resolved Hide resolved
go/tools/builders/stdliblist.go Outdated Show resolved Hide resolved
The stdlib json currently is not populated with generated files. When
CGO is being used, this means that the file list returned does not
actually compile. This change adds `-compiled=true` to go list's output
which results in the full set required to compile stdlib.

Fixes bazelbuild#3523

Change-Id: Ic06243e7a5de68946d87ff9734156c522bfd8662
@grampelberg
Copy link
Contributor Author

@linzhp great suggestions, thank you!

@linzhp linzhp merged commit c403db6 into bazelbuild:master May 10, 2023
2 checks passed
renovate bot added a commit to kreempuff/rules_unreal_engine that referenced this pull request Jun 22, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) |
http_archive | minor | `v0.39.1` -> `v0.40.0` |

---

### ⚠ Dependency Lookup Warnings ⚠

Warnings were logged while processing this repo. Please check the
Dependency Dashboard for more information.

---

### Release Notes

<details>
<summary>bazelbuild/rules_go</summary>

###
[`v0.40.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.40.0)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.39.1...v0.40.0)

#### What's Changed

- Revert "Add automatic platform detection from inbound crosstool_top a…
by [@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3468
- bzlmod: Add dedicated documentation by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3519
- Create TEST_SHARD_STATUS_FILE when sharding tests by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3547
- Move CI flags to .bazelrc and fix BwoB build by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3551
- Re-enable go_path_test on RBE by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/rules_go#3539
- nogo: provide usage doc by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/rules_go#3534
- respect global strip config by
[@&#8203;malt3](https://togithub.com/malt3) in
[bazelbuild/rules_go#3527
- stdliblist: return generated files by
[@&#8203;grampelberg](https://togithub.com/grampelberg) in
[bazelbuild/rules_go#3552
- Fix formatting in nogo usage doc by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/rules_go#3557
- Fix `goexperiment.*` build tags by
[@&#8203;lbcjbb](https://togithub.com/lbcjbb) in
[bazelbuild/rules_go#3556
- Remove tests for `go_path`'s `link` mode by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3565
- Fix tests with `--incompatible_disable_starlark_host_transitions` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3560
- Create empty `.go` file in a random location by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3566
- gopackagesdriver: fix interface to work with golangci-lint
([#&#8203;3523](https://togithub.com/bazelbuild/rules_go/issues/3523))
by [@&#8203;grampelberg](https://togithub.com/grampelberg) in
[bazelbuild/rules_go#3524
- Fix typo in load statement for bzlmod docs by
[@&#8203;Sovietaced](https://togithub.com/Sovietaced) in
[bazelbuild/rules_go#3570
- context: remove unused import by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/rules_go#3571
- docs: Mention `use_repo` automation by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3573
- Test basic-gazelle example with incompatible flags by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3575
- go_sdk extension: create `go_host_compatible_sdk` repository by
[@&#8203;ylecornec](https://togithub.com/ylecornec) in
[bazelbuild/rules_go#3543
- docs: Mention that `gazelle:prefix` can be replaced by `go.mod` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3577
- go_download_sdk: apply extraction workaround to zips on non-windows
OSs by [@&#8203;jayconrod](https://togithub.com/jayconrod) in
[bazelbuild/rules_go#3563
- Fix `go_download_sdk` with Bazel dev versions by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3580
- Implement //nolint parsing similar to golangci-lint by
[@&#8203;patrickmscott](https://togithub.com/patrickmscott) in
[bazelbuild/rules_go#3562

#### New Contributors

- [@&#8203;bricedp](https://togithub.com/bricedp) made their first
contribution in
[bazelbuild/rules_go#3512
- [@&#8203;patrickmscott](https://togithub.com/patrickmscott) made their
first contribution in
[bazelbuild/rules_go#3528
- [@&#8203;grampelberg](https://togithub.com/grampelberg) made their
first contribution in
[bazelbuild/rules_go#3552
- [@&#8203;Sovietaced](https://togithub.com/Sovietaced) made their first
contribution in
[bazelbuild/rules_go#3570
- [@&#8203;ylecornec](https://togithub.com/ylecornec) made their first
contribution in
[bazelbuild/rules_go#3543

**Full Changelog**:
bazelbuild/rules_go@v0.39.1...v0.40.0

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"bfc5ce70b9d1634ae54f4e7b495657a18a04e0d596785f672d35d5f505ab491a",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.20.5")

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/kreempuff/rules_unreal_engine).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMzEuMCIsInVwZGF0ZWRJblZlciI6IjM1LjEzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
renovate bot added a commit to cgrindel/rules_swift_package_manager that referenced this pull request Jun 23, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) |
http_archive | minor | `v0.39.1` -> `v0.40.0` |

---

### Release Notes

<details>
<summary>bazelbuild/rules_go</summary>

###
[`v0.40.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.40.0)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.39.1...v0.40.0)

#### What's Changed

- Revert "Add automatic platform detection from inbound crosstool_top a…
by [@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3468
- bzlmod: Add dedicated documentation by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3519
- Create TEST_SHARD_STATUS_FILE when sharding tests by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3547
- Move CI flags to .bazelrc and fix BwoB build by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3551
- Re-enable go_path_test on RBE by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/rules_go#3539
- nogo: provide usage doc by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/rules_go#3534
- respect global strip config by
[@&#8203;malt3](https://togithub.com/malt3) in
[bazelbuild/rules_go#3527
- stdliblist: return generated files by
[@&#8203;grampelberg](https://togithub.com/grampelberg) in
[bazelbuild/rules_go#3552
- Fix formatting in nogo usage doc by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/rules_go#3557
- Fix `goexperiment.*` build tags by
[@&#8203;lbcjbb](https://togithub.com/lbcjbb) in
[bazelbuild/rules_go#3556
- Remove tests for `go_path`'s `link` mode by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3565
- Fix tests with `--incompatible_disable_starlark_host_transitions` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3560
- Create empty `.go` file in a random location by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3566
- gopackagesdriver: fix interface to work with golangci-lint
([#&#8203;3523](https://togithub.com/bazelbuild/rules_go/issues/3523))
by [@&#8203;grampelberg](https://togithub.com/grampelberg) in
[bazelbuild/rules_go#3524
- Fix typo in load statement for bzlmod docs by
[@&#8203;Sovietaced](https://togithub.com/Sovietaced) in
[bazelbuild/rules_go#3570
- context: remove unused import by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/rules_go#3571
- docs: Mention `use_repo` automation by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3573
- Test basic-gazelle example with incompatible flags by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3575
- go_sdk extension: create `go_host_compatible_sdk` repository by
[@&#8203;ylecornec](https://togithub.com/ylecornec) in
[bazelbuild/rules_go#3543
- docs: Mention that `gazelle:prefix` can be replaced by `go.mod` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3577
- go_download_sdk: apply extraction workaround to zips on non-windows
OSs by [@&#8203;jayconrod](https://togithub.com/jayconrod) in
[bazelbuild/rules_go#3563
- Fix `go_download_sdk` with Bazel dev versions by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3580
- Implement //nolint parsing similar to golangci-lint by
[@&#8203;patrickmscott](https://togithub.com/patrickmscott) in
[bazelbuild/rules_go#3562

#### New Contributors

- [@&#8203;bricedp](https://togithub.com/bricedp) made their first
contribution in
[bazelbuild/rules_go#3512
- [@&#8203;patrickmscott](https://togithub.com/patrickmscott) made their
first contribution in
[bazelbuild/rules_go#3528
- [@&#8203;grampelberg](https://togithub.com/grampelberg) made their
first contribution in
[bazelbuild/rules_go#3552
- [@&#8203;Sovietaced](https://togithub.com/Sovietaced) made their first
contribution in
[bazelbuild/rules_go#3570
- [@&#8203;ylecornec](https://togithub.com/ylecornec) made their first
contribution in
[bazelbuild/rules_go#3543

**Full Changelog**:
bazelbuild/rules_go@v0.39.1...v0.40.0

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"bfc5ce70b9d1634ae54f4e7b495657a18a04e0d596785f672d35d5f505ab491a",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.20.5")

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/cgrindel/rules_swift_package_manager).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMzEuMCIsInVwZGF0ZWRJblZlciI6IjM1LjEzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to cgrindel/bazel-starlib that referenced this pull request Jun 23, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) |
http_archive | minor | `v0.39.1` -> `v0.40.0` |

---

### Release Notes

<details>
<summary>bazelbuild/rules_go</summary>

###
[`v0.40.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.40.0)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.39.1...v0.40.0)

#### What's Changed

- Revert "Add automatic platform detection from inbound crosstool_top a…
by [@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3468
- bzlmod: Add dedicated documentation by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3519
- Create TEST_SHARD_STATUS_FILE when sharding tests by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3547
- Move CI flags to .bazelrc and fix BwoB build by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3551
- Re-enable go_path_test on RBE by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/rules_go#3539
- nogo: provide usage doc by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/rules_go#3534
- respect global strip config by
[@&#8203;malt3](https://togithub.com/malt3) in
[bazelbuild/rules_go#3527
- stdliblist: return generated files by
[@&#8203;grampelberg](https://togithub.com/grampelberg) in
[bazelbuild/rules_go#3552
- Fix formatting in nogo usage doc by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/rules_go#3557
- Fix `goexperiment.*` build tags by
[@&#8203;lbcjbb](https://togithub.com/lbcjbb) in
[bazelbuild/rules_go#3556
- Remove tests for `go_path`'s `link` mode by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3565
- Fix tests with `--incompatible_disable_starlark_host_transitions` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3560
- Create empty `.go` file in a random location by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3566
- gopackagesdriver: fix interface to work with golangci-lint
([#&#8203;3523](https://togithub.com/bazelbuild/rules_go/issues/3523))
by [@&#8203;grampelberg](https://togithub.com/grampelberg) in
[bazelbuild/rules_go#3524
- Fix typo in load statement for bzlmod docs by
[@&#8203;Sovietaced](https://togithub.com/Sovietaced) in
[bazelbuild/rules_go#3570
- context: remove unused import by
[@&#8203;sluongng](https://togithub.com/sluongng) in
[bazelbuild/rules_go#3571
- docs: Mention `use_repo` automation by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3573
- Test basic-gazelle example with incompatible flags by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3575
- go_sdk extension: create `go_host_compatible_sdk` repository by
[@&#8203;ylecornec](https://togithub.com/ylecornec) in
[bazelbuild/rules_go#3543
- docs: Mention that `gazelle:prefix` can be replaced by `go.mod` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3577
- go_download_sdk: apply extraction workaround to zips on non-windows
OSs by [@&#8203;jayconrod](https://togithub.com/jayconrod) in
[bazelbuild/rules_go#3563
- Fix `go_download_sdk` with Bazel dev versions by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3580
- Implement //nolint parsing similar to golangci-lint by
[@&#8203;patrickmscott](https://togithub.com/patrickmscott) in
[bazelbuild/rules_go#3562

#### New Contributors

- [@&#8203;bricedp](https://togithub.com/bricedp) made their first
contribution in
[bazelbuild/rules_go#3512
- [@&#8203;patrickmscott](https://togithub.com/patrickmscott) made their
first contribution in
[bazelbuild/rules_go#3528
- [@&#8203;grampelberg](https://togithub.com/grampelberg) made their
first contribution in
[bazelbuild/rules_go#3552
- [@&#8203;Sovietaced](https://togithub.com/Sovietaced) made their first
contribution in
[bazelbuild/rules_go#3570
- [@&#8203;ylecornec](https://togithub.com/ylecornec) made their first
contribution in
[bazelbuild/rules_go#3543

**Full Changelog**:
bazelbuild/rules_go@v0.39.1...v0.40.0

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"bfc5ce70b9d1634ae54f4e7b495657a18a04e0d596785f672d35d5f505ab491a",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.40.0/rules_go-v0.40.0.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.20.5")

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/cgrindel/bazel-starlib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMzEuMCIsInVwZGF0ZWRJblZlciI6IjM1LjEzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
tingilee pushed a commit to tingilee/rules_go that referenced this pull request Jul 19, 2023
The stdlib json currently is not populated with generated files. When
CGO is being used, this means that the file list returned does not
actually compile. This change adds `-compiled=true` to go list's output
which results in the full set required to compile stdlib.

Fixes bazelbuild#3523

Change-Id: Ic06243e7a5de68946d87ff9734156c522bfd8662

Co-authored-by: Thomas Rampelberg <thomas.rampelberg@airbnb.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

gopackagesdriver doesn't work with golangci-lint
3 participants