-
Notifications
You must be signed in to change notification settings - Fork 385
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
Exclude files/folders that are .gitignore'd #1166
Comments
I think Gazelle has enough users that Hyrum's law would be applied here. I wonder how many users have git-ignored files that end up in the targets that depend on a flow like: go generate -> some git-ignored files -> gazelle -> bazel build I believe it would be wise to make it opt-in rather than opt-out. |
Facing a similar issue with git submodules. Would be happy to opt in. |
As a data point, I tried the linked PR on our repo and it makes our generation time go from 2.5s to 4+s. It may make sense to advise people to put their generated junk in |
I think that would be a reason to make this opt-in, maybe with documentation pointing out that FWIW the |
aspect-build/aspect-cli@a70f957#diff-b61fcd9f5596f8f5a65d234f9606c2b41a8b7c53ab2f7701e8a0baa7a6e6f218 includes a patch to gazelle that adds an extra ignore predicate check within walk.Walk. The following is the relevant walk code. https://github.com/bazelbuild/bazel-gazelle/blob/master/walk/walk.go#L164-L184 I suppose gazelle's walk function could support user-configured hooks by, for example, reading all entries from config.Ext that implement some interface. The config loading code (getWalkConfig) could inspect c.Exts: https://github.com/bazelbuild/bazel-gazelle/blob/master/walk/config.go#L40-L58 |
This is a major usability hurdle at one of Aspect's clients. Gazelle fails because they have some junk in their repo which is covered by a
.gitignore
so they don't realize they have an unclean state. The error messages when gazelle descends into these files is cryptic to them. They then ask a support question where it's not obvious thatgit clean -ffdx
is the solution.Gazelle should simply ignore things that are .gitignore'd (probably with a directive to opt-in/out)
The text was updated successfully, but these errors were encountered: