Revert "[file] Add fail_silently to copy and copytree"

This reverts commit d14718e984d2b7b539f8f9c8bec3215807c0a681.

Reason for revert: We are now validating the existence of the files in the upstream recipe (, and do not require `skip_empty_sources` in the files api anymore.

Original change's description:
> [file] Add fail_silently to copy and copytree
> Currently, `file.copy` and `file.copytree` both fail if the source path does not exist. This change introduces an extra attribute `skip_empty_source` to ignore these errors.
> Bug: 1329786
> Change-Id: I33080d4597ba70ac8a008979ac8b7315c2ce1c32
> Reviewed-on:
> Auto-Submit: Alexander Schulze <>
> Reviewed-by: Robbie Iannucci <>
> Commit-Queue: Alexander Schulze <>

Bug: 1329786
Change-Id: I0bab234049b4f116169c2fb5939c07215b2e0b77
Reviewed-by: Robbie Iannucci <>
Commit-Queue: Alexander Schulze <>
4 files changed
tree: 334782161727bbe6ffa57d51c03ae6385ca952bc
  1. doc/
  2. infra/
  3. misc/
  4. recipe_engine/
  5. recipe_modules/
  6. recipe_proto/
  7. recipes/
  8. unittests/
  9. .gitattributes
  10. .gitignore
  11. .style.yapf
  12. .vpython
  13. .vpython3
  14. .vpython3_dev
  16. codereview.settings
  19. OWNERS
  23. recipe.warnings


Recipes are a domain-specific language (embedded in Python) for specifying sequences of subprocess calls in a cross-platform and testable way.

They allow writing build flows which integrate with the rest of LUCI.

Documentation for the recipe engine (including this file!). Take a look at the user guide for some hints on how to get started. See the implementation details doc for more detailed implementation information about the recipe engine.


  • Sign the Google CLA.
  • Make sure your and are configured in git config.

Run the following to setup the code review tool and create your first review:

# Get `depot_tools` in $PATH if you don't have it
git clone $HOME/src/depot_tools
export PATH="$PATH:$HOME/src/depot_tools"

# Check out the recipe engine repo
git clone $HOME/src/recipes-py

# make your change
cd $HOME/src/recipes-py
git new-branch cool_feature
# hack hack
git commit -a -m "This is awesome"

# This will ask for your Google Account credentials.
git cl upload -s -r
# Wait for approval over email.
# Click "Submit to CQ" button or ask reviewer to do it for you.
# Wait for the change to be tested and landed automatically.

Use git cl help and git cl help <cmd> for more details.