witty-crayon-22786
09/16/2019, 5:39 PMwitty-crayon-22786
09/16/2019, 5:39 PMwitty-crayon-22786
09/16/2019, 5:40 PMaverage-vr-56795
09/16/2019, 5:41 PMaverage-vr-56795
09/16/2019, 5:42 PMhundreds-breakfast-49010
09/16/2019, 5:43 PMpants binaries
correctly right?witty-crayon-22786
09/16/2019, 5:43 PMhundreds-breakfast-49010
09/16/2019, 5:43 PMhundreds-breakfast-49010
09/16/2019, 5:43 PMwitty-crayon-22786
09/16/2019, 5:44 PM@console_rule
constraint works, leaning in there would be goodhundreds-breakfast-49010
09/16/2019, 5:44 PMaverage-vr-56795
09/16/2019, 5:44 PM./pants binary
is an interesting one… The way v1 works is that there’s this top-level dist
directory where everything gets dumped… I don’t love it, but it does lend itself to a decently restricted API of “a ConsoleRule can materialize a directory digest specifically into dist and nowhere else”witty-crayon-22786
09/16/2019, 5:45 PMhundreds-breakfast-49010
09/16/2019, 5:45 PMwitty-crayon-22786
09/16/2019, 5:45 PMfmt
hundreds-breakfast-49010
09/16/2019, 5:45 PMhundreds-breakfast-49010
09/16/2019, 5:46 PMdist
either, although that's the first place I planned to use it, making that be the way that the created PEX file got written to dist
in the v2 binaries
rulewitty-crayon-22786
09/16/2019, 5:46 PMwitty-crayon-22786
09/16/2019, 5:46 PM@rules
not doing that, in generalhundreds-breakfast-49010
09/16/2019, 5:47 PM@rule
can only be invoked from @console_rule
?average-vr-56795
09/16/2019, 5:47 PM@average-vr-56795: that prevents it from being used forYou know how I feel aboutfmt
fmt
😉witty-crayon-22786
09/16/2019, 5:47 PMConsole
should eventually be enforced to only be accessible from a @console_rule
hundreds-breakfast-49010
09/16/2019, 5:47 PMfmt
?witty-crayon-22786
09/16/2019, 5:48 PMfix
, which requires a build?hundreds-breakfast-49010
09/16/2019, 5:48 PMfmt
isn't a priority for toolchain right this second, but if we could design the rule such that it works correctly for fmt
in the futrue when we eventually port that, that would be usefulaverage-vr-56795
09/16/2019, 5:48 PMhundreds-breakfast-49010
09/16/2019, 5:48 PMConsole
?witty-crayon-22786
09/16/2019, 5:49 PMhundreds-breakfast-49010
09/16/2019, 5:49 PMaverage-vr-56795
09/16/2019, 5:49 PMfix
- I still don’t think the build tool should be the one doing the fixing 🙂average-vr-56795
09/16/2019, 5:49 PMhundreds-breakfast-49010
09/16/2019, 5:49 PM@console_rule
until someone has the bandwidth to write something that will enforce itwitty-crayon-22786
09/16/2019, 5:49 PMhundreds-breakfast-49010
09/16/2019, 5:50 PM@console_rule
-only thing, maybe it's okay to have a rule that only has a side effect?average-vr-56795
09/16/2019, 5:50 PMhundreds-breakfast-49010
09/16/2019, 5:51 PMhundreds-breakfast-49010
09/16/2019, 5:51 PMmaterialize_directories
method directly, since this seems uncleanwitty-crayon-22786
09/16/2019, 5:52 PMWorkspace
typehundreds-breakfast-49010
09/16/2019, 5:52 PMwitty-crayon-22786
09/16/2019, 5:52 PMwitty-crayon-22786
09/16/2019, 5:53 PMhundreds-breakfast-49010
09/16/2019, 5:53 PMWorkspace
type be? and this is the type that (in the future) we want only `@console_rule`s to have access to?hundreds-breakfast-49010
09/16/2019, 5:53 PMwitty-crayon-22786
09/16/2019, 5:53 PMhundreds-breakfast-49010
09/16/2019, 5:53 PMwitty-crayon-22786
09/16/2019, 5:54 PMWorkspace
is roughly the "mock filestystem" idea, but i'd personally really, really like it to expose absolute nothing aside from "materialize_directory", for nowwitty-crayon-22786
09/16/2019, 5:54 PMhundreds-breakfast-49010
09/16/2019, 5:54 PMwitty-crayon-22786
09/16/2019, 5:55 PM@console_rules
from doing thathundreds-breakfast-49010
09/16/2019, 5:55 PMWorkspace
would expose the materialize_directory
method?witty-crayon-22786
09/16/2019, 5:55 PMwitty-crayon-22786
09/16/2019, 5:55 PMConsole
and Workspace
is that we have an easy way to DI as many different things as we wanthundreds-breakfast-49010
09/16/2019, 5:55 PM@console_rule
will request a Workspace
as an input, then the rule can call that method (sort of like how we're already just calling it on the context
in v1 rules now)hundreds-breakfast-49010
09/16/2019, 5:55 PMWorkspace
at allhundreds-breakfast-49010
09/16/2019, 5:56 PMwitty-crayon-22786
09/16/2019, 5:56 PMwitty-crayon-22786
09/16/2019, 5:56 PMhundreds-breakfast-49010
09/16/2019, 5:56 PM@console_rule
hundreds-breakfast-49010
09/16/2019, 5:56 PMhundreds-breakfast-49010
09/16/2019, 5:56 PMhundreds-breakfast-49010
09/16/2019, 9:25 PMWorkspace
to the existing rust FFI functionality ishundreds-breakfast-49010
09/16/2019, 9:26 PMWorkspace
type invoke the engine somehow, and use the intrinsic I already wrotehundreds-breakfast-49010
09/16/2019, 9:26 PMmaterialize_directories
rust function that I had planned to eventually get rid of - but I'm not sure how I should invoke that from Workspace
witty-crayon-22786
09/16/2019, 10:21 PMwitty-crayon-22786
09/16/2019, 10:21 PMwitty-crayon-22786
09/16/2019, 10:22 PMwitty-crayon-22786
09/16/2019, 10:23 PMwitty-crayon-22786
09/16/2019, 11:02 PMwitty-crayon-22786
09/16/2019, 11:02 PMWorkspace
would be installed as a RootRule
witty-crayon-22786
09/16/2019, 11:02 PMaloof-angle-91616
09/16/2019, 11:03 PMaloof-angle-91616
09/16/2019, 11:03 PMhundreds-breakfast-49010
09/16/2019, 11:03 PMaloof-angle-91616
09/16/2019, 11:21 PMaloof-angle-91616
09/16/2019, 11:21 PM