Support nodeproperty in remote-execution proto
In order to support optional node properties in buildbox-casd the remote execution proto must be updated to reflect changes in https://github.com/bazelbuild/remote-apis/pull/102 and https://github.com/bazelbuild/remote-apis/pull/91
this will also require changes to local_cas.proto and some utlities
-
update RE proto for NodeProperty
so these can be used on [File]Nodes -
add repeated string node_properties
toCaptureTreeRequest
so requests can indicate what properties to attempt to encode in the tree nodes -
support properties in make_nesteddirectory
for Files: so tree digest will reflect requested properties (at least supportMTime
) -
support MTimes in File::to_filenode
: addd_mtime
toFile
and a functionFileUtils::get_file_mtime
). will require adding the NodeProperty to the FileNode such that the tree digests will reflect this: ideally we would add node_properties to the NodeMetaData although it's not necessary since aiui this is not regarded as meaningful for collision detection -
add properties to CaptureTreeRequest
inClient::captureTree
, currently there's no way to make mtimes optional viacaptureDirectory
since this is a callback incaptureAllOutputs
and properties are not encoded in the command. it's possible to do this but it would require further api changes -
add FileUtils::set_file_mtime
nb. the client's implementation of stage()
essentially just calls StageTree
, provided StageTree
anticipates properties that is sufficient
Edited by Darius Makovsky