2010年10月1日金曜日

Getting the Code

直接SVNから取得するとめちゃくちゃ時間がかかるとのことで、tarballを取得。

スペースのないパスに置く必要があるようで、解凍して
E:\chromiumtrunk
に配置。

1.6GBとか記載があるが、実際には830MBのchromium.r59911.tgz.tarを解凍して、2.67GB。解凍時間は約1時間。

解凍したディレクトリの中身を壊したときに、また1時間かかって解凍するのはつらいので、
E:\chromiumtrunk.r59911
として解凍済みのデータをコピーしておく。

depot toolsはスクリプトのパッケージで、SVNから取得するか、zipかtar.gzを取得でき、ここではzipで取得。
E:\depot_tools
に解凍。
ここに環境変数PATHを設定。

Check out the sources
gclient config を最初の一回だけやればワーキングディレクトリのセットアップは完了。.glientファイルがワーキングディレクトリに作成される。最初にtarballを取得していればgclient configは不要。この後は、ワーキングディレクトリのどこからでもgclient syncを実行すれば更新ができる。


最新のコードを取得
まず、Chromium Buildbot waterfallで、OPENならOK。CLOSED ならコンパイルかテストに失敗。なので、OPENかを確認してから、gclient syncを実行。

ここでは、Windowsで作業するので、Windowsの項目をみると
gclient config http://src.chromium.org/svn/trunk/src
を実行と記載があるが、最初にtarballを取得しているので、これは不要。

ちなみにgclientがある状態でgclient configを実施すると下記エラーがでる。

Error: .gclient file already exists in the current directory


CLOSEDの際に、OPENになるのを待たなくてもよいように回避方法が用意されている。
下記(1)と(2)のようにgclient syncの第二URLを指定することで、「ほとんど最新の緑」のリビジョンが取得できる。

(1)ユニットテスト(デバッグモード)が通った最新のリビジョンを取得する場合(プラットフォーム固有のレイアウトテストの完了は未確認)
gclient config http://src.chromium.org/svn/trunk/src http://chromium-status.appspot.com/lkgr

(2)ユニットテスト、および各プラットフォーム固有のレイアウトテストが通った、最新のリビジョンを取得(レイアウトテストは時間がかかるため1時間かそれ以上古いリビジョンになる)
上記の例の第二URLを下記に変える
http://build.chromium.org/buildbot/continuous/linux/LATEST/REVISION
http://build.chromium.org/buildbot/continuous/mac/LATEST/REVISION
http://build.chromium.org/buildbot/continuous/win/LATEST/REVISION


この設定を上書きしたい場合は
コマンドライン上で、下記を実施。

gclient sync --head



現在(2010/09/26 20:09)は赤(Tree is closed)。ここでは、ユニットテスト版のみ通ったものを取得。
.glientファイルを下記

solutions = [
  { "name" : "src",
    "url"  : "http://src.chromium.org/svn/trunk/src",
    "safesync_url" : "http://chromium-status.appspot.com/lkgr"
  },
]

のようにしても同様とのことで、既存の.glientファイルのurlの行の直下に、下記
"safesync_url" : "http://chromium-status.appspot.com/lkgr",

を追加して

cd e:\chromiumtrunk_LKGR
gclient sync

を実施。30分ほどで完了。

最後に

gclient runhooks
でVisualStudioのslnファイルやプロジェクトファイルを更新。


なお、最初にtarballを取得しないですべてのファイルを直接取得する場合は、
gclient config
で.gclientファイルを生成してから
gclient sync

このとき、アンチウイルスソフト(実際にはAviraを使用)が誤検出したため取得に失敗。取得先のフォルダを検出の対象外に設定すれば問題なく取得できた。

tarballを使わないで職説取得するとslnファイル等ないため、
gclient runhooks
でslnファイル等を自動生成


現在(2010/10/01)のバージョンである"6.0.472.63"を取得する場合は

E:\chromiumtrunk_v6.0.472.63>gclient config http://src.chromium.org/svn/releases/6.0.472.63
すると.gclientファイルが生成される


solutions = [
  { "name"        : "6.0.472.63",
    "url"         : "http://src.chromium.org/svn/releases/6.0.472.63",
    "custom_deps" : {
    },
    "safesync_url": "",
  },
]

その後、
gclient sync
および
gclient runhooks
でOK。

0 件のコメント:

コメントを投稿