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
bazel: add update script to update srcDeps from WORKSPACE file #63077
Conversation
# execute the WORKSPACE like it was python code in this module, | ||
# using all the function stubs from above. | ||
with open(sys.argv[1]) as f: | ||
exec(f.read()) |
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.
Clever! 🎩
def rules_sass_dependencies(**kw): pass | ||
def node_repositories(**kw): pass | ||
def sass_repositories(**kw): pass | ||
def register_execution_platforms(*args): pass |
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.
you can probably just define __getattr__(self, method_name)
here as a catchall method. See https://rymc.io/blog/2010/emulating-rubys-method_missing-in-python/
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.
Sure, but I’d like to keep it simple for now, we can always move to some more magic incantation later.
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.
Fair enough, approved.
fa8dfc9
to
62bbfa9
Compare
@GrahamcOfBorg build bazel.tests |
I’ll merge, because I only rebased and the darwin builders are massively reduced in capacity at the moment. |
This adds an automated updater that can “parse” the bazel WORKSPACE file to dump most dependencies into a JSON file, meaning we don’t have to update dependencies by hand (and also don’t forget when updating bazel).
cc @groodt @uri-canva
After I implemented it, I actually noticed that the bazel build itself doesn’t use these dependencies, only if you want to run the tests afterwards they are needed, and we disabled the tests :(
So the next step is to move the
installTests
into a different derivation, like we do withpassthru.tests
.@GrahamcOfBorg build bazel.tests
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)