Skip to content
  • Kristina Chodorow's avatar
    Change execution root for external repositories to be ../repo · 82d43279
    Kristina Chodorow authored
    Some of the important aspect of this change:
    
    * Remote repos in the execution root are under output_base/execroot/repo_name, so the prefix is ../repo_name (to escape the local workspace name).
    * Package roots for external repos were previously "output_base/", they are now output_base/external/repo_name (which means source artifacts always have a relative path from their repository).
    * Outputs are under bazel-bin/external/repo_name/ (or similarly under genfiles). Note that this is a bit of a change from how this was implemented in the previous cl.
    
    Fixes #1262.
    
    RELNOTES[INC]: Previously, an external repository would be symlinked into the
    execution root at execroot/local_repo/external/remote_repo. This changes it to
    be at execroot/remote_repo. This may break genrules/Skylark actions that
    hardcode execution root paths. If this causes breakages for you, ensure that
    genrules are using $(location :target) to access files and Skylark rules are
    using http://bazel.io/docs/skylark/lib/File.html's path, dirname, etc.
    functions.
    
    Roll forward of bdfd58a8.
    
    --
    MOS_MIGRATED_REVID=133606309
    82d43279