-
Notifications
You must be signed in to change notification settings - Fork 380
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
perf: walk workspace directories in parallel #1893
Conversation
f4834cb
to
e0ee28b
Compare
Thanks @jbedard for running with #1820 and getting it to a state where it will hopefully be acceptable. I've confirmed that this has subtantially the same performance as the original PR (except for the In addition, Jason and I have discussed how this opens up the path to potentially reading BUILD files in the initial traversal, which can parallelize additional work as well as allow to respect Interestingly enough, when I profile the approach here compared to |
@tyler-french wdyt of this approach? We have been trying to land this perf improvement in one shape or another for months now |
I'm also interested to see some movement on this PR. I'm working with some rather large repositories, and these changes should solve some of the performance bottlenecks I've been investigating. |
12abec7
to
3df4f70
Compare
3e46727
to
cc4bede
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall this looks good to me
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, should I merge (PR is marked as draft)?
We wanted to double-check the perf numbers. Here's what I see on Airtable's repo: fastwalk implementation from #1820 So this PR is roughly similar to fastwalk, maybe a little faster, and much simpler. Looks like 15% speedup overall on our repo. Let's merge it! |
I wanted to double check the improvements were still the same as when we last measured. Looks like @DavidZbarsky-at has confirmed it's still 15% with his tests 👍 |
} | ||
|
||
// A channel to limit the number of concurrent goroutines | ||
limitCh := make(chan struct{}, 100) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
100 feels pretty hardcoded. Can we check the number of CPUs or max processes we can use? https://pkg.go.dev/runtime#NumCPU
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The operations are likely I/O bound, so a limit based on the number of CPUs would likely be far too low. Eventually we may want to make this configurable, but any reasonably high number should give a speedup. In the end, the Go runtime would know best how to schedule I/O-blocked goroutines.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Today it's all I/O so I figured hardcoding something is fine and number of CPUs isn't really relevant. However that might change soon if we start putting stuff like BUILD-parsing into these goroutines.
} | ||
|
||
visit(c, cexts, knownDirectives, updateRels, trie, wf, c.RepoRoot, "", false) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we make parallel walk configurable? It would be good to not enable by default, and allow users to opt in/out
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry I didn't see this and then this was merged. We can probably do this fairly easily.
Lets just make sure we do this (disable it by default) instead of reverting if any issues come up now that there has been a release.
##### [`vv0.39.0](https://github.com/bazelbuild/bazel-gazelle/releases/tag/v0.39.0) #### What's Changed - Add QNX and OSX to known platforms by [@hofbi](https://github.com/hofbi) in bazel-contrib/bazel-gazelle#1853 - Allow `+` in repo names by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1856 - go_repository_cache: set GOTOOLCHAIN to 'local' by [@lbcjbb](https://github.com/lbcjbb) in bazel-contrib/bazel-gazelle#1859 - Fix Issue [#1855](bazel-contrib/bazel-gazelle#1855): "All Bazel commands fail when changing a Go dependency when using Bzlmod extension" by [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) in bazel-contrib/bazel-gazelle#1861 - Add default directives for github.com/containerd by [@mering](https://github.com/mering) in bazel-contrib/bazel-gazelle#1866 - Add gazelle-overrides for argo, grpcgateway by [@udaya2899](https://github.com/udaya2899) in bazel-contrib/bazel-gazelle#1867 - refactor: remove file reference from ruleRecord by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1869 - refactor: compute transitive embeds during indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1868 - refactor: compute labelMap when indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1872 - refactor: remove reference to rule.Rule in mapResolver interface by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1873 - refactor: ensure rule index not modified after indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1877 - docs: fix incorrect gazelle_generation_test param name by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1876 - refactor: embed gazelle generation_test_binary in gazelle_generation_test instead of recompiling by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1875 - refactor: make ruleRecord serializable by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1878 - Add package metadata to `go_repository`s by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1852 - refactor: process KindMap even when not indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1882 - refactor: move walk util methods into struct by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1881 - refactor: add nil assignments to verify interface implementations by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1883 - perf: preload .bazelignore before configure, do not use globs by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1886 - refactor: remove nested walk function literal by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1884 - Preserve canonical labels as such by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1863 - perf: check if directory in .bazelignore before readdir by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1890 - revert [#1873](bazel-contrib/bazel-gazelle#1873) by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1897 - rename `main()` entrypoints to `main.go` by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1901 - Support timeout and size in gazelle_test by [@rockwotj](https://github.com/rockwotj) in bazel-contrib/bazel-gazelle#1909 - feat: include package URL in package_info by [@alexeagle](https://github.com/alexeagle) in bazel-contrib/bazel-gazelle#1917 - perf: Improve rule.Kind by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1919 - Fix patch file creation using Gazelle in diff mode by [@alandonham](https://github.com/alandonham) in bazel-contrib/bazel-gazelle#1915 - perf: Improve merger.Mergefile by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1920 - test: add bazelignore test by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1912 - perf: walk workspace directories in parallel by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1893 - refactor: reduce path.join while walking repo by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1913 - chore: upgrade go mod dependencies by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1911 - prepare gazelle release 0.39 by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1925 - Add gazelle overrides to enable building rclone by [@dmcardle](https://github.com/dmcardle) in bazel-contrib/bazel-gazelle#1933 #### New Contributors - [@hofbi](https://github.com/hofbi) made their first contribution in bazel-contrib/bazel-gazelle#1853 - [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) made their first contribution in bazel-contrib/bazel-gazelle#1861 - [@udaya2899](https://github.com/udaya2899) made their first contribution in bazel-contrib/bazel-gazelle#1867 - [@rockwotj](https://github.com/rockwotj) made their first contribution in bazel-contrib/bazel-gazelle#1909 - [@alandonham](https://github.com/alandonham) made their first contribution in bazel-contrib/bazel-gazelle#1915 - [@dmcardle](https://github.com/dmcardle) made their first contribution in bazel-contrib/bazel-gazelle#1933 **Full Changelog**: bazel-contrib/bazel-gazelle@v0.38.0...v0.39.0
##### [`vv0.39.0](https://github.com/bazelbuild/bazel-gazelle/releases/tag/v0.39.0) #### What's Changed - Add QNX and OSX to known platforms by [@hofbi](https://github.com/hofbi) in bazel-contrib/bazel-gazelle#1853 - Allow `+` in repo names by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1856 - go_repository_cache: set GOTOOLCHAIN to 'local' by [@lbcjbb](https://github.com/lbcjbb) in bazel-contrib/bazel-gazelle#1859 - Fix Issue [#1855](bazel-contrib/bazel-gazelle#1855): "All Bazel commands fail when changing a Go dependency when using Bzlmod extension" by [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) in bazel-contrib/bazel-gazelle#1861 - Add default directives for github.com/containerd by [@mering](https://github.com/mering) in bazel-contrib/bazel-gazelle#1866 - Add gazelle-overrides for argo, grpcgateway by [@udaya2899](https://github.com/udaya2899) in bazel-contrib/bazel-gazelle#1867 - refactor: remove file reference from ruleRecord by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1869 - refactor: compute transitive embeds during indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1868 - refactor: compute labelMap when indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1872 - refactor: remove reference to rule.Rule in mapResolver interface by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1873 - refactor: ensure rule index not modified after indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1877 - docs: fix incorrect gazelle_generation_test param name by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1876 - refactor: embed gazelle generation_test_binary in gazelle_generation_test instead of recompiling by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1875 - refactor: make ruleRecord serializable by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1878 - Add package metadata to `go_repository`s by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1852 - refactor: process KindMap even when not indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1882 - refactor: move walk util methods into struct by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1881 - refactor: add nil assignments to verify interface implementations by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1883 - perf: preload .bazelignore before configure, do not use globs by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1886 - refactor: remove nested walk function literal by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1884 - Preserve canonical labels as such by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1863 - perf: check if directory in .bazelignore before readdir by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1890 - revert [#1873](bazel-contrib/bazel-gazelle#1873) by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1897 - rename `main()` entrypoints to `main.go` by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1901 - Support timeout and size in gazelle_test by [@rockwotj](https://github.com/rockwotj) in bazel-contrib/bazel-gazelle#1909 - feat: include package URL in package_info by [@alexeagle](https://github.com/alexeagle) in bazel-contrib/bazel-gazelle#1917 - perf: Improve rule.Kind by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1919 - Fix patch file creation using Gazelle in diff mode by [@alandonham](https://github.com/alandonham) in bazel-contrib/bazel-gazelle#1915 - perf: Improve merger.Mergefile by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1920 - test: add bazelignore test by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1912 - perf: walk workspace directories in parallel by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1893 - refactor: reduce path.join while walking repo by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1913 - chore: upgrade go mod dependencies by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1911 - prepare gazelle release 0.39 by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1925 - Add gazelle overrides to enable building rclone by [@dmcardle](https://github.com/dmcardle) in bazel-contrib/bazel-gazelle#1933 #### New Contributors - [@hofbi](https://github.com/hofbi) made their first contribution in bazel-contrib/bazel-gazelle#1853 - [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) made their first contribution in bazel-contrib/bazel-gazelle#1861 - [@udaya2899](https://github.com/udaya2899) made their first contribution in bazel-contrib/bazel-gazelle#1867 - [@rockwotj](https://github.com/rockwotj) made their first contribution in bazel-contrib/bazel-gazelle#1909 - [@alandonham](https://github.com/alandonham) made their first contribution in bazel-contrib/bazel-gazelle#1915 - [@dmcardle](https://github.com/dmcardle) made their first contribution in bazel-contrib/bazel-gazelle#1933 **Full Changelog**: bazel-contrib/bazel-gazelle@v0.38.0...v0.39.0
##### [`vv0.39.0](https://github.com/bazelbuild/bazel-gazelle/releases/tag/v0.39.0) #### What's Changed - Add QNX and OSX to known platforms by [@hofbi](https://github.com/hofbi) in bazel-contrib/bazel-gazelle#1853 - Allow `+` in repo names by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1856 - go_repository_cache: set GOTOOLCHAIN to 'local' by [@lbcjbb](https://github.com/lbcjbb) in bazel-contrib/bazel-gazelle#1859 - Fix Issue [#1855](bazel-contrib/bazel-gazelle#1855): "All Bazel commands fail when changing a Go dependency when using Bzlmod extension" by [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) in bazel-contrib/bazel-gazelle#1861 - Add default directives for github.com/containerd by [@mering](https://github.com/mering) in bazel-contrib/bazel-gazelle#1866 - Add gazelle-overrides for argo, grpcgateway by [@udaya2899](https://github.com/udaya2899) in bazel-contrib/bazel-gazelle#1867 - refactor: remove file reference from ruleRecord by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1869 - refactor: compute transitive embeds during indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1868 - refactor: compute labelMap when indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1872 - refactor: remove reference to rule.Rule in mapResolver interface by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1873 - refactor: ensure rule index not modified after indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1877 - docs: fix incorrect gazelle_generation_test param name by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1876 - refactor: embed gazelle generation_test_binary in gazelle_generation_test instead of recompiling by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1875 - refactor: make ruleRecord serializable by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1878 - Add package metadata to `go_repository`s by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1852 - refactor: process KindMap even when not indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1882 - refactor: move walk util methods into struct by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1881 - refactor: add nil assignments to verify interface implementations by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1883 - perf: preload .bazelignore before configure, do not use globs by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1886 - refactor: remove nested walk function literal by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1884 - Preserve canonical labels as such by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1863 - perf: check if directory in .bazelignore before readdir by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1890 - revert [#1873](bazel-contrib/bazel-gazelle#1873) by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1897 - rename `main()` entrypoints to `main.go` by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1901 - Support timeout and size in gazelle_test by [@rockwotj](https://github.com/rockwotj) in bazel-contrib/bazel-gazelle#1909 - feat: include package URL in package_info by [@alexeagle](https://github.com/alexeagle) in bazel-contrib/bazel-gazelle#1917 - perf: Improve rule.Kind by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1919 - Fix patch file creation using Gazelle in diff mode by [@alandonham](https://github.com/alandonham) in bazel-contrib/bazel-gazelle#1915 - perf: Improve merger.Mergefile by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1920 - test: add bazelignore test by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1912 - perf: walk workspace directories in parallel by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1893 - refactor: reduce path.join while walking repo by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1913 - chore: upgrade go mod dependencies by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1911 - prepare gazelle release 0.39 by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1925 - Add gazelle overrides to enable building rclone by [@dmcardle](https://github.com/dmcardle) in bazel-contrib/bazel-gazelle#1933 #### New Contributors - [@hofbi](https://github.com/hofbi) made their first contribution in bazel-contrib/bazel-gazelle#1853 - [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) made their first contribution in bazel-contrib/bazel-gazelle#1861 - [@udaya2899](https://github.com/udaya2899) made their first contribution in bazel-contrib/bazel-gazelle#1867 - [@rockwotj](https://github.com/rockwotj) made their first contribution in bazel-contrib/bazel-gazelle#1909 - [@alandonham](https://github.com/alandonham) made their first contribution in bazel-contrib/bazel-gazelle#1915 - [@dmcardle](https://github.com/dmcardle) made their first contribution in bazel-contrib/bazel-gazelle#1933 **Full Changelog**: bazel-contrib/bazel-gazelle@v0.38.0...v0.39.0
##### [`vv0.39.0](https://github.com/bazelbuild/bazel-gazelle/releases/tag/v0.39.0) #### What's Changed - Add QNX and OSX to known platforms by [@hofbi](https://github.com/hofbi) in bazel-contrib/bazel-gazelle#1853 - Allow `+` in repo names by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1856 - go_repository_cache: set GOTOOLCHAIN to 'local' by [@lbcjbb](https://github.com/lbcjbb) in bazel-contrib/bazel-gazelle#1859 - Fix Issue [#1855](bazel-contrib/bazel-gazelle#1855): "All Bazel commands fail when changing a Go dependency when using Bzlmod extension" by [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) in bazel-contrib/bazel-gazelle#1861 - Add default directives for github.com/containerd by [@mering](https://github.com/mering) in bazel-contrib/bazel-gazelle#1866 - Add gazelle-overrides for argo, grpcgateway by [@udaya2899](https://github.com/udaya2899) in bazel-contrib/bazel-gazelle#1867 - refactor: remove file reference from ruleRecord by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1869 - refactor: compute transitive embeds during indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1868 - refactor: compute labelMap when indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1872 - refactor: remove reference to rule.Rule in mapResolver interface by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1873 - refactor: ensure rule index not modified after indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1877 - docs: fix incorrect gazelle_generation_test param name by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1876 - refactor: embed gazelle generation_test_binary in gazelle_generation_test instead of recompiling by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1875 - refactor: make ruleRecord serializable by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1878 - Add package metadata to `go_repository`s by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1852 - refactor: process KindMap even when not indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1882 - refactor: move walk util methods into struct by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1881 - refactor: add nil assignments to verify interface implementations by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1883 - perf: preload .bazelignore before configure, do not use globs by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1886 - refactor: remove nested walk function literal by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1884 - Preserve canonical labels as such by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1863 - perf: check if directory in .bazelignore before readdir by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1890 - revert [#1873](bazel-contrib/bazel-gazelle#1873) by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1897 - rename `main()` entrypoints to `main.go` by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1901 - Support timeout and size in gazelle_test by [@rockwotj](https://github.com/rockwotj) in bazel-contrib/bazel-gazelle#1909 - feat: include package URL in package_info by [@alexeagle](https://github.com/alexeagle) in bazel-contrib/bazel-gazelle#1917 - perf: Improve rule.Kind by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1919 - Fix patch file creation using Gazelle in diff mode by [@alandonham](https://github.com/alandonham) in bazel-contrib/bazel-gazelle#1915 - perf: Improve merger.Mergefile by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1920 - test: add bazelignore test by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1912 - perf: walk workspace directories in parallel by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1893 - refactor: reduce path.join while walking repo by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1913 - chore: upgrade go mod dependencies by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1911 - prepare gazelle release 0.39 by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1925 - Add gazelle overrides to enable building rclone by [@dmcardle](https://github.com/dmcardle) in bazel-contrib/bazel-gazelle#1933 #### New Contributors - [@hofbi](https://github.com/hofbi) made their first contribution in bazel-contrib/bazel-gazelle#1853 - [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) made their first contribution in bazel-contrib/bazel-gazelle#1861 - [@udaya2899](https://github.com/udaya2899) made their first contribution in bazel-contrib/bazel-gazelle#1867 - [@rockwotj](https://github.com/rockwotj) made their first contribution in bazel-contrib/bazel-gazelle#1909 - [@alandonham](https://github.com/alandonham) made their first contribution in bazel-contrib/bazel-gazelle#1915 - [@dmcardle](https://github.com/dmcardle) made their first contribution in bazel-contrib/bazel-gazelle#1933 **Full Changelog**: bazel-contrib/bazel-gazelle@v0.38.0...v0.39.0
##### [`vv0.39.0](https://github.com/bazelbuild/bazel-gazelle/releases/tag/v0.39.0) #### What's Changed - Add QNX and OSX to known platforms by [@hofbi](https://github.com/hofbi) in bazel-contrib/bazel-gazelle#1853 - Allow `+` in repo names by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1856 - go_repository_cache: set GOTOOLCHAIN to 'local' by [@lbcjbb](https://github.com/lbcjbb) in bazel-contrib/bazel-gazelle#1859 - Fix Issue [#1855](bazel-contrib/bazel-gazelle#1855): "All Bazel commands fail when changing a Go dependency when using Bzlmod extension" by [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) in bazel-contrib/bazel-gazelle#1861 - Add default directives for github.com/containerd by [@mering](https://github.com/mering) in bazel-contrib/bazel-gazelle#1866 - Add gazelle-overrides for argo, grpcgateway by [@udaya2899](https://github.com/udaya2899) in bazel-contrib/bazel-gazelle#1867 - refactor: remove file reference from ruleRecord by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1869 - refactor: compute transitive embeds during indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1868 - refactor: compute labelMap when indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1872 - refactor: remove reference to rule.Rule in mapResolver interface by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1873 - refactor: ensure rule index not modified after indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1877 - docs: fix incorrect gazelle_generation_test param name by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1876 - refactor: embed gazelle generation_test_binary in gazelle_generation_test instead of recompiling by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1875 - refactor: make ruleRecord serializable by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1878 - Add package metadata to `go_repository`s by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1852 - refactor: process KindMap even when not indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1882 - refactor: move walk util methods into struct by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1881 - refactor: add nil assignments to verify interface implementations by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1883 - perf: preload .bazelignore before configure, do not use globs by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1886 - refactor: remove nested walk function literal by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1884 - Preserve canonical labels as such by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1863 - perf: check if directory in .bazelignore before readdir by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1890 - revert [#1873](bazel-contrib/bazel-gazelle#1873) by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1897 - rename `main()` entrypoints to `main.go` by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1901 - Support timeout and size in gazelle_test by [@rockwotj](https://github.com/rockwotj) in bazel-contrib/bazel-gazelle#1909 - feat: include package URL in package_info by [@alexeagle](https://github.com/alexeagle) in bazel-contrib/bazel-gazelle#1917 - perf: Improve rule.Kind by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1919 - Fix patch file creation using Gazelle in diff mode by [@alandonham](https://github.com/alandonham) in bazel-contrib/bazel-gazelle#1915 - perf: Improve merger.Mergefile by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1920 - test: add bazelignore test by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1912 - perf: walk workspace directories in parallel by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1893 - refactor: reduce path.join while walking repo by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1913 - chore: upgrade go mod dependencies by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1911 - prepare gazelle release 0.39 by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1925 - Add gazelle overrides to enable building rclone by [@dmcardle](https://github.com/dmcardle) in bazel-contrib/bazel-gazelle#1933 #### New Contributors - [@hofbi](https://github.com/hofbi) made their first contribution in bazel-contrib/bazel-gazelle#1853 - [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) made their first contribution in bazel-contrib/bazel-gazelle#1861 - [@udaya2899](https://github.com/udaya2899) made their first contribution in bazel-contrib/bazel-gazelle#1867 - [@rockwotj](https://github.com/rockwotj) made their first contribution in bazel-contrib/bazel-gazelle#1909 - [@alandonham](https://github.com/alandonham) made their first contribution in bazel-contrib/bazel-gazelle#1915 - [@dmcardle](https://github.com/dmcardle) made their first contribution in bazel-contrib/bazel-gazelle#1933 **Full Changelog**: bazel-contrib/bazel-gazelle@v0.38.0...v0.39.0
##### [`vv0.39.0](https://github.com/bazelbuild/bazel-gazelle/releases/tag/v0.39.0) #### What's Changed - Add QNX and OSX to known platforms by [@hofbi](https://github.com/hofbi) in bazel-contrib/bazel-gazelle#1853 - Allow `+` in repo names by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1856 - go_repository_cache: set GOTOOLCHAIN to 'local' by [@lbcjbb](https://github.com/lbcjbb) in bazel-contrib/bazel-gazelle#1859 - Fix Issue [#1855](bazel-contrib/bazel-gazelle#1855): "All Bazel commands fail when changing a Go dependency when using Bzlmod extension" by [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) in bazel-contrib/bazel-gazelle#1861 - Add default directives for github.com/containerd by [@mering](https://github.com/mering) in bazel-contrib/bazel-gazelle#1866 - Add gazelle-overrides for argo, grpcgateway by [@udaya2899](https://github.com/udaya2899) in bazel-contrib/bazel-gazelle#1867 - refactor: remove file reference from ruleRecord by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1869 - refactor: compute transitive embeds during indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1868 - refactor: compute labelMap when indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1872 - refactor: remove reference to rule.Rule in mapResolver interface by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1873 - refactor: ensure rule index not modified after indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1877 - docs: fix incorrect gazelle_generation_test param name by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1876 - refactor: embed gazelle generation_test_binary in gazelle_generation_test instead of recompiling by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1875 - refactor: make ruleRecord serializable by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1878 - Add package metadata to `go_repository`s by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1852 - refactor: process KindMap even when not indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1882 - refactor: move walk util methods into struct by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1881 - refactor: add nil assignments to verify interface implementations by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1883 - perf: preload .bazelignore before configure, do not use globs by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1886 - refactor: remove nested walk function literal by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1884 - Preserve canonical labels as such by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1863 - perf: check if directory in .bazelignore before readdir by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1890 - revert [#1873](bazel-contrib/bazel-gazelle#1873) by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1897 - rename `main()` entrypoints to `main.go` by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1901 - Support timeout and size in gazelle_test by [@rockwotj](https://github.com/rockwotj) in bazel-contrib/bazel-gazelle#1909 - feat: include package URL in package_info by [@alexeagle](https://github.com/alexeagle) in bazel-contrib/bazel-gazelle#1917 - perf: Improve rule.Kind by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1919 - Fix patch file creation using Gazelle in diff mode by [@alandonham](https://github.com/alandonham) in bazel-contrib/bazel-gazelle#1915 - perf: Improve merger.Mergefile by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1920 - test: add bazelignore test by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1912 - perf: walk workspace directories in parallel by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1893 - refactor: reduce path.join while walking repo by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1913 - chore: upgrade go mod dependencies by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1911 - prepare gazelle release 0.39 by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1925 - Add gazelle overrides to enable building rclone by [@dmcardle](https://github.com/dmcardle) in bazel-contrib/bazel-gazelle#1933 #### New Contributors - [@hofbi](https://github.com/hofbi) made their first contribution in bazel-contrib/bazel-gazelle#1853 - [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) made their first contribution in bazel-contrib/bazel-gazelle#1861 - [@udaya2899](https://github.com/udaya2899) made their first contribution in bazel-contrib/bazel-gazelle#1867 - [@rockwotj](https://github.com/rockwotj) made their first contribution in bazel-contrib/bazel-gazelle#1909 - [@alandonham](https://github.com/alandonham) made their first contribution in bazel-contrib/bazel-gazelle#1915 - [@dmcardle](https://github.com/dmcardle) made their first contribution in bazel-contrib/bazel-gazelle#1933 **Full Changelog**: bazel-contrib/bazel-gazelle@v0.38.0...v0.39.0
##### [`vv0.39.0](https://github.com/bazelbuild/bazel-gazelle/releases/tag/v0.39.0) #### What's Changed - Add QNX and OSX to known platforms by [@hofbi](https://github.com/hofbi) in bazel-contrib/bazel-gazelle#1853 - Allow `+` in repo names by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1856 - go_repository_cache: set GOTOOLCHAIN to 'local' by [@lbcjbb](https://github.com/lbcjbb) in bazel-contrib/bazel-gazelle#1859 - Fix Issue [#1855](bazel-contrib/bazel-gazelle#1855): "All Bazel commands fail when changing a Go dependency when using Bzlmod extension" by [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) in bazel-contrib/bazel-gazelle#1861 - Add default directives for github.com/containerd by [@mering](https://github.com/mering) in bazel-contrib/bazel-gazelle#1866 - Add gazelle-overrides for argo, grpcgateway by [@udaya2899](https://github.com/udaya2899) in bazel-contrib/bazel-gazelle#1867 - refactor: remove file reference from ruleRecord by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1869 - refactor: compute transitive embeds during indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1868 - refactor: compute labelMap when indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1872 - refactor: remove reference to rule.Rule in mapResolver interface by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1873 - refactor: ensure rule index not modified after indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1877 - docs: fix incorrect gazelle_generation_test param name by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1876 - refactor: embed gazelle generation_test_binary in gazelle_generation_test instead of recompiling by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1875 - refactor: make ruleRecord serializable by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1878 - Add package metadata to `go_repository`s by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1852 - refactor: process KindMap even when not indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1882 - refactor: move walk util methods into struct by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1881 - refactor: add nil assignments to verify interface implementations by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1883 - perf: preload .bazelignore before configure, do not use globs by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1886 - refactor: remove nested walk function literal by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1884 - Preserve canonical labels as such by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1863 - perf: check if directory in .bazelignore before readdir by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1890 - revert [#1873](bazel-contrib/bazel-gazelle#1873) by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1897 - rename `main()` entrypoints to `main.go` by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1901 - Support timeout and size in gazelle_test by [@rockwotj](https://github.com/rockwotj) in bazel-contrib/bazel-gazelle#1909 - feat: include package URL in package_info by [@alexeagle](https://github.com/alexeagle) in bazel-contrib/bazel-gazelle#1917 - perf: Improve rule.Kind by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1919 - Fix patch file creation using Gazelle in diff mode by [@alandonham](https://github.com/alandonham) in bazel-contrib/bazel-gazelle#1915 - perf: Improve merger.Mergefile by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1920 - test: add bazelignore test by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1912 - perf: walk workspace directories in parallel by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1893 - refactor: reduce path.join while walking repo by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1913 - chore: upgrade go mod dependencies by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1911 - prepare gazelle release 0.39 by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1925 - Add gazelle overrides to enable building rclone by [@dmcardle](https://github.com/dmcardle) in bazel-contrib/bazel-gazelle#1933 #### New Contributors - [@hofbi](https://github.com/hofbi) made their first contribution in bazel-contrib/bazel-gazelle#1853 - [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) made their first contribution in bazel-contrib/bazel-gazelle#1861 - [@udaya2899](https://github.com/udaya2899) made their first contribution in bazel-contrib/bazel-gazelle#1867 - [@rockwotj](https://github.com/rockwotj) made their first contribution in bazel-contrib/bazel-gazelle#1909 - [@alandonham](https://github.com/alandonham) made their first contribution in bazel-contrib/bazel-gazelle#1915 - [@dmcardle](https://github.com/dmcardle) made their first contribution in bazel-contrib/bazel-gazelle#1933 **Full Changelog**: bazel-contrib/bazel-gazelle@v0.38.0...v0.39.0
##### [`vv0.39.0](https://github.com/bazelbuild/bazel-gazelle/releases/tag/v0.39.0) #### What's Changed - Add QNX and OSX to known platforms by [@hofbi](https://github.com/hofbi) in bazel-contrib/bazel-gazelle#1853 - Allow `+` in repo names by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1856 - go_repository_cache: set GOTOOLCHAIN to 'local' by [@lbcjbb](https://github.com/lbcjbb) in bazel-contrib/bazel-gazelle#1859 - Fix Issue [#1855](bazel-contrib/bazel-gazelle#1855): "All Bazel commands fail when changing a Go dependency when using Bzlmod extension" by [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) in bazel-contrib/bazel-gazelle#1861 - Add default directives for github.com/containerd by [@mering](https://github.com/mering) in bazel-contrib/bazel-gazelle#1866 - Add gazelle-overrides for argo, grpcgateway by [@udaya2899](https://github.com/udaya2899) in bazel-contrib/bazel-gazelle#1867 - refactor: remove file reference from ruleRecord by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1869 - refactor: compute transitive embeds during indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1868 - refactor: compute labelMap when indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1872 - refactor: remove reference to rule.Rule in mapResolver interface by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1873 - refactor: ensure rule index not modified after indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1877 - docs: fix incorrect gazelle_generation_test param name by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1876 - refactor: embed gazelle generation_test_binary in gazelle_generation_test instead of recompiling by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1875 - refactor: make ruleRecord serializable by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1878 - Add package metadata to `go_repository`s by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1852 - refactor: process KindMap even when not indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1882 - refactor: move walk util methods into struct by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1881 - refactor: add nil assignments to verify interface implementations by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1883 - perf: preload .bazelignore before configure, do not use globs by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1886 - refactor: remove nested walk function literal by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1884 - Preserve canonical labels as such by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1863 - perf: check if directory in .bazelignore before readdir by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1890 - revert [#1873](bazel-contrib/bazel-gazelle#1873) by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1897 - rename `main()` entrypoints to `main.go` by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1901 - Support timeout and size in gazelle_test by [@rockwotj](https://github.com/rockwotj) in bazel-contrib/bazel-gazelle#1909 - feat: include package URL in package_info by [@alexeagle](https://github.com/alexeagle) in bazel-contrib/bazel-gazelle#1917 - perf: Improve rule.Kind by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1919 - Fix patch file creation using Gazelle in diff mode by [@alandonham](https://github.com/alandonham) in bazel-contrib/bazel-gazelle#1915 - perf: Improve merger.Mergefile by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1920 - test: add bazelignore test by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1912 - perf: walk workspace directories in parallel by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1893 - refactor: reduce path.join while walking repo by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1913 - chore: upgrade go mod dependencies by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1911 - prepare gazelle release 0.39 by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1925 - Add gazelle overrides to enable building rclone by [@dmcardle](https://github.com/dmcardle) in bazel-contrib/bazel-gazelle#1933 #### New Contributors - [@hofbi](https://github.com/hofbi) made their first contribution in bazel-contrib/bazel-gazelle#1853 - [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) made their first contribution in bazel-contrib/bazel-gazelle#1861 - [@udaya2899](https://github.com/udaya2899) made their first contribution in bazel-contrib/bazel-gazelle#1867 - [@rockwotj](https://github.com/rockwotj) made their first contribution in bazel-contrib/bazel-gazelle#1909 - [@alandonham](https://github.com/alandonham) made their first contribution in bazel-contrib/bazel-gazelle#1915 - [@dmcardle](https://github.com/dmcardle) made their first contribution in bazel-contrib/bazel-gazelle#1933 **Full Changelog**: bazel-contrib/bazel-gazelle@v0.38.0...v0.39.0
##### [`vv0.39.0](https://github.com/bazelbuild/bazel-gazelle/releases/tag/v0.39.0) #### What's Changed - Add QNX and OSX to known platforms by [@hofbi](https://github.com/hofbi) in bazel-contrib/bazel-gazelle#1853 - Allow `+` in repo names by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1856 - go_repository_cache: set GOTOOLCHAIN to 'local' by [@lbcjbb](https://github.com/lbcjbb) in bazel-contrib/bazel-gazelle#1859 - Fix Issue [#1855](bazel-contrib/bazel-gazelle#1855): "All Bazel commands fail when changing a Go dependency when using Bzlmod extension" by [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) in bazel-contrib/bazel-gazelle#1861 - Add default directives for github.com/containerd by [@mering](https://github.com/mering) in bazel-contrib/bazel-gazelle#1866 - Add gazelle-overrides for argo, grpcgateway by [@udaya2899](https://github.com/udaya2899) in bazel-contrib/bazel-gazelle#1867 - refactor: remove file reference from ruleRecord by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1869 - refactor: compute transitive embeds during indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1868 - refactor: compute labelMap when indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1872 - refactor: remove reference to rule.Rule in mapResolver interface by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1873 - refactor: ensure rule index not modified after indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1877 - docs: fix incorrect gazelle_generation_test param name by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1876 - refactor: embed gazelle generation_test_binary in gazelle_generation_test instead of recompiling by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1875 - refactor: make ruleRecord serializable by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1878 - Add package metadata to `go_repository`s by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1852 - refactor: process KindMap even when not indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1882 - refactor: move walk util methods into struct by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1881 - refactor: add nil assignments to verify interface implementations by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1883 - perf: preload .bazelignore before configure, do not use globs by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1886 - refactor: remove nested walk function literal by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1884 - Preserve canonical labels as such by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1863 - perf: check if directory in .bazelignore before readdir by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1890 - revert [#1873](bazel-contrib/bazel-gazelle#1873) by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1897 - rename `main()` entrypoints to `main.go` by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1901 - Support timeout and size in gazelle_test by [@rockwotj](https://github.com/rockwotj) in bazel-contrib/bazel-gazelle#1909 - feat: include package URL in package_info by [@alexeagle](https://github.com/alexeagle) in bazel-contrib/bazel-gazelle#1917 - perf: Improve rule.Kind by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1919 - Fix patch file creation using Gazelle in diff mode by [@alandonham](https://github.com/alandonham) in bazel-contrib/bazel-gazelle#1915 - perf: Improve merger.Mergefile by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1920 - test: add bazelignore test by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1912 - perf: walk workspace directories in parallel by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1893 - refactor: reduce path.join while walking repo by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1913 - chore: upgrade go mod dependencies by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1911 - prepare gazelle release 0.39 by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1925 - Add gazelle overrides to enable building rclone by [@dmcardle](https://github.com/dmcardle) in bazel-contrib/bazel-gazelle#1933 #### New Contributors - [@hofbi](https://github.com/hofbi) made their first contribution in bazel-contrib/bazel-gazelle#1853 - [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) made their first contribution in bazel-contrib/bazel-gazelle#1861 - [@udaya2899](https://github.com/udaya2899) made their first contribution in bazel-contrib/bazel-gazelle#1867 - [@rockwotj](https://github.com/rockwotj) made their first contribution in bazel-contrib/bazel-gazelle#1909 - [@alandonham](https://github.com/alandonham) made their first contribution in bazel-contrib/bazel-gazelle#1915 - [@dmcardle](https://github.com/dmcardle) made their first contribution in bazel-contrib/bazel-gazelle#1933 **Full Changelog**: bazel-contrib/bazel-gazelle@v0.38.0...v0.39.0
##### [`vv0.39.0](https://github.com/bazelbuild/bazel-gazelle/releases/tag/v0.39.0) #### What's Changed - Add QNX and OSX to known platforms by [@hofbi](https://github.com/hofbi) in bazel-contrib/bazel-gazelle#1853 - Allow `+` in repo names by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1856 - go_repository_cache: set GOTOOLCHAIN to 'local' by [@lbcjbb](https://github.com/lbcjbb) in bazel-contrib/bazel-gazelle#1859 - Fix Issue [#1855](bazel-contrib/bazel-gazelle#1855): "All Bazel commands fail when changing a Go dependency when using Bzlmod extension" by [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) in bazel-contrib/bazel-gazelle#1861 - Add default directives for github.com/containerd by [@mering](https://github.com/mering) in bazel-contrib/bazel-gazelle#1866 - Add gazelle-overrides for argo, grpcgateway by [@udaya2899](https://github.com/udaya2899) in bazel-contrib/bazel-gazelle#1867 - refactor: remove file reference from ruleRecord by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1869 - refactor: compute transitive embeds during indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1868 - refactor: compute labelMap when indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1872 - refactor: remove reference to rule.Rule in mapResolver interface by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1873 - refactor: ensure rule index not modified after indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1877 - docs: fix incorrect gazelle_generation_test param name by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1876 - refactor: embed gazelle generation_test_binary in gazelle_generation_test instead of recompiling by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1875 - refactor: make ruleRecord serializable by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1878 - Add package metadata to `go_repository`s by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1852 - refactor: process KindMap even when not indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1882 - refactor: move walk util methods into struct by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1881 - refactor: add nil assignments to verify interface implementations by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1883 - perf: preload .bazelignore before configure, do not use globs by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1886 - refactor: remove nested walk function literal by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1884 - Preserve canonical labels as such by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1863 - perf: check if directory in .bazelignore before readdir by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1890 - revert [#1873](bazel-contrib/bazel-gazelle#1873) by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1897 - rename `main()` entrypoints to `main.go` by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1901 - Support timeout and size in gazelle_test by [@rockwotj](https://github.com/rockwotj) in bazel-contrib/bazel-gazelle#1909 - feat: include package URL in package_info by [@alexeagle](https://github.com/alexeagle) in bazel-contrib/bazel-gazelle#1917 - perf: Improve rule.Kind by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1919 - Fix patch file creation using Gazelle in diff mode by [@alandonham](https://github.com/alandonham) in bazel-contrib/bazel-gazelle#1915 - perf: Improve merger.Mergefile by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1920 - test: add bazelignore test by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1912 - perf: walk workspace directories in parallel by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1893 - refactor: reduce path.join while walking repo by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1913 - chore: upgrade go mod dependencies by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1911 - prepare gazelle release 0.39 by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1925 - Add gazelle overrides to enable building rclone by [@dmcardle](https://github.com/dmcardle) in bazel-contrib/bazel-gazelle#1933 #### New Contributors - [@hofbi](https://github.com/hofbi) made their first contribution in bazel-contrib/bazel-gazelle#1853 - [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) made their first contribution in bazel-contrib/bazel-gazelle#1861 - [@udaya2899](https://github.com/udaya2899) made their first contribution in bazel-contrib/bazel-gazelle#1867 - [@rockwotj](https://github.com/rockwotj) made their first contribution in bazel-contrib/bazel-gazelle#1909 - [@alandonham](https://github.com/alandonham) made their first contribution in bazel-contrib/bazel-gazelle#1915 - [@dmcardle](https://github.com/dmcardle) made their first contribution in bazel-contrib/bazel-gazelle#1933 **Full Changelog**: bazel-contrib/bazel-gazelle@v0.38.0...v0.39.0
##### [`vv0.39.0](https://github.com/bazelbuild/bazel-gazelle/releases/tag/v0.39.0) #### What's Changed - Add QNX and OSX to known platforms by [@hofbi](https://github.com/hofbi) in bazel-contrib/bazel-gazelle#1853 - Allow `+` in repo names by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1856 - go_repository_cache: set GOTOOLCHAIN to 'local' by [@lbcjbb](https://github.com/lbcjbb) in bazel-contrib/bazel-gazelle#1859 - Fix Issue [#1855](bazel-contrib/bazel-gazelle#1855): "All Bazel commands fail when changing a Go dependency when using Bzlmod extension" by [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) in bazel-contrib/bazel-gazelle#1861 - Add default directives for github.com/containerd by [@mering](https://github.com/mering) in bazel-contrib/bazel-gazelle#1866 - Add gazelle-overrides for argo, grpcgateway by [@udaya2899](https://github.com/udaya2899) in bazel-contrib/bazel-gazelle#1867 - refactor: remove file reference from ruleRecord by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1869 - refactor: compute transitive embeds during indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1868 - refactor: compute labelMap when indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1872 - refactor: remove reference to rule.Rule in mapResolver interface by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1873 - refactor: ensure rule index not modified after indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1877 - docs: fix incorrect gazelle_generation_test param name by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1876 - refactor: embed gazelle generation_test_binary in gazelle_generation_test instead of recompiling by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1875 - refactor: make ruleRecord serializable by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1878 - Add package metadata to `go_repository`s by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1852 - refactor: process KindMap even when not indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1882 - refactor: move walk util methods into struct by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1881 - refactor: add nil assignments to verify interface implementations by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1883 - perf: preload .bazelignore before configure, do not use globs by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1886 - refactor: remove nested walk function literal by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1884 - Preserve canonical labels as such by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1863 - perf: check if directory in .bazelignore before readdir by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1890 - revert [#1873](bazel-contrib/bazel-gazelle#1873) by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1897 - rename `main()` entrypoints to `main.go` by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1901 - Support timeout and size in gazelle_test by [@rockwotj](https://github.com/rockwotj) in bazel-contrib/bazel-gazelle#1909 - feat: include package URL in package_info by [@alexeagle](https://github.com/alexeagle) in bazel-contrib/bazel-gazelle#1917 - perf: Improve rule.Kind by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1919 - Fix patch file creation using Gazelle in diff mode by [@alandonham](https://github.com/alandonham) in bazel-contrib/bazel-gazelle#1915 - perf: Improve merger.Mergefile by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1920 - test: add bazelignore test by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1912 - perf: walk workspace directories in parallel by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1893 - refactor: reduce path.join while walking repo by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1913 - chore: upgrade go mod dependencies by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1911 - prepare gazelle release 0.39 by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1925 - Add gazelle overrides to enable building rclone by [@dmcardle](https://github.com/dmcardle) in bazel-contrib/bazel-gazelle#1933 #### New Contributors - [@hofbi](https://github.com/hofbi) made their first contribution in bazel-contrib/bazel-gazelle#1853 - [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) made their first contribution in bazel-contrib/bazel-gazelle#1861 - [@udaya2899](https://github.com/udaya2899) made their first contribution in bazel-contrib/bazel-gazelle#1867 - [@rockwotj](https://github.com/rockwotj) made their first contribution in bazel-contrib/bazel-gazelle#1909 - [@alandonham](https://github.com/alandonham) made their first contribution in bazel-contrib/bazel-gazelle#1915 - [@dmcardle](https://github.com/dmcardle) made their first contribution in bazel-contrib/bazel-gazelle#1933 **Full Changelog**: bazel-contrib/bazel-gazelle@v0.38.0...v0.39.0
##### [`vv0.39.0](https://github.com/bazelbuild/bazel-gazelle/releases/tag/v0.39.0) #### What's Changed - Add QNX and OSX to known platforms by [@hofbi](https://github.com/hofbi) in bazel-contrib/bazel-gazelle#1853 - Allow `+` in repo names by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1856 - go_repository_cache: set GOTOOLCHAIN to 'local' by [@lbcjbb](https://github.com/lbcjbb) in bazel-contrib/bazel-gazelle#1859 - Fix Issue [#1855](bazel-contrib/bazel-gazelle#1855): "All Bazel commands fail when changing a Go dependency when using Bzlmod extension" by [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) in bazel-contrib/bazel-gazelle#1861 - Add default directives for github.com/containerd by [@mering](https://github.com/mering) in bazel-contrib/bazel-gazelle#1866 - Add gazelle-overrides for argo, grpcgateway by [@udaya2899](https://github.com/udaya2899) in bazel-contrib/bazel-gazelle#1867 - refactor: remove file reference from ruleRecord by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1869 - refactor: compute transitive embeds during indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1868 - refactor: compute labelMap when indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1872 - refactor: remove reference to rule.Rule in mapResolver interface by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1873 - refactor: ensure rule index not modified after indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1877 - docs: fix incorrect gazelle_generation_test param name by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1876 - refactor: embed gazelle generation_test_binary in gazelle_generation_test instead of recompiling by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1875 - refactor: make ruleRecord serializable by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1878 - Add package metadata to `go_repository`s by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1852 - refactor: process KindMap even when not indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1882 - refactor: move walk util methods into struct by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1881 - refactor: add nil assignments to verify interface implementations by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1883 - perf: preload .bazelignore before configure, do not use globs by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1886 - refactor: remove nested walk function literal by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1884 - Preserve canonical labels as such by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1863 - perf: check if directory in .bazelignore before readdir by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1890 - revert [#1873](bazel-contrib/bazel-gazelle#1873) by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1897 - rename `main()` entrypoints to `main.go` by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1901 - Support timeout and size in gazelle_test by [@rockwotj](https://github.com/rockwotj) in bazel-contrib/bazel-gazelle#1909 - feat: include package URL in package_info by [@alexeagle](https://github.com/alexeagle) in bazel-contrib/bazel-gazelle#1917 - perf: Improve rule.Kind by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1919 - Fix patch file creation using Gazelle in diff mode by [@alandonham](https://github.com/alandonham) in bazel-contrib/bazel-gazelle#1915 - perf: Improve merger.Mergefile by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1920 - test: add bazelignore test by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1912 - perf: walk workspace directories in parallel by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1893 - refactor: reduce path.join while walking repo by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1913 - chore: upgrade go mod dependencies by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1911 - prepare gazelle release 0.39 by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1925 - Add gazelle overrides to enable building rclone by [@dmcardle](https://github.com/dmcardle) in bazel-contrib/bazel-gazelle#1933 #### New Contributors - [@hofbi](https://github.com/hofbi) made their first contribution in bazel-contrib/bazel-gazelle#1853 - [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) made their first contribution in bazel-contrib/bazel-gazelle#1861 - [@udaya2899](https://github.com/udaya2899) made their first contribution in bazel-contrib/bazel-gazelle#1867 - [@rockwotj](https://github.com/rockwotj) made their first contribution in bazel-contrib/bazel-gazelle#1909 - [@alandonham](https://github.com/alandonham) made their first contribution in bazel-contrib/bazel-gazelle#1915 - [@dmcardle](https://github.com/dmcardle) made their first contribution in bazel-contrib/bazel-gazelle#1933 **Full Changelog**: bazel-contrib/bazel-gazelle@v0.38.0...v0.39.0
##### [`vv0.39.0](https://github.com/bazelbuild/bazel-gazelle/releases/tag/v0.39.0) #### What's Changed - Add QNX and OSX to known platforms by [@hofbi](https://github.com/hofbi) in bazel-contrib/bazel-gazelle#1853 - Allow `+` in repo names by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1856 - go_repository_cache: set GOTOOLCHAIN to 'local' by [@lbcjbb](https://github.com/lbcjbb) in bazel-contrib/bazel-gazelle#1859 - Fix Issue [#1855](bazel-contrib/bazel-gazelle#1855): "All Bazel commands fail when changing a Go dependency when using Bzlmod extension" by [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) in bazel-contrib/bazel-gazelle#1861 - Add default directives for github.com/containerd by [@mering](https://github.com/mering) in bazel-contrib/bazel-gazelle#1866 - Add gazelle-overrides for argo, grpcgateway by [@udaya2899](https://github.com/udaya2899) in bazel-contrib/bazel-gazelle#1867 - refactor: remove file reference from ruleRecord by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1869 - refactor: compute transitive embeds during indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1868 - refactor: compute labelMap when indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1872 - refactor: remove reference to rule.Rule in mapResolver interface by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1873 - refactor: ensure rule index not modified after indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1877 - docs: fix incorrect gazelle_generation_test param name by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1876 - refactor: embed gazelle generation_test_binary in gazelle_generation_test instead of recompiling by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1875 - refactor: make ruleRecord serializable by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1878 - Add package metadata to `go_repository`s by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1852 - refactor: process KindMap even when not indexing by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1882 - refactor: move walk util methods into struct by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1881 - refactor: add nil assignments to verify interface implementations by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1883 - perf: preload .bazelignore before configure, do not use globs by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1886 - refactor: remove nested walk function literal by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1884 - Preserve canonical labels as such by [@fmeum](https://github.com/fmeum) in bazel-contrib/bazel-gazelle#1863 - perf: check if directory in .bazelignore before readdir by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1890 - revert [#1873](bazel-contrib/bazel-gazelle#1873) by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1897 - rename `main()` entrypoints to `main.go` by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1901 - Support timeout and size in gazelle_test by [@rockwotj](https://github.com/rockwotj) in bazel-contrib/bazel-gazelle#1909 - feat: include package URL in package_info by [@alexeagle](https://github.com/alexeagle) in bazel-contrib/bazel-gazelle#1917 - perf: Improve rule.Kind by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1919 - Fix patch file creation using Gazelle in diff mode by [@alandonham](https://github.com/alandonham) in bazel-contrib/bazel-gazelle#1915 - perf: Improve merger.Mergefile by [@dzbarsky](https://github.com/dzbarsky) in bazel-contrib/bazel-gazelle#1920 - test: add bazelignore test by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1912 - perf: walk workspace directories in parallel by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1893 - refactor: reduce path.join while walking repo by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1913 - chore: upgrade go mod dependencies by [@jbedard](https://github.com/jbedard) in bazel-contrib/bazel-gazelle#1911 - prepare gazelle release 0.39 by [@tyler-french](https://github.com/tyler-french) in bazel-contrib/bazel-gazelle#1925 - Add gazelle overrides to enable building rclone by [@dmcardle](https://github.com/dmcardle) in bazel-contrib/bazel-gazelle#1933 #### New Contributors - [@hofbi](https://github.com/hofbi) made their first contribution in bazel-contrib/bazel-gazelle#1853 - [@Buzz-Lightyear](https://github.com/Buzz-Lightyear) made their first contribution in bazel-contrib/bazel-gazelle#1861 - [@udaya2899](https://github.com/udaya2899) made their first contribution in bazel-contrib/bazel-gazelle#1867 - [@rockwotj](https://github.com/rockwotj) made their first contribution in bazel-contrib/bazel-gazelle#1909 - [@alandonham](https://github.com/alandonham) made their first contribution in bazel-contrib/bazel-gazelle#1915 - [@dmcardle](https://github.com/dmcardle) made their first contribution in bazel-contrib/bazel-gazelle#1933 **Full Changelog**: bazel-contrib/bazel-gazelle@v0.38.0...v0.39.0
What type of PR is this?
Other
What package or component does this PR mostly affect?
all
What does this PR do? Why is it needed?
Walk the bazel workspace fs directories in parallel to build a structure representing the workspace before invoking the gazelle phases.
Similar to #1820 from @dzbarsky including using
the samea simplifiedpathTrie
struct but using a simple customwalkDir
method instead of introducing a new external dep.Which issues(s) does this PR fix?
Fixes #1819
Closes #1820