https://www.chromium.org/developers/how-tos/depottools

http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools.html

Chromiumのソースコード管理ツール、ビルドツール一式がまとまっているもの。以下のようなものが含まれる。

  • gclient: subversionとgitnのメタチェックアウトツール。repo_tool?に似ているがもっと汎用的。コードレビュー機能は持たない。
  • gcl: Rietveld?コードレビューツール。subversion用。gclツールはpresubmit scripts?を実行する。
  • git-cl: Rietveld?コードレビュールール。git用。同様にpresubmit scripts?を実行。
  • svn: Windowsのみ。
  • drover: svnのコミットを素早くrevert。
  • cpplit.py: C++のスタイルチェッカー。
  • pylint: pythonのスタイルチェッカー。
  • presubmit_support.py: PRESUBMIT.pyを実行。presubmitのチェック。
  • repo: repo
  • wtf: アクティブなgitブランチを表示。
  • weekly: 特定開発者の特定日付のチェックインログを表示。
  • git-gs: git grepのラッパー。
  • zsh-goodies: zshユーザのためのコンプリーション。

ここの情報は古くなるので実物を見るべき。

インストール

depot_toolsのインストール?を参照。

Help!

これらのツールはmanを持ってないがhelpオプションがある。全部のコマンドで試してみて。ドキュメントがおかしかったらパッチを送って。

gclient

pythonスクリプト。モジュール間の依存性管理し、別のリポジトリからソースを持ってくる。

  • 依存性はOSごとに設定可能。
  • 親依存性に関連して依存性設定可能。
  • 変数が使える。
  • チェックアウト後にフックをかけられる。
  • .gclientとDEPSはpythonスクリプト、簡単にハックできる。

.gclinetファイル

マスターファイル。実際はPythonスクリプト。以下のことを指定する。

  • solutions: 辞書の配列。フェッチするプロジェクトを指定。
  • hooks: チェックアウト同期後の追加フック。
  • target_os: ターゲットOSのオプションの配列、OS特定の依存性をフェッチ。
  • cache_dir: ボットのため、多数のワーキングセットは一つのgit cacheを使う。

solutions配列のプロジェクトはDEPSを含めることができる。.gclientは gclient config <url> または手書きで作成。

DEPSファイル

プロジェクトの依存性を指定。実際はPythonスクリプト。以下の変数を指定する。

  • deps: フェッチする子依存性の辞書。
  • deps_os: OS特定の依存性を書いたOSの辞書。フェッチする子依存性を指定。
  • vars: 定義する変数の辞書。リビジョンの束をオーバーライドするのに役立つ。
  • hooks: 同期後実行するフック。
  • use_relative_paths: 相対パスはここのディレクトリからの相対パスが指定されるべきことを指定。gclientのルートではなく。
Page last modified on August 17, 2017, at 12:44 PM
Powered by PmWiki