happy-kitchen-89482
08/02/2019, 8:53 PMwitty-crayon-22786
08/02/2019, 9:15 PMwitty-crayon-22786
08/02/2019, 9:16 PMhappy-kitchen-89482
08/02/2019, 9:32 PMhappy-kitchen-89482
08/02/2019, 9:33 PMhundreds-father-404
08/03/2019, 12:38 AMaloof-angle-91616
08/05/2019, 12:26 AMaloof-angle-91616
08/07/2019, 12:02 AMwitty-crayon-22786
08/07/2019, 4:06 PMwitty-crayon-22786
08/07/2019, 5:47 PMearly-needle-54791
08/08/2019, 4:15 AMScheduler.execute
with an execution request that was returned from an ffi call.
* That in turn ends up calling the rust ffi scheduler_execute
method which materializes the scheduler and then calls its internal execute
method.
* rust scheduler.execute materializes the roots into the type of request it contains.
* This is where it gets a bit fuzzy for me. The node is added to the graph and somewhere along the line the it is cast into a NodeKey. That NodeKey has run called on it at some point by the graph and the rest is history.
Rubber ducking this has helped but I still have some questions about how the rust side Scheduler.execute
knows how to materialize a given root in the roots list to the correct NodeKey enum variant. I see the NodeKey using the From trait to describe the casting, but I still don’t understand how the root contains the information that it is a specific type of request, i.e which into is called. Any help would be appreciated!average-vr-56795
08/08/2019, 9:58 AMstore
crate? I want to make some invasive changes to it, but don’t want to make merge conflicts…witty-crayon-22786
08/09/2019, 1:18 AMwitty-crayon-22786
08/09/2019, 5:21 AMhappy-kitchen-89482
08/09/2019, 5:34 PMdatatype
? Would that be hard to do?happy-kitchen-89482
08/09/2019, 5:36 PMaloof-angle-91616
08/11/2019, 6:46 PMaloof-angle-91616
08/11/2019, 6:46 PMhundreds-father-404
08/11/2019, 6:51 PMhappy-kitchen-89482
08/12/2019, 11:45 PMyield Get
for a singleton?happy-kitchen-89482
08/12/2019, 11:46 PMsymbol_table = yield Get(SymbolTable, <what goes here>)
?happy-kitchen-89482
08/14/2019, 12:56 AMhappy-kitchen-89482
08/14/2019, 12:57 AMComputing Select((<pants.engine.console.Console object at 0x1b921575f28>+OptionsBootstrapper(env_tuples<Exactly(tuple)>=(('PANTS_TEST_PYTEST_EXTRA_PYTHONPATH', '/Users/benjyw/Dropbox/pycharm-debug/pydevd-pycharm.egg'),), bootstrap_args<Exactly(tuple)>=(), args<Exactly(tuple)>=('./pants', '--v2', '--no-v1', 'buildgen2', '--buildgen2-source-roots=src/python/'), config<SubclassesOf(Config)>=_ChainedConfig(chained_configs=(<pants.option.config._SingleFileConfig object at 0x1b92137ac88>,)))), BuildGen)
Computing Task(buildgen(), (<pants.engine.console.Console object at 0x1b921575f28>+OptionsBootstrapper(env_tuples<Exactly(tuple)>=(('PANTS_TEST_PYTEST_EXTRA_PYTHONPATH', '/Users/benjyw/Dropbox/pycharm-debug/pydevd-pycharm.egg'),), bootstrap_args<Exactly(tuple)>=(), args<Exactly(tuple)>=('./pants', '--v2', '--no-v1', 'buildgen2', '--buildgen2-source-roots=src/python/'), config<SubclassesOf(Config)>=_ChainedConfig(chained_configs=(<pants.option.config._SingleFileConfig object at 0x1b92137ac88>,)))), BuildGen, false)
Computing Task(analyze_source_file(), SourceFileAndRoot(file_content<Exactly(FileContent)>=FileContent(path=src/python/toolchain/buildstats/jinja2/buildstats/base.html, content=(len:1103)), source_root<Exactly(str)>=src/python/), SourceFileAnalysis, true)
Throw()
Traceback (most recent call last):
File "/Users/benjyw/.cache/pants/setup/bootstrap-Darwin-x86_64/1.20.0.dev1_py37/lib/python3.7/site-packages/pants/engine/native.py", line 440, in extern_generator_send
res = c.from_value(func[0]).send(c.from_value(arg[0]))
StopIteration
happy-kitchen-89482
08/14/2019, 12:57 AMhappy-kitchen-89482
08/14/2019, 12:57 AMhappy-kitchen-89482
08/14/2019, 12:57 AMhappy-kitchen-89482
08/14/2019, 12:59 AMhappy-kitchen-89482
08/14/2019, 12:59 AMhappy-kitchen-89482
08/14/2019, 12:59 AMaloof-angle-91616
08/14/2019, 4:54 PM