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

Use patch from @bazel_tools//tools/build_defs/repo:utils.bzl #1269

Merged
merged 1 commit into from
Jun 12, 2022

Conversation

bozaro
Copy link
Contributor

@bozaro bozaro commented Jun 9, 2022

What type of PR is this?

Bug fix

What package or component does this PR mostly affect?

go_repository

What does this PR do? Why is it needed?

This PR use same apply patch logic as http_archive.

Which issues(s) does this PR fix?

Fixes #1268

Other notes for review

@bozaro bozaro force-pushed the use-patch-from-bazel_tools branch 3 times, most recently from 1a91a25 to e2e3c4f Compare June 9, 2022 10:32
@bozaro bozaro force-pushed the use-patch-from-bazel_tools branch from e2e3c4f to 100ed4d Compare June 9, 2022 10:33
@linzhp linzhp merged commit 1dc3aaa into bazel-contrib:master Jun 12, 2022
@bozaro bozaro deleted the use-patch-from-bazel_tools branch June 13, 2022 05:24
@sluongng
Copy link
Contributor

@bozaro @linzhp this actually introduce a regression for me

https://github.com/sluongng/nogo-analyzer/blob/af4ff49500d5229cbd08329b7e4c47ec2e6a5185/private/deps.bzl#L298-L308
here is how I have been patching things which work before this PR

After this PR i got this

(09:07:10) ERROR: /Users/sngoc/work/misc/nogo-analyzer/WORKSPACE:48:19: fetching go_repository rule //external:com_github_golangci_golangci_lint: Traceback (most recent call last):
        File "/private/var/tmp/_bazel_sngoc/44e60f02b0f0d351d37480700dec3dcb/external/bazel_gazelle/internal/go_repository.bzl", line 312, column 10, in _go_repository_impl
                patch(ctx)
        File "/private/var/tmp/_bazel_sngoc/44e60f02b0f0d351d37480700dec3dcb/external/bazel_tools/tools/build_defs/repo/utils.bzl", line 167, column 22, in patch
                ctx.patch(patchfile, strip)
Error in patch: Error applying patch /private/var/tmp/_bazel_sngoc/44e60f02b0f0d351d37480700dec3dcb/external/com_github_sluongng_nogo_analyzer/golangci-lint/patch/001_export_source.patch: Cannot find file to patch (near line 5), old file name (pkg/golinters/BUILD.bazel 2022-05-13 11:15:05.460642945 +0200) doesn't exist, new file name (pkg/golinters/BUILD.bazel 2022-05-13 11:16:12.074084177 +0200) doesn't exist.
(09:07:10) ERROR: /Users/sngoc/work/misc/nogo-analyzer/golangci-lint/constructor/BUILD.bazel:5:8: //golangci-lint/constructor:constructor depends on @com_github_golangci_golangci_lint//pkg/golinters:all_go_files in repository @com_github_golangci_golangci_lint which failed to fetch. no such package '@com_github_golangci_golangci_lint//pkg/golinters': Error applying patch /private/var/tmp/_bazel_sngoc/44e60f02b0f0d351d37480700dec3dcb/external/com_github_sluongng_nogo_analyzer/golangci-lint/patch/001_export_source.patch: Cannot find file to patch (near line 5), old file name (pkg/golinters/BUILD.bazel 2022-05-13 11:15:05.460642945 +0200) doesn't exist, new file name (pkg/golinters/BUILD.bazel 2022-05-13 11:16:12.074084177 +0200) doesn't exist.

sluongng added a commit to sluongng/nogo-analyzer that referenced this pull request Jun 13, 2022
It seems like bazel-contrib/bazel-gazelle#1269
broke our go_repository patches so let's revert that for now.
sluongng added a commit to sluongng/nogo-analyzer that referenced this pull request Jun 13, 2022
It seems like bazel-contrib/bazel-gazelle#1269
broke our go_repository patches so let's revert that for now.
sluongng added a commit to sluongng/nogo-analyzer that referenced this pull request Jun 13, 2022
It seems like bazel-contrib/bazel-gazelle#1269
broke our go_repository patches so let's revert that for now.
@linzhp
Copy link
Contributor

