-
Notifications
You must be signed in to change notification settings - Fork 428
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
test: aliases field of user rules generates multiple actions #11557
base: main
Are you sure you want to change the base?
Conversation
Memo.parallel_iter aliases ~f:(fun alias -> | ||
let alias = Alias.make ~dir alias in | ||
Alias_rules.add sctx ~alias ~loc:rule.loc action) | ||
match List.map ~f:(Alias.make ~dir) aliases with |
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.
Don't we have the same issue above with Aliases_with_targets ?
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.
There we are using Rules.Produce.Alias.add_deps
which correctly registers the deps without introducing any anonymous actions. Here we are using Super_context.add_alias_action
which is creating an anonymous action. This is a wrapper around Rules.Produce.Alias.add_action
which for our purposes is probably not what we want.
I've gone ahead and replaced this with Rules.Produce.Alias.add_deps
here as well and added a test to make sure the with_targets version is treated the same.
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.
I can confirm that with_targets
did not have the issue I am fixing here.
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.
If you look at my latest push, there is a test for both with targets and without and as I mentioned the one with targets does not run twice. The bug I am fixing here only appears to be an issue for rules with no targets.
Signed-off-by: Ali Caglayan <[email protected]>
Signed-off-by: Ali Caglayan <[email protected]>
023bc93
to
8378784
Compare
In a similar vain to #11547 user defined rules were generating multiple actions which meant building both aliases at the same time was running the action twice. We fix this issue by making the other aliases rely on the first alias in the list. (This might be fragile lets see).