Roll recipe dependencies (trivial).

This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8713453865358003793

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+/e84c69f5be0b72ea7957140f6105a89cb0706dce
  e84c69f (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 1b36fc761e1c to 963177240b1a

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=iannucci@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I5310258ba76b080a2e606f57106dd89f8ebabdab
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6607117
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2 files changed
tree: 5f80bff833a30e77d033d2ec1c81cb14c3f4c4e4
  1. bootstrap/
  2. fetch_configs/
  3. hooks/
  4. infra/
  5. infra_lib/
  6. man/
  7. metadata/
  8. python-bin/
  9. python2-bin/
  10. recipes/
  11. testing_support/
  12. tests/
  13. third_party/
  14. win_toolchain/
  15. zsh-goodies/
  16. .cipd_impl.ps1
  17. .flake8
  18. .git-blame-ignore-revs
  19. .gitattributes
  20. .gitignore
  21. .isort.cfg
  22. .style.yapf
  23. .vpython3
  24. android_build_server_helper.py
  25. auth.py
  26. autoninja
  27. autoninja.bat
  28. autoninja.py
  29. bazel.py
  30. bb
  31. bb.bat
  32. black
  33. bootstrap_python3
  34. breakpad.py
  35. BUILD_OWNERS
  36. build_telemetry
  37. build_telemetry.bat
  38. build_telemetry.py
  39. caffeinate.py
  40. cipd
  41. cipd.bat
  42. cipd_bin_setup.bat
  43. cipd_bin_setup.sh
  44. cipd_client_version
  45. cipd_client_version.digests
  46. cipd_manifest.txt
  47. cipd_manifest.versions
  48. cipd_manifest_cros_python2.txt
  49. cipd_manifest_cros_python2.versions
  50. clang-format
  51. clang-format.bat
  52. clang_format.py
  53. codereview.settings
  54. compile_single_file
  55. compile_single_file.bat
  56. compile_single_file.py
  57. cpplint.bat
  58. cpplint.py
  59. cpplint_chromium.py
  60. cros
  61. CROS_OWNERS
  62. cros_python2.vpython
  63. detect_host_arch.py
  64. DIR_METADATA
  65. dirmd
  66. dirmd.bat
  67. download_from_google_storage
  68. download_from_google_storage.bat
  69. download_from_google_storage.py
  70. ensure_bootstrap
  71. fetch
  72. fetch.bat
  73. fetch.py
  74. gclient
  75. gclient-new-workdir.py
  76. gclient.bat
  77. gclient.py
  78. gclient_completion.sh
  79. gclient_eval.py
  80. gclient_paths.py
  81. gclient_scm.py
  82. gclient_utils.py
  83. gerrit_client.py
  84. gerrit_util.py
  85. git-cache
  86. git-cl
  87. git-credential-luci
  88. git-credential-luci.bat
  89. git-crrev-parse
  90. git-drover
  91. git-find-releases
  92. git-footers
  93. git-freeze
  94. git-gs
  95. git-hyper-blame
  96. git-map
  97. git-map-branches
  98. git-mark-merge-base
  99. git-nav-downstream
  100. git-nav-upstream
  101. git-new-branch
  102. git-number
  103. git-rebase-update
  104. git-rename-branch
  105. git-reparent-branch
  106. git-retry
  107. git-runhooks
  108. git-squash-branch
  109. git-squash-branch-tree
  110. git-thaw
  111. git-upstream-diff
  112. git_auth.py
  113. git_cache.py
  114. git_cl.py
  115. git_cl_completion.sh
  116. git_common.py
  117. git_completion.sh
  118. git_dates.py
  119. git_find_releases.py
  120. git_footers.py
  121. git_freezer.py
  122. git_hyper_blame.py
  123. git_map.py
  124. git_map_branches.py
  125. git_mark_merge_base.py
  126. git_nav_downstream.py
  127. git_new_branch.py
  128. git_number.py
  129. git_rebase_update.py
  130. git_rename_branch.py
  131. git_reparent_branch.py
  132. git_retry.py
  133. git_squash_branch.py
  134. git_squash_branch_tree.py
  135. git_upstream_diff.py
  136. gn
  137. gn.bat
  138. gn.py
  139. gn_helper.py
  140. google-java-format
  141. google-java-format.bat
  142. google_java_format.py
  143. gsutil.py
  144. gsutil.py.bat
  145. gsutil.vpython3
  146. isort
  147. led
  148. led.bat
  149. LICENSE
  150. lockfile.py
  151. luci-auth
  152. luci-auth.bat
  153. LUCI_OWNERS
  154. lucicfg
  155. lucicfg.bat
  156. mac_toolchain
  157. metrics-xml-format
  158. metrics.py
  159. metrics.README.md
  160. metrics_utils.py
  161. metrics_xml_format.py
  162. my_activity.py
  163. newauth.py
  164. ninja
  165. ninja.bat
  166. ninja.py
  167. ninjalog_uploader.py
  168. OWNERS
  169. owners_client.py
  170. owners_finder.py
  171. pinpoint
  172. pinpoint.bat
  173. post_build_ninja_summary.py
  174. PRESUBMIT.py
  175. presubmit_canned_checks.py
  176. presubmit_diff.py
  177. presubmit_support.py
  178. prpc
  179. prpc.bat
  180. pylint-2.17
  181. pylint-2.17.bat
  182. pylint-2.6
  183. pylint-2.6.bat
  184. pylint-2.7
  185. pylint-2.7.bat
  186. pylint-3.2
  187. pylint-3.2.bat
  188. pylint_main.py
  189. pylintrc-2.17
  190. pylintrc-2.6
  191. pylintrc-2.7
  192. pylintrc-3.2
  193. python_runner.sh
  194. rdb
  195. rdb.bat
  196. rdb_wrapper.py
  197. README.gclient.md
  198. README.git-cl.md
  199. README.google_cloud_storage.md
  200. README.md
  201. reclient_helper.py
  202. RECLIENT_OWNERS
  203. reclientreport
  204. reclientreport.bat
  205. reclientreport.py
  206. repo
  207. repo_launcher
  208. roll-dep
  209. roll-dep.bat
  210. roll_dep.py
  211. roll_downstream_gcs_deps.py
  212. rustfmt.py
  213. scm.py
  214. setup_color.py
  215. siso
  216. siso.bat
  217. siso.py
  218. split_cl.py
  219. subcommand.py
  220. subprocess2.py
  221. swift-format
  222. swift_format.py
  223. update_depot_tools
  224. update_depot_tools.bat
  225. update_depot_tools_toggle.py
  226. upload_metrics.py
  227. upload_to_google_storage.py
  228. upload_to_google_storage_first_class.py
  229. utils.py
  230. vpython3
  231. vpython3.bat
  232. WATCHLISTS
  233. watchlists.py
  234. whitespace.txt
  235. win32imports.py
  236. yapf
  237. yapf.bat
README.md

depot_tools

Tools for working with Chromium development. It requires python 3.8.

Tools

The most important tools are:

  • fetch: A gclient wrapper to checkout a project. Use fetch --help for more details.
  • gclient: A meta-checkout tool. Think repo or git submodules, except that it support OS-specific rules, e.g. do not checkout Windows only dependencies when checking out for Android. Use gclient help for more details and README.gclient.md.
  • git cl: A code review tool to interact with Rietveld or Gerrit. Use git cl help for more details and README.git-cl.md.
  • roll-dep: A gclient dependency management tool to submit a dep roll, updating a dependency to a newer revision.

There are a lot of git utilities included.

Also, includes shell script/batch file for tools required to build chromium, e.g.

  • gn: a meta-build system that generates build files for Ninja
  • autoninja: a wrapper for siso and ninja.
  • siso: a build tool that aims to significantly speed up Chromium's build.
  • ninja: a small build system with a focus on speed. deprecated by Siso.

These shell script/batch file runs python script with python-bin/python3 that find binaries in chromium checkout, and run with proper setup/check. To use these wrappers, you need to initialize/bootstrap depot_tools (using gclient, update_depot_tools or ensure_bootstrap).

Installing

See set-up documentation.

depot_tools is also available in

These depot_tools would not be initialized/bootstrapped (i.e. no python-bin/python3 binary available), so the build tool wrapper won't work, unless it is explicitly initialized by ensure_bootstrap. Or, directly call the python script instead of using the shell script/batch file.

Updating

depot_tools updates itself automatically when running gclient tool. To disable auto update, set the environment variable DEPOT_TOOLS_UPDATE=0 or run ./update_depot_tools_toggle.py --disable.

To update package manually, run update_depot_tools.bat on Windows, or ./update_depot_tools on Linux or Mac.

Running gclient will install python3 binary.

Contributing

To contribute change for review:

git new-branch <somename>
# Hack
git add .
git commit -a -m "Fixes goat teleporting"
# find reviewers
git cl owners
git log -- <yourfiles>

# Request a review.
git cl upload -r reviewer1@chromium.org,reviewer2@chromium.org --send-mail

# Edit change description if needed.
git cl desc

# If change is approved, flag it to be committed.
git cl set-commit

# If change needs more work.
git rebase-update
...
git cl upload -t "Fixes goat teleporter destination to be Australia"

See also open bugs, open reviews, forum or report problems.

cpplint.py

Until 2018, our cpplint.py was a copy of the upstream version at https://github.com/google/styleguide/tree/gh-pages/cpplint. Unfortunately, that repository is not maintained any more. If you want to update cpplint.py in depot_tools, just upload a patch to do so. We will figure out a long-term strategy via issue https://crbug.com/916550.