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 PMfmthundreds-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_rulehundreds-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_rulehundreds-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 Workspacewitty-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 RootRulewitty-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