[engine] Add native filesystem node type.
Review Request #3550 — Created March 9, 2016 and submitted
FilesystemNodefor native filesystem operations to pave the way for invalidation.
ProjectTreeinstance access to
test_scheduler.py:test_dependency_inferencexfail pending #3024.
- Misc cleanups and a quick fix to retain
.dotfiles generated by the visualizer for direct analysis.
N.B. this currently omits a prior short-circuiting
StepContext.task_nodes (which seems to break globs due to the use of
Paths) in favor of a more permissive approach for the time being.
Rather than taking the key, this should just take the instance, no?
In the multi-process case, I think the assumption is that each node must have access to the relevant git checkout (or to scoot), and so each of them can have a clone of the ProjectTree.
Thinking about this more, it seems like the ProjectTree is probably a property of the Engine (ie, the execution environment) rather than the scheduler.
xx: see below.
and can drop the "in a FilesystemNode" bit: the type of the Node should always be available.
These are definitely specific to the
legacysubdirectory. I can understand moving things here temporarily in order to break cycles directly in
exp, but I'm pretty sure these shouldn't be causing a cycle.
Maybe rather than
is_native, this is
is_filesystem_product? There will be other native nodes soonish.
Address Stu's feedback.
Revision 3 (+249 -170)
Fixup for omission of the removal of
exp/register.pyin the last changeset.
Revision 4 (+235 -170)