Skip to content

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

buildbox-casd#40 (closed)

  • update RE proto for NodeProperty so these can be used on [File]Nodes
  • add repeated string node_properties to CaptureTreeRequest 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 support MTime)
  • support MTimes in File::to_filenode: add d_mtime to File and a function FileUtils::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 in Client::captureTree, currently there's no way to make mtimes optional via captureDirectory since this is a callback in captureAllOutputs 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