Reland "Remove unused bootstrap flags"

This reverts commit 156ac81c761820125051bd09a6c4d7fcd8c49c4f.

Reason for revert: This should not have been reverted

Original change's description:
> Revert "Remove unused bootstrap flags"
> 
> This reverts commit 9722f43a7d840356c83cc6e36a494761897c6994.
> 
> Reason for revert: breaks recipe autoroller, e.g. see http://shortn/_PaRTzK66on
> 
> Original change's description:
> > Remove unused bootstrap flags
> > 
> > To be landed after:
> >   * https://chromium-review.googlesource.com/c/infra/infra/+/1407511
> >   * https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1407425
> > 
> > R=​jchinlee@chromium.org
> > 
> > Change-Id: I488ca0b9a8c39ccb3b548a9ca696d92d6e22d3da
> > Reviewed-on: https://chromium-review.googlesource.com/c/1407708
> > Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
> > Reviewed-by: Jao-ke Chin-Lee <jchinlee@chromium.org>
> 
> TBR=iannucci@chromium.org,jchinlee@chromium.org
> 
> Change-Id: Ie96955d4b93cfe01125d503f2abd3401db5f7085
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/1415650
> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
> Commit-Queue: Sergiy Belozorov <sergiyb@chromium.org>

TBR=iannucci@chromium.org,jchinlee@chromium.org,sergiyb@chromium.org

Change-Id: Ia220437299989d0c047f2c5d946fd587a8d41b1b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/1415850
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
3 files changed
tree: fa990bbca899e20a1a9aeb4032a4f68dbf661b77
  1. doc/
  2. infra/
  3. misc/
  4. recipe_engine/
  5. recipe_modules/
  6. recipes/
  7. unittests/
  8. .gitattributes
  9. .gitignore
  10. .vpython
  11. AUTHORS
  12. codereview.settings
  13. CONTRIBUTORS
  14. LICENSE
  15. OWNERS
  16. PRESUBMIT.py
  17. README.md
  18. README.recipes.md
  19. recipes.py
README.md

Recipes

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

Files

  • README.md

    This file!

  • doc/

    Documentation for the recipe engine (including this file!). See the design doc for more detailed design information about the recipe engine.

  • infra/

    Chrome infra config files.

  • recipes.py

    The main entry point to the recipe engine. It has many subcommands and flags; run recipes.py -h to see them. Include this in your repository to start using recipes.

  • recipes/

    Recipes in the recipe engine. These are either example recipes, or recipes which are used to test the engine (see run_test.py to see these run)

  • recipe_modules/

    Built in recipe modules. These are very useful when writing recipes; take a look in there, and look at each of their examples subfolders to get an idea how to use them in a recipe.

  • recipe_engine/

    The core functionality of the recipe engine. Noteworthy files include:

    • main.py -- The main entrypoint for the recipe engine.
    • package.proto -- The protobuf file which defines the format of a recipes.cfg file.
    • third_party/ -- third_party code which is vendored into the recipe engine.
    • recipe_api.py -- The api exposed to a recipe module.
    • unittests -- Unittests for the engine.

    There are also several files which correspond to a subcommand of recipes.py; depgraph, run, and autoroll are some examples.

  • unittests/

    Somewhat poorly named, these are higher level integration tests.

Contributing

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

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

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/src/depot_tools
export PATH="$PATH:$HOME/src/depot_tools"
git checkout -b work origin/master

# hack hack

git commit -a -m "This is awesome"
# This will ask for your Google Account credentials.
git cl upload -s -r joe@example.com
# 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.