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

Decouple Google APIs #1561

Merged
merged 4 commits into from
Jun 20, 2023
Merged

Decouple Google APIs #1561

merged 4 commits into from
Jun 20, 2023

Conversation

linzhp
Copy link
Contributor

@linzhp linzhp commented Jun 20, 2023

What type of PR is this?

Other

What package or component does this PR mostly affect?
language/proto

What does this PR do? Why is it needed?
This PR stops Gazelle from hard-coding the mapping for Google APIs. After this PR, users will have to manually resolve Google APIs proto, if they want to import those proto files in their proto files. The Go code generated from those protos will be treated as regular Go packages and resolve to the pre-generated paths in google.golang.org/genproto/googleapis.

Gazelle still keeps the mapping for well-known types.

Which issues(s) does this PR fix?

Fixes #1422

Other notes for review
This PR needs bazelbuild/rules_go#3595 to work

.bazelrc Outdated Show resolved Hide resolved
@linzhp linzhp merged commit b0e5b50 into bazelbuild:master Jun 20, 2023
10 checks passed
@linzhp linzhp deleted the googleapis branch June 20, 2023 15:41
@sluongng
Copy link
Contributor

After this PR, users will have to manually resolve Google APIs proto, if they want to import those proto files in their proto files.

It would be nice if we could provide some instructions for users to upgrade.

renovate bot added a commit to kreempuff/rules_unreal_engine that referenced this pull request Jul 11, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [bazel_gazelle](https://togithub.com/bazelbuild/bazel-gazelle) |
http_archive | minor | `v0.31.1` -> `v0.32.0` |

---

### ⚠ Dependency Lookup Warnings ⚠

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

---

### Release Notes

<details>
<summary>bazelbuild/bazel-gazelle (bazel_gazelle)</summary>

###
[`v0.32.0`](https://togithub.com/bazelbuild/bazel-gazelle/releases/tag/v0.32.0)

[Compare
Source](https://togithub.com/bazelbuild/bazel-gazelle/compare/v0.31.1...v0.32.0)

Starting this release, Gazelle no longer resolves Go and proto imports
of Google APIs to `@go_googleapis`. Instead, Go packages from Google
APIs will be treated as regular Go packages, and resolve to
`@org_golang_google_genproto`, which contains the pre-generated Go code,
with its version determined by Go modules. For proto files importing
Google APIs proto and generating Go code, users need to:

1.  Add an `http_archive` rule to download Google APIs, e.g.,

<!---->

    http_archive(
        name = "googleapis",
sha256 =
"9d1a930e767c93c825398b8f8692eca3fe353b9aaadedfbcf1fca2282c85df88",
strip_prefix = "googleapis-64926d52febbf298cb82a8f472ade4a3969ba922",
        urls = [

"https://github.com/googleapis/googleapis/archive/64926d52febbf298cb82a8f472ade4a3969ba922.zip",
        ],
    )

load("@&#8203;googleapis//:repository_rules.bzl",
"switched_rules_by_language")

    switched_rules_by_language(
        name = "com_google_googleapis_imports",
    )

Note that the version of Google APIs archive needs to be compatible with
the pre-generated code in `@org_golang_google_genproto`.

2. Resolve the proto manually. If Gazelle is being used, directives like
the following need to be added to a parent directory of the proto files:

<!---->

### gazelle:resolve proto proto google/rpc/status.proto
@&#8203;googleapis//google/rpc:status_proto
### gazelle:resolve proto go google/rpc/status.proto
@&#8203;org_golang_google_genproto//googleapis/rpc/status
### gazelle:resolve proto google/longrunning/operations.proto
@&#8203;googleapis//google/longrunning:operations_proto
### gazelle:resolve proto go google/longrunning/operations.proto
@&#8203;org_golang_google_genproto//googleapis/longrunning

#### What's Changed

- Decouple Google APIs by [@&#8203;linzhp](https://togithub.com/linzhp)
in
[bazelbuild/bazel-gazelle#1561
- resolve: Add a resolve_regexp directive by
[@&#8203;DolceTriade](https://togithub.com/DolceTriade) in
[bazelbuild/bazel-gazelle#1542
- Remove module dependency on go_googleapis by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/bazel-gazelle#1563
- Testing on macOS arm64 by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/bazel-gazelle#1568
- Stop resolving to @&#8203;io_bazel_rules_go//proto/wkt by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/bazel-gazelle#1567
- Fix directive table in Readme file by
[@&#8203;farhaven](https://togithub.com/farhaven) in
[bazelbuild/bazel-gazelle#1571

#### New Contributors

- [@&#8203;DolceTriade](https://togithub.com/DolceTriade) made their
first contribution in
[bazelbuild/bazel-gazelle#1542
- [@&#8203;farhaven](https://togithub.com/farhaven) made their first
contribution in
[bazelbuild/bazel-gazelle#1571

**Full Changelog**:
bazelbuild/bazel-gazelle@v0.31.1...v0.32.0

</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:eyJjcmVhdGVkSW5WZXIiOiIzNi41LjMiLCJ1cGRhdGVkSW5WZXIiOiIzNi41LjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->
renovate bot added a commit to cgrindel/rules_swift_package_manager that referenced this pull request Jul 11, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [bazel_gazelle](https://togithub.com/bazelbuild/bazel-gazelle) |
http_archive | minor | `v0.31.1` -> `v0.32.0` |

---

### Release Notes

<details>
<summary>bazelbuild/bazel-gazelle (bazel_gazelle)</summary>

###
[`v0.32.0`](https://togithub.com/bazelbuild/bazel-gazelle/releases/tag/v0.32.0)

[Compare
Source](https://togithub.com/bazelbuild/bazel-gazelle/compare/v0.31.1...v0.32.0)

Starting this release, Gazelle no longer resolves Go and proto imports
of Google APIs to `@go_googleapis`. Instead, Go packages from Google
APIs will be treated as regular Go packages, and resolve to
`@org_golang_google_genproto`, which contains the pre-generated Go code,
with its version determined by Go modules. For proto files importing
Google APIs proto and generating Go code, users need to:

1.  Add an `http_archive` rule to download Google APIs, e.g.,

<!---->

    http_archive(
        name = "googleapis",
sha256 =
"9d1a930e767c93c825398b8f8692eca3fe353b9aaadedfbcf1fca2282c85df88",
strip_prefix = "googleapis-64926d52febbf298cb82a8f472ade4a3969ba922",
        urls = [

"https://github.com/googleapis/googleapis/archive/64926d52febbf298cb82a8f472ade4a3969ba922.zip",
        ],
    )

load("@&#8203;googleapis//:repository_rules.bzl",
"switched_rules_by_language")

    switched_rules_by_language(
        name = "com_google_googleapis_imports",
    )

Note that the version of Google APIs archive needs to be compatible with
the pre-generated code in `@org_golang_google_genproto`.

2. Resolve the proto manually. If Gazelle is being used, directives like
the following need to be added to a parent directory of the proto files:

<!---->

### gazelle:resolve proto proto google/rpc/status.proto
@&#8203;googleapis//google/rpc:status_proto
### gazelle:resolve proto go google/rpc/status.proto
@&#8203;org_golang_google_genproto//googleapis/rpc/status
### gazelle:resolve proto google/longrunning/operations.proto
@&#8203;googleapis//google/longrunning:operations_proto
### gazelle:resolve proto go google/longrunning/operations.proto
@&#8203;org_golang_google_genproto//googleapis/longrunning

#### What's Changed

- Decouple Google APIs by [@&#8203;linzhp](https://togithub.com/linzhp)
in
[bazelbuild/bazel-gazelle#1561
- resolve: Add a resolve_regexp directive by
[@&#8203;DolceTriade](https://togithub.com/DolceTriade) in
[bazelbuild/bazel-gazelle#1542
- Remove module dependency on go_googleapis by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/bazel-gazelle#1563
- Testing on macOS arm64 by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/bazel-gazelle#1568
- Stop resolving to @&#8203;io_bazel_rules_go//proto/wkt by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/bazel-gazelle#1567
- Fix directive table in Readme file by
[@&#8203;farhaven](https://togithub.com/farhaven) in
[bazelbuild/bazel-gazelle#1571

#### New Contributors

- [@&#8203;DolceTriade](https://togithub.com/DolceTriade) made their
first contribution in
[bazelbuild/bazel-gazelle#1542
- [@&#8203;farhaven](https://togithub.com/farhaven) made their first
contribution in
[bazelbuild/bazel-gazelle#1571

**Full Changelog**:
bazelbuild/bazel-gazelle@v0.31.1...v0.32.0

</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:eyJjcmVhdGVkSW5WZXIiOiIzNi41LjMiLCJ1cGRhdGVkSW5WZXIiOiIzNi41LjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

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 Jul 11, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [bazel_gazelle](https://togithub.com/bazelbuild/bazel-gazelle) |
http_archive | minor | `v0.31.1` -> `v0.32.0` |

---

### Release Notes

<details>
<summary>bazelbuild/bazel-gazelle (bazel_gazelle)</summary>

###
[`v0.32.0`](https://togithub.com/bazelbuild/bazel-gazelle/releases/tag/v0.32.0)

[Compare
Source](https://togithub.com/bazelbuild/bazel-gazelle/compare/v0.31.1...v0.32.0)

Starting this release, Gazelle no longer resolves Go and proto imports
of Google APIs to `@go_googleapis`. Instead, Go packages from Google
APIs will be treated as regular Go packages, and resolve to
`@org_golang_google_genproto`, which contains the pre-generated Go code,
with its version determined by Go modules. For proto files importing
Google APIs proto and generating Go code, users need to:

1.  Add an `http_archive` rule to download Google APIs, e.g.,

<!---->

    http_archive(
        name = "googleapis",
sha256 =
"9d1a930e767c93c825398b8f8692eca3fe353b9aaadedfbcf1fca2282c85df88",
strip_prefix = "googleapis-64926d52febbf298cb82a8f472ade4a3969ba922",
        urls = [

"https://github.com/googleapis/googleapis/archive/64926d52febbf298cb82a8f472ade4a3969ba922.zip",
        ],
    )

load("@&#8203;googleapis//:repository_rules.bzl",
"switched_rules_by_language")

    switched_rules_by_language(
        name = "com_google_googleapis_imports",
    )

Note that the version of Google APIs archive needs to be compatible with
the pre-generated code in `@org_golang_google_genproto`.

2. Resolve the proto manually. If Gazelle is being used, directives like
the following need to be added to a parent directory of the proto files:

<!---->

### gazelle:resolve proto proto google/rpc/status.proto
@&#8203;googleapis//google/rpc:status_proto
### gazelle:resolve proto go google/rpc/status.proto
@&#8203;org_golang_google_genproto//googleapis/rpc/status
### gazelle:resolve proto google/longrunning/operations.proto
@&#8203;googleapis//google/longrunning:operations_proto
### gazelle:resolve proto go google/longrunning/operations.proto
@&#8203;org_golang_google_genproto//googleapis/longrunning

#### What's Changed

- Decouple Google APIs by [@&#8203;linzhp](https://togithub.com/linzhp)
in
[bazelbuild/bazel-gazelle#1561
- resolve: Add a resolve_regexp directive by
[@&#8203;DolceTriade](https://togithub.com/DolceTriade) in
[bazelbuild/bazel-gazelle#1542
- Remove module dependency on go_googleapis by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/bazel-gazelle#1563
- Testing on macOS arm64 by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/bazel-gazelle#1568
- Stop resolving to @&#8203;io_bazel_rules_go//proto/wkt by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/bazel-gazelle#1567
- Fix directive table in Readme file by
[@&#8203;farhaven](https://togithub.com/farhaven) in
[bazelbuild/bazel-gazelle#1571

#### New Contributors

- [@&#8203;DolceTriade](https://togithub.com/DolceTriade) made their
first contribution in
[bazelbuild/bazel-gazelle#1542
- [@&#8203;farhaven](https://togithub.com/farhaven) made their first
contribution in
[bazelbuild/bazel-gazelle#1571

**Full Changelog**:
bazelbuild/bazel-gazelle@v0.31.1...v0.32.0

</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:eyJjcmVhdGVkSW5WZXIiOiIzNi41LjMiLCJ1cGRhdGVkSW5WZXIiOiIzNi41LjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
f0rmiga pushed a commit to aspect-build/talkie that referenced this pull request Aug 11, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github.com/bazel-contrib/rules_jvm](https://togithub.com/bazel-contrib/rules_jvm)
| require | minor | `v0.14.0` -> `v0.15.0` |
|
[github.com/bazelbuild/bazel-gazelle](https://togithub.com/bazelbuild/bazel-gazelle)
| require | minor | `v0.31.1` -> `v0.32.0` |
|
[github.com/bazelbuild/rules_go](https://togithub.com/bazelbuild/rules_go)
| require | minor | `v0.40.1` -> `v0.41.0` |
|
[github.com/buildbarn/bb-remote-execution](https://togithub.com/buildbarn/bb-remote-execution)
| require | digest | `2b8c1fb` -> `d791ebc` |
| [github.com/emicklei/proto](https://togithub.com/emicklei/proto) |
require | minor | `v1.11.2` -> `v1.12.0` |
| [github.com/evanw/esbuild](https://togithub.com/evanw/esbuild) |
require | patch | `v0.18.11` -> `v0.18.13` |
| golang.org/x/exp | require | digest | `97b1e66` -> `613f0c0` |
|
[google.golang.org/genproto](https://togithub.com/googleapis/go-genproto)
| require | digest | `9506855` -> `782d3b1` |
|
[google.golang.org/genproto/googleapis/api](https://togithub.com/googleapis/go-genproto)
| require | digest | `f517056` -> `782d3b1` |
| [helm.sh/helm/v3](https://togithub.com/helm/helm) | require | patch |
`v3.12.1` -> `v3.12.2` |

---

### ⚠ Dependency Lookup Warnings ⚠

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

---

### Release Notes

<details>
<summary>bazel-contrib/rules_jvm
(github.com/bazel-contrib/rules_jvm)</summary>

###
[`v0.15.0`](https://togithub.com/bazel-contrib/rules_jvm/releases/tag/v0.15.0)

[Compare
Source](https://togithub.com/bazel-contrib/rules_jvm/compare/v0.14.0...v0.15.0)

WORKSPACE snippet:

```starlark
load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "contrib_rules_jvm",
    sha256 = "75e9e6e1bc15ab960e2e2a652299a252b03315a77d14447ea996f665d7f923b8",
    strip_prefix = "rules_jvm-0.15.0",
    url = "https://github.com/bazel-contrib/rules_jvm/releases/download/v0.15.0/rules_jvm-v0.15.0.tar.gz",
)

### Fetches the contrib_rules_jvm dependencies.
### If you want to have a different version of some dependency,

### you should fetch it *before* calling this.
load("@&#8203;contrib_rules_jvm//:repositories.bzl", "contrib_rules_jvm_deps")

contrib_rules_jvm_deps()

### Now ensure that the downloaded deps are properly configured
load("@&#8203;contrib_rules_jvm//:setup.bzl", "contrib_rules_jvm_setup")

contrib_rules_jvm_setup()
```

#### What's Changed

- build: Upgrade grpc-java to 1.56.1 and protobuf to 21.7 and ensure we
choose the right version by
[@&#8203;blorente](https://togithub.com/blorente) in
[bazel-contrib/rules_jvm#183
- Add javax.annotation.processing as in the stdlib by
[@&#8203;illicitonion](https://togithub.com/illicitonion) in
[bazel-contrib/rules_jvm#184
- fix: Reflect protobuf updates into MODULE.bazel by
[@&#8203;blorente](https://togithub.com/blorente) in
[bazel-contrib/rules_jvm#185
- Add full JRE package list by
[@&#8203;illicitonion](https://togithub.com/illicitonion) in
[bazel-contrib/rules_jvm#186

**Full Changelog**:
bazel-contrib/rules_jvm@v0.14.0...v0.15.0

</details>

<details>
<summary>bazelbuild/bazel-gazelle
(github.com/bazelbuild/bazel-gazelle)</summary>

###
[`v0.32.0`](https://togithub.com/bazelbuild/bazel-gazelle/releases/tag/v0.32.0)

[Compare
Source](https://togithub.com/bazelbuild/bazel-gazelle/compare/v0.31.1...v0.32.0)

Starting this release, Gazelle no longer resolves Go and proto imports
of Google APIs to `@go_googleapis`. Instead, Go packages from Google
APIs will be treated as regular Go packages, and resolve to
`@org_golang_google_genproto`, which contains the pre-generated Go code,
with its version determined by Go modules. For proto files importing
Google APIs proto and generating Go code, users need to:

1.  Add an `http_archive` rule to download Google APIs, e.g.,

<!---->

    http_archive(
        name = "googleapis",
sha256 =
"9d1a930e767c93c825398b8f8692eca3fe353b9aaadedfbcf1fca2282c85df88",
strip_prefix = "googleapis-64926d52febbf298cb82a8f472ade4a3969ba922",
        urls = [

"https://github.com/googleapis/googleapis/archive/64926d52febbf298cb82a8f472ade4a3969ba922.zip",
        ],
    )

load("@&#8203;googleapis//:repository_rules.bzl",
"switched_rules_by_language")

    switched_rules_by_language(
        name = "com_google_googleapis_imports",
    )

Note that the version of Google APIs archive needs to be compatible with
the pre-generated code in `@org_golang_google_genproto`.

2. Resolve the proto manually. If Gazelle is being used, directives like
the following need to be added to a parent directory of the proto files:

<!---->

### gazelle:resolve proto proto google/rpc/status.proto
@&#8203;googleapis//google/rpc:status_proto
### gazelle:resolve proto go google/rpc/status.proto
@&#8203;org_golang_google_genproto//googleapis/rpc/status
### gazelle:resolve proto google/longrunning/operations.proto
@&#8203;googleapis//google/longrunning:operations_proto
### gazelle:resolve proto go google/longrunning/operations.proto
@&#8203;org_golang_google_genproto//googleapis/longrunning

#### What's Changed

- Decouple Google APIs by [@&#8203;linzhp](https://togithub.com/linzhp)
in
[bazelbuild/bazel-gazelle#1561
- resolve: Add a resolve_regexp directive by
[@&#8203;DolceTriade](https://togithub.com/DolceTriade) in
[bazelbuild/bazel-gazelle#1542
- Remove module dependency on go_googleapis by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/bazel-gazelle#1563
- Testing on macOS arm64 by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/bazel-gazelle#1568
- Stop resolving to @&#8203;io_bazel_rules_go//proto/wkt by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/bazel-gazelle#1567
- Fix directive table in Readme file by
[@&#8203;farhaven](https://togithub.com/farhaven) in
[bazelbuild/bazel-gazelle#1571

#### New Contributors

- [@&#8203;DolceTriade](https://togithub.com/DolceTriade) made their
first contribution in
[bazelbuild/bazel-gazelle#1542
- [@&#8203;farhaven](https://togithub.com/farhaven) made their first
contribution in
[bazelbuild/bazel-gazelle#1571

**Full Changelog**:
bazelbuild/bazel-gazelle@v0.31.1...v0.32.0

</details>

<details>
<summary>bazelbuild/rules_go (github.com/bazelbuild/rules_go)</summary>

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

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

#### What's Changed

Starting this release, rules_go no longer ship with `@go_googleapis`
repo. Together with Gazelle v0.32.0, it means that all Go code importing
generated code from Google APIs will depend on
`@org_golang_google_genproto`, which is resolved by Go modules. For
proto files importing Google APIs proto and generating Go code, users
need to:

1.  Add an `http_archive` rule to download Google APIs, e.g.,

<!---->

    http_archive(
        name = "googleapis",
sha256 =
"9d1a930e767c93c825398b8f8692eca3fe353b9aaadedfbcf1fca2282c85df88",
strip_prefix = "googleapis-64926d52febbf298cb82a8f472ade4a3969ba922",
        urls = [

"https://github.com/googleapis/googleapis/archive/64926d52febbf298cb82a8f472ade4a3969ba922.zip",
        ],
    )

load("@&#8203;googleapis//:repository_rules.bzl",
"switched_rules_by_language")

    switched_rules_by_language(
        name = "com_google_googleapis_imports",
    )

Note that the version of Google APIs archive needs to be compatible with
the pre-generated code in `@org_golang_google_genproto`.

2. Resolve the proto manually. If Gazelle is being used, directives like
the following need to be added to a parent directory of the proto files:

<!---->

### gazelle:resolve proto proto google/rpc/status.proto
@&#8203;googleapis//google/rpc:status_proto
### gazelle:resolve proto go google/rpc/status.proto
@&#8203;org_golang_google_genproto//googleapis/rpc/status
### gazelle:resolve proto google/longrunning/operations.proto
@&#8203;googleapis//google/longrunning:operations_proto
### gazelle:resolve proto go google/longrunning/operations.proto
@&#8203;org_golang_google_genproto//googleapis/longrunning

Other changes included in this release

- detect_sdk_version: Support 1.21's new VERSION file format by
[@&#8203;evanj](https://togithub.com/evanj) in
[bazelbuild/rules_go#3600
- stdlib: Do not pass -static to cgo by
[@&#8203;zecke](https://togithub.com/zecke) in
[bazelbuild/rules_go#3593
- Expand stdlib packages when queried by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3606
- Fix stdlib file outputs pointing to processwrapper by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[bazelbuild/rules_go#3608
- Fix `go_sdk` extension failure for unnamed root module by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[bazelbuild/rules_go#3612
- Adding Uber's hermetic cc toolchain for tests by
[@&#8203;linzhp](https://togithub.com/linzhp) in
[bazelbuild/rules_go#3609
- Implement functionality to skip tests via TESTBRIDGE_TEST_ONLY env by
[@&#8203;yushan26](https://togithub.com/yushan26) in
[bazelbuild/rules_go#3618

**Full Changelog**:
bazelbuild/rules_go@v0.40.1...v0.41.0

#### `WORKSPACE` code

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

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"278b7ff5a826f3dc10f04feaf0b70d48b68748ccd512d7f98bf442077f043fe3",
        urls = [

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

"https://github.com/bazelbuild/rules_go/releases/download/v0.41.0/rules_go-v0.41.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>

<details>
<summary>emicklei/proto (github.com/emicklei/proto)</summary>

###
[`v1.12.0`](https://togithub.com/emicklei/proto/compare/v1.11.2...v1.12.0)

[Compare
Source](https://togithub.com/emicklei/proto/compare/v1.11.2...v1.12.0)

</details>

<details>
<summary>evanw/esbuild (github.com/evanw/esbuild)</summary>

###
[`v0.18.13`](https://togithub.com/evanw/esbuild/releases/tag/v0.18.13)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.18.12...v0.18.13)

- Add the `--drop-labels=` option
([#&#8203;2398](https://togithub.com/evanw/esbuild/issues/2398))

If you want to conditionally disable some development-only code and have
it not be present in the final production bundle, right now the most
straightforward way of doing this is to use the `--define:` flag along
with a specially-named global variable. For example, consider the
following code:

    ```js
    function main() {
      DEV && doAnExpensiveCheck()
    }
    ```

    You can build this for development and production like this:

    -   Development: `esbuild --define:DEV=true`
    -   Production: `esbuild --define:DEV=false`

One drawback of this approach is that the resulting code crashes if you
don't provide a value for `DEV` with `--define:`. In practice this isn't
that big of a problem, and there are also various ways to work around
this.

However, another approach that avoids this drawback is to use JavaScript
label statements instead. That's what the `--drop-labels=` flag
implements. For example, consider the following code:

    ```js
    function main() {
      DEV: doAnExpensiveCheck()
    }
    ```

With this release, you can now build this for development and production
like this:

    -   Development: `esbuild`
    -   Production: `esbuild --drop-labels=DEV`

This means that code containing optional development-only checks can now
be written such that it's safe to run without any additional
configuration. The `--drop-labels=` flag takes comma-separated list of
multiple label names to drop.

- Avoid causing `unhandledRejection` during shutdown
([#&#8203;3219](https://togithub.com/evanw/esbuild/issues/3219))

All pending esbuild JavaScript API calls are supposed to fail if
esbuild's underlying child process is unexpectedly terminated. This can
happen if `SIGINT` is sent to the parent `node` process with Ctrl+C, for
example. Previously doing this could also cause an unhandled promise
rejection when esbuild attempted to communicate this failure to its own
child process that no longer exists. This release now swallows this
communication failure, which should prevent this internal unhandled
promise rejection. This change means that you can now use esbuild's
JavaScript API with a custom `SIGINT` handler that extends the lifetime
of the `node` process without esbuild's internals causing an early exit
due to an unhandled promise rejection.

-   Update browser compatibility table scripts

The scripts that esbuild uses to compile its internal browser
compatibility table have been overhauled. Briefly:

    -   Converted from JavaScript to TypeScript
    -   Fixed some bugs that resulted in small changes to the table
- Added [`caniuse-lite`](https://www.npmjs.com/package/caniuse-lite) and
[`@mdn/browser-compat-data`](https://www.npmjs.com/package/@&#8203;mdn/browser-compat-data)
as new data sources (replacing manually-copied information)

This change means it's now much easier to keep esbuild's internal
compatibility tables up to date. You can review the table changes here
if you need to debug something about this change:

- [JS table
changes](https://togithub.com/evanw/esbuild/compare/d259b8fac717ee347c19bd8299f2c26d7c87481a...af1d35c372f78c14f364b63e819fd69548508f55#diff-1649eb68992c79753469f02c097de309adaf7231b45cc816c50bf751af400eb4)
- [CSS table
changes](https://togithub.com/evanw/esbuild/commit/95feb2e09877597cb929469ce43811bdf11f50c1#diff-4e1c4f269e02c5ea31cbd5138d66751e32cf0e240524ee8a966ac756f0e3c3cd)

###
[`v0.18.12`](https://togithub.com/evanw/esbuild/releases/tag/v0.18.12)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.18.11...v0.18.12)

- Fix a panic with `const enum` inside parentheses
([#&#8203;3205](https://togithub.com/evanw/esbuild/issues/3205))

This release fixes an edge case where esbuild could potentially panic if
a TypeScript `const enum` statement was used inside of a parenthesized
expression and was followed by certain other scope-related statements.
Here's a minimal example that triggers this edge case:

    ```ts
    (() => {
      const enum E { a };
      () => E.a
    })
    ```

- Allow a newline in the middle of TypeScript `export type` statement
([#&#8203;3225](https://togithub.com/evanw/esbuild/issues/3225))

Previously esbuild incorrectly rejected the following valid TypeScript
code:

    ```ts
    export type
    { T };

    export type
    * as foo from 'bar';
    ```

Code that uses a newline after `export type` is now allowed starting
with this release.

- Fix cross-module inlining of string enums
([#&#8203;3210](https://togithub.com/evanw/esbuild/issues/3210))

A refactoring typo in version 0.18.9 accidentally introduced a
regression with cross-module inlining of string enums when combined with
computed property accesses. This regression has been fixed.

- Rewrite `.js` to `.ts` inside packages with `exports`
([#&#8203;3201](https://togithub.com/evanw/esbuild/issues/3201))

Packages with the `exports` field are supposed to disable node's path
resolution behavior that allows you to import a file with a different
extension than the one in the source code (for example, importing
`foo/bar` to get `foo/bar.js`). And TypeScript has behavior where you
can import a non-existent `.js` file and you will get the `.ts` file
instead. Previously the presence of the `exports` field caused esbuild
to disable all extension manipulation stuff which included both node's
implicit file extension searching and TypeScript's file extension
swapping. However, TypeScript appears to always apply file extension
swapping even in this case. So with this release, esbuild will now
rewrite `.js` to `.ts` even inside packages with `exports`.

- Fix a redirect edge case in esbuild's development server
([#&#8203;3208](https://togithub.com/evanw/esbuild/issues/3208))

The development server canonicalizes directory URLs by adding a trailing
slash. For example, visiting `/about` redirects to `/about/` if
`/about/index.html` would be served. However, if the requested path
begins with two slashes, then the redirect incorrectly turned into a
protocol-relative URL. For example, visiting `//about` redirected to
`//about/` which the browser turns into `http://about/`. This release
fixes the bug by canonicalizing the URL path when doing this redirect.

</details>

<details>
<summary>helm/helm (helm.sh/helm/v3)</summary>

### [`v3.12.2`](https://togithub.com/helm/helm/releases/tag/v3.12.2):
Helm v3.12.2

[Compare
Source](https://togithub.com/helm/helm/compare/v3.12.1...v3.12.2)

Helm v3.12.2 is a patch release. Users are encouraged to upgrade for the
best experience. Users are encouraged to upgrade for the best
experience.

The community keeps growing, and we'd love to see you there!

- Join the discussion in [Kubernetes
Slack](https://kubernetes.slack.com):
    -   for questions and just to hang out
    -   for discussing PRs, code, and bugs
- Hang out at the Public Developer Call: Thursday, 9:30 Pacific via
[Zoom](https://zoom.us/j/696660622)
- Test, debug, and contribute charts:
[ArtifactHub/packages](https://artifacthub.io/packages/search?kind=0)

#### Installation and Upgrading

Download Helm v3.12.2. The common platform binaries are here:

- [MacOS amd64](https://get.helm.sh/helm-v3.12.2-darwin-amd64.tar.gz)
([checksum](https://get.helm.sh/helm-v3.12.2-darwin-amd64.tar.gz.sha256sum)
/ 6e8bfc84a640e0dc47cc49cfc2d0a482f011f4249e2dff2a7e23c7ef2df1b64e)
- [MacOS arm64](https://get.helm.sh/helm-v3.12.2-darwin-arm64.tar.gz)
([checksum](https://get.helm.sh/helm-v3.12.2-darwin-arm64.tar.gz.sha256sum)
/ b60ee16847e28879ae298a20ba4672fc84f741410f438e645277205824ddbf55)
- [Linux amd64](https://get.helm.sh/helm-v3.12.2-linux-amd64.tar.gz)
([checksum](https://get.helm.sh/helm-v3.12.2-linux-amd64.tar.gz.sha256sum)
/ 2b6efaa009891d3703869f4be80ab86faa33fa83d9d5ff2f6492a8aebe97b219)
- [Linux arm](https://get.helm.sh/helm-v3.12.2-linux-arm.tar.gz)
([checksum](https://get.helm.sh/helm-v3.12.2-linux-arm.tar.gz.sha256sum)
/ 39cc63757901eaea5f0c30b464d3253a5d034ffefcb9b9d3c9e284887b9bb381)
- [Linux arm64](https://get.helm.sh/helm-v3.12.2-linux-arm64.tar.gz)
([checksum](https://get.helm.sh/helm-v3.12.2-linux-arm64.tar.gz.sha256sum)
/ cfafbae85c31afde88c69f0e5053610c8c455826081c1b2d665d9b44c31b3759)
- [Linux i386](https://get.helm.sh/helm-v3.12.2-linux-386.tar.gz)
([checksum](https://get.helm.sh/helm-v3.12.2-linux-386.tar.gz.sha256sum)
/ ecd4d0f3feb0f8448ed11e182e493e74c36572e1b52d47ecbed3e99919c8390d)
- [Linux ppc64le](https://get.helm.sh/helm-v3.12.2-linux-ppc64le.tar.gz)
([checksum](https://get.helm.sh/helm-v3.12.2-linux-ppc64le.tar.gz.sha256sum)
/ fb0313bfd6ec5a08d8755efb7e603f76633726160040434fd885e74b6c10e387)
- [Linux s390x](https://get.helm.sh/helm-v3.12.2-linux-s390x.tar.gz)
([checksum](https://get.helm.sh/helm-v3.12.2-linux-s390x.tar.gz.sha256sum)
/ 63dec602455337a6ec08ba16429ec2b87ab064ea563249c07c01f483c0c4bd4c)
- [Windows amd64](https://get.helm.sh/helm-v3.12.2-windows-amd64.zip)
([checksum](https://get.helm.sh/helm-v3.12.2-windows-amd64.zip.sha256sum)
/ 35dc439baad85728dafd2be0edd4721ae5b770c5cf72c3adf9558b1415a9cae6)

This release was signed with ` 672C 657B E06B 4B30 969C 4A57 4614 49C2
5E36 B98E ` and can be found at
[@&#8203;mattfarina](https://togithub.com/mattfarina) [keybase
account](https://keybase.io/mattfarina). Please use the attached
signatures for verifying this release using `gpg`.

The [Quickstart Guide](https://helm.sh/docs/intro/quickstart/) will get
you going from there. For **upgrade instructions** or detailed
installation notes, check the [install
guide](https://helm.sh/docs/intro/install/). You can also use a [script
to
install](https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3)
on any system with `bash`.

#### What's Next

- 3.12.3 is the next patch/bug fix release and will be on August 9,
2023.
-   3.13.0 is the next feature release and be on September 13, 2023.

#### Changelog

- add GetRegistryClient method
[`1e210a2`](https://togithub.com/helm/helm/commit/1e210a2c8cc5117d1055bfaa5d40f51bbc2e345e)
(wujunwei)
- chore(deps): bump oras.land/oras-go from 1.2.2 to 1.2.3
[`cfa7bc6`](https://togithub.com/helm/helm/commit/cfa7bc68fa131284fb2fafdb43cd0233dcc7a2b7)
(dependabot\[bot])

</details>

---

### Configuration

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

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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/aspect-build/silo).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xNTkuNyIsInVwZGF0ZWRJblZlciI6IjM2LjUuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jason Bedard <jason@aspect.dev>
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.

go_googleapis vs org_golang_google_genproto
3 participants