Tools for working with Chromium development. It requires python 2.7 or 3.8 for python 3 support.
The most important tools are:
gclientwrapper to checkout a project. Use
fetch --helpfor 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 helpfor more details and README.gclient.md.
git cl: A code review tool to interact with Rietveld or Gerrit. Use
git cl helpfor 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.
depot_tools updates itself automatically when running
gclient tool. To disable auto update, set the environment variable
To update package manually, run
update_depot_tools.bat on Windows, or
./update_depot_tools on Linux or Mac.
On Windows only, running
gclient will install
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 firstname.lastname@example.org,email@example.com --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.
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
depot_tools, just upload a patch to do so. We will figure out a long-term strategy via issue https://crbug.com/916550.
Note that the
cpplint.py here is also used by the Tricium analyzer, so if the cpplint.py here changes, we should also update the copy used there.