linzhp commented Jun 13, 2022

@sluongng Can you create a PR to revert or fix?

sluongng added a commit to sluongng/bazel-gazelle that referenced this pull request Jun 13, 2022
…zl` (bazel-contrib#1269)"

This reverts commit 1dc3aaa.

It seems like by using the native repository_ctx.path(file, strip)
in bazel_tools, we would be applying the patches to the repository
archive _before_ BUILD files generation.  This is not desirable as
patches on top of go_repository is often used to modify the BUILD files
themselves.

Another differences is that `patch` allow patch files without trailing
blank/empty lines while repository_ctx.patch() would fail to recognize
EOF in patch files without a trailing empty line:

  Expecting more chunk line at line xx

Let's revert this change until we find a more appropriate solution to
simplify go_repository structure.
@sluongng
Copy link
Contributor

#1277 FYI

linzhp pushed a commit that referenced this pull request Jun 13, 2022
* Revert "Use `patch` from `@bazel_tools//tools/build_defs/repo:utils.bzl` (#1269)"

This reverts commit 1dc3aaa.

It seems like by using the native repository_ctx.path(file, strip)
in bazel_tools, we would be applying the patches to the repository
archive _before_ BUILD files generation.  This is not desirable as
patches on top of go_repository is often used to modify the BUILD files
themselves.

Another differences is that `patch` allow patch files without trailing
blank/empty lines while repository_ctx.patch() would fail to recognize
EOF in patch files without a trailing empty line:

  Expecting more chunk line at line xx

Let's revert this change until we find a more appropriate solution to
simplify go_repository structure.

* go_repository: add doc regarding patch usages

