-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Refactor option getting v2 #13441
base: master
Are you sure you want to change the base?
Refactor option getting v2 #13441
Conversation
e5c9a29
to
2ccdbcd
Compare
Cherry-picked the relevant remaining commits. Expect everything to be still broken. Will work on fixing things again next. |
b6023ce
to
484a90b
Compare
Fixed enough that all No point in commenting on typing, though, it has not been done at all. |
Now passes all project tests. On my machine. |
2166f0a
to
ae783b7
Compare
b3ca516
to
43b2a7b
Compare
609bf4a
to
8111038
Compare
243e096
to
9734ea3
Compare
a single subproject called `numbercruncher` that does heavy | ||
computation. During development you want to build that subproject with | ||
optimizations enabled but your main project without | ||
optimizations. This can be done by specifying an augment to the given |
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 first tow times I read "augment" I thought it was "argument" misspelled. IIUC, augments are subproject-specific options. Can't the concept be called "subproject-specific option" instead of "augment"? I think it would be clearer and I don't think it need to be written so often for the lengthy name to be a problem.
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.
Originally I wanted to call it "override", but that is already used for per-target option values, so no. I guess we can call them "subproject specific options" in docs, but internally we need a more concise name. And in any case it would be nice to have the same name for this feature internally and externally.
"Augment" was the best I could come up with, better ideas welcome.
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.
dumb thought: call it an augmentation instead of an augment and no one will get it confused with an argument?
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.
"Augment" was the best I could come up with, better ideas welcome.
Supersede or Negate might be considered. But expanding them to "supersedes" or "Negates" or "Negations" fouls things up. Then there is supersession, where the main advantage is that it's a long way from `argument'. ;)
06f255b
to
1b276ab
Compare
9f17044
to
c06c552
Compare
c06c552
to
9a95e35
Compare
I'm going to say again, for the last time because I don't feel like I actually have any power here that:
I don't feel like I'm going to make any headway here on my design concerns so I'll stop now. But I really feel like after this merges Eli and I are going to spend a significant amount of time fixing all of the issues that this MR introduces. I have no more comments to make on this, so just merge it. |
This is basically a rebased version of #13086. Well, half of it currently. Will do the rest after this.
The refactor operation turned out to be so big I though it better to open a new one and leave that MR exist in its original state in case it is ever needed for debugging. Will close that once this is merged.
This has a bunch of broken commits and fixing them would be too much work, so this must be merged with a merge commit rather than rebasing.