Highlight the reason why we had to revert a recent PR.
Also applied minor formatting changes.
gcf-merge-on-green bot referenced this pull request in googleapis/gapic-config-validator Jun 27, 2022
[![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.25.0` -> `v0.26.0` |

---

### Release Notes

<details>
<summary>bazelbuild/bazel-gazelle</summary>

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

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

#### What's Changed

-   fix(tests): fix gazelle_generation_test expected stderr update by [@&#8203;jbedard](https://togithub.com/jbedard) in [https://github.com/bazelbuild/bazel-gazelle/pull/1220](https://togithub.com/bazelbuild/bazel-gazelle/pull/1220)
-   Add an e2e test confirming no output on success by [@&#8203;achew22](https://togithub.com/achew22) in [https://github.com/bazelbuild/bazel-gazelle/pull/1216](https://togithub.com/bazelbuild/bazel-gazelle/pull/1216)
-   Update extend.md with a practical languages example by [@&#8203;Anthony-Bible](https://togithub.com/Anthony-Bible) in [https://github.com/bazelbuild/bazel-gazelle/pull/1222](https://togithub.com/bazelbuild/bazel-gazelle/pull/1222)
-   fix: Remove gazelle_binary import collision by [@&#8203;illicitonion](https://togithub.com/illicitonion) in [https://github.com/bazelbuild/bazel-gazelle/pull/1226](https://togithub.com/bazelbuild/bazel-gazelle/pull/1226)
-   Broaden label name regex by [@&#8203;illicitonion](https://togithub.com/illicitonion) in [https://github.com/bazelbuild/bazel-gazelle/pull/1229](https://togithub.com/bazelbuild/bazel-gazelle/pull/1229)
-   gazelle_generation_test: redact workspace path from output by [@&#8203;dr-dime](https://togithub.com/dr-dime) in [https://github.com/bazelbuild/bazel-gazelle/pull/1231](https://togithub.com/bazelbuild/bazel-gazelle/pull/1231)
-   Add -print0 to print names of rewritten files by [@&#8203;dr-dime](https://togithub.com/dr-dime) in [https://github.com/bazelbuild/bazel-gazelle/pull/1213](https://togithub.com/bazelbuild/bazel-gazelle/pull/1213)
-   Code Quality Improvements by [@&#8203;sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/bazel-gazelle/pull/1197](https://togithub.com/bazelbuild/bazel-gazelle/pull/1197)
-   Add -strict to exit on build file and directive errors by [@&#8203;dr-dime](https://togithub.com/dr-dime) in [https://github.com/bazelbuild/bazel-gazelle/pull/1214](https://togithub.com/bazelbuild/bazel-gazelle/pull/1214)
-   fix(lang/proto): include imports from different targets by [@&#8203;nickgooding](https://togithub.com/nickgooding) in [https://github.com/bazelbuild/bazel-gazelle/pull/1237](https://togithub.com/bazelbuild/bazel-gazelle/pull/1237)
-   Update rules example in README to v0.25.0 by [@&#8203;yujunz](https://togithub.com/yujunz) in [https://github.com/bazelbuild/bazel-gazelle/pull/1240](https://togithub.com/bazelbuild/bazel-gazelle/pull/1240)
-   Allow static dependency resolution for Gazelle rule by [@&#8203;uhthomas](https://togithub.com/uhthomas) in [https://github.com/bazelbuild/bazel-gazelle/pull/1242](https://togithub.com/bazelbuild/bazel-gazelle/pull/1242)
-   Handle wrapped errors by [@&#8203;illicitonion](https://togithub.com/illicitonion) in [https://github.com/bazelbuild/bazel-gazelle/pull/1234](https://togithub.com/bazelbuild/bazel-gazelle/pull/1234)
-   Go: Update tests to use cmp.Diff instead of reflect.DeepEqual by [@&#8203;thempatel](https://togithub.com/thempatel) in [https://github.com/bazelbuild/bazel-gazelle/pull/1244](https://togithub.com/bazelbuild/bazel-gazelle/pull/1244)
-   Fix startup script manifest resolution with --nolegacy_external_runfiles by [@&#8203;jvolkman](https://togithub.com/jvolkman) in [https://github.com/bazelbuild/bazel-gazelle/pull/1247](https://togithub.com/bazelbuild/bazel-gazelle/pull/1247)
-   Label's package may contain [@&#8203;s](https://togithub.com/s) by [@&#8203;illicitonion](https://togithub.com/illicitonion) in [https://github.com/bazelbuild/bazel-gazelle/pull/1249](https://togithub.com/bazelbuild/bazel-gazelle/pull/1249)
-   Trim runfiles prefix consistently by [@&#8203;uhthomas](https://togithub.com/uhthomas) in [https://github.com/bazelbuild/bazel-gazelle/pull/1257](https://togithub.com/bazelbuild/bazel-gazelle/pull/1257)
-   Respect .bazelignore by [@&#8203;Whoaa512](https://togithub.com/Whoaa512) in [https://github.com/bazelbuild/bazel-gazelle/pull/1245](https://togithub.com/bazelbuild/bazel-gazelle/pull/1245)
-   Implement very minimalistic support for go workspaces by [@&#8203;HakanSunay](https://togithub.com/HakanSunay) in [https://github.com/bazelbuild/bazel-gazelle/pull/1250](https://togithub.com/bazelbuild/bazel-gazelle/pull/1250)
-   Fix typo in comment by [@&#8203;yujunz](https://togithub.com/yujunz) in [https://github.com/bazelbuild/bazel-gazelle/pull/1270](https://togithub.com/bazelbuild/bazel-gazelle/pull/1270)
-   Use `patch` from `@bazel_tools//tools/build_defs/repo:utils.bzl` by [@&#8203;bozaro](https://togithub.com/bozaro) in [https://github.com/bazelbuild/bazel-gazelle/pull/1269](https://togithub.com/bazelbuild/bazel-gazelle/pull/1269)
-   Update rules_go to 0.33.0 by [@&#8203;fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/bazel-gazelle/pull/1263](https://togithub.com/bazelbuild/bazel-gazelle/pull/1263)
-   Add support for auth_patterns in go_repository by [@&#8203;dmivankov](https://togithub.com/dmivankov) in [https://github.com/bazelbuild/bazel-gazelle/pull/1254](https://togithub.com/bazelbuild/bazel-gazelle/pull/1254)
-   Sluongng/revert patch by [@&#8203;sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/bazel-gazelle/pull/1277](https://togithub.com/bazelbuild/bazel-gazelle/pull/1277)
-   Stop inferring import path for empty packages by [@&#8203;linzhp](https://togithub.com/linzhp) in [https://github.com/bazelbuild/bazel-gazelle/pull/1280](https://togithub.com/bazelbuild/bazel-gazelle/pull/1280)
-   Don't exclude spaces from the label name regex by [@&#8203;illicitonion](https://togithub.com/illicitonion) in [https://github.com/bazelbuild/bazel-gazelle/pull/1271](https://togithub.com/bazelbuild/bazel-gazelle/pull/1271)

#### New Contributors

-   [@&#8203;Anthony-Bible](https://togithub.com/Anthony-Bible) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1222](https://togithub.com/bazelbuild/bazel-gazelle/pull/1222)
-   [@&#8203;dr-dime](https://togithub.com/dr-dime) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1231](https://togithub.com/bazelbuild/bazel-gazelle/pull/1231)
-   [@&#8203;sluongng](https://togithub.com/sluongng) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1197](https://togithub.com/bazelbuild/bazel-gazelle/pull/1197)
-   [@&#8203;nickgooding](https://togithub.com/nickgooding) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1237](https://togithub.com/bazelbuild/bazel-gazelle/pull/1237)
-   [@&#8203;yujunz](https://togithub.com/yujunz) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1240](https://togithub.com/bazelbuild/bazel-gazelle/pull/1240)
-   [@&#8203;uhthomas](https://togithub.com/uhthomas) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1242](https://togithub.com/bazelbuild/bazel-gazelle/pull/1242)
-   [@&#8203;thempatel](https://togithub.com/thempatel) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1244](https://togithub.com/bazelbuild/bazel-gazelle/pull/1244)
-   [@&#8203;Whoaa512](https://togithub.com/Whoaa512) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1245](https://togithub.com/bazelbuild/bazel-gazelle/pull/1245)
-   [@&#8203;HakanSunay](https://togithub.com/HakanSunay) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1250](https://togithub.com/bazelbuild/bazel-gazelle/pull/1250)
-   [@&#8203;bozaro](https://togithub.com/bozaro) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1269](https://togithub.com/bazelbuild/bazel-gazelle/pull/1269)
-   [@&#8203;fmeum](https://togithub.com/fmeum) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1263](https://togithub.com/bazelbuild/bazel-gazelle/pull/1263)
-   [@&#8203;dmivankov](https://togithub.com/dmivankov) made their first contribution in [https://github.com/bazelbuild/bazel-gazelle/pull/1254](https://togithub.com/bazelbuild/bazel-gazelle/pull/1254)

**Full Changelog**: bazel-contrib/bazel-gazelle@v0.25.0...v0.26.0

#### `WORKSPACE` code

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

    http_archive(
        name = "bazel_gazelle",
        sha256 = "501deb3d5695ab658e82f6f6f549ba681ea3ca2a5fb7911154b5aa45596183fa",
        urls = [
            "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.26.0/bazel-gazelle-v0.26.0.tar.gz",
            "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.26.0/bazel-gazelle-v0.26.0.tar.gz",
        ],
    )

    load("@&#8203;bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository")

    ############################################################

### Define your own dependencies here using go_repository.

### Else, dependencies declared by rules_go/gazelle will be used.

### The first declaration of an external repository "wins".

    ############################################################

    gazelle_dependencies()

</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 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, click this checkbox.

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/gapic-config-validator).
tyler-french added a commit to tyler-french/bazel-gazelle that referenced this pull request Nov 28, 2022
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.

Gazelle require patch tool for apply patch but http_archive can apply patch without it
3 participants