80174583bd
With help from hinoka@, we're now using a more efficient approach to download only the files that have changed from Google Storge. When uploading new resource files, use upload_to_google_storage.py --bucket chromium-webrtc-resources ./filename which of course requires gsutil authentication setup. NOTICE: Before deploying this, svn:ignore should be removed for the resources folder, or the bots will run into problems with a non-versioned file being found in the checkout during sync (as this CL adds resources to version control). All developers will also need to be informed to wipe their local resources dir to avoid getting an error during checkout due to the already existing non-versioned resources directory. BUG=2294 TEST=locally running gclient runhooks R=andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2095004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5076 4adac7df-926f-26a2-2b94-8c16560cd09d
242 lines
8.1 KiB
Python
242 lines
8.1 KiB
Python
use_relative_paths = True
|
|
|
|
vars = {
|
|
# Override root_dir in your .gclient's custom_vars to specify a custom root
|
|
# folder name.
|
|
"root_dir": "trunk",
|
|
"extra_gyp_flag": "-Dextra_gyp_flag=0",
|
|
|
|
# Use this googlecode_url variable only if there is an internal mirror for it.
|
|
# If you do not know, use the full path while defining your new deps entry.
|
|
"googlecode_url": "http://%s.googlecode.com/svn",
|
|
"sourceforge_url": "http://svn.code.sf.net/p/%(repo)s/code",
|
|
"chromium_trunk" : "http://src.chromium.org/svn/trunk",
|
|
"chromium_revision": "231713",
|
|
|
|
# A small subset of WebKit is needed for the Android Python test framework.
|
|
"webkit_trunk": "http://src.chromium.org/blink/trunk",
|
|
}
|
|
|
|
# NOTE: Prefer revision numbers to tags for svn deps. Use http rather than
|
|
# https; the latter can cause problems for users behind proxies.
|
|
deps = {
|
|
"../chromium_deps":
|
|
File(Var("chromium_trunk") + "/src/DEPS@" + Var("chromium_revision")),
|
|
|
|
"build":
|
|
Var("chromium_trunk") + "/src/build@" + Var("chromium_revision"),
|
|
|
|
# Needed by common.gypi.
|
|
"google_apis/build":
|
|
Var("chromium_trunk") + "/src/google_apis/build@" + Var("chromium_revision"),
|
|
|
|
"testing":
|
|
Var("chromium_trunk") + "/src/testing@" + Var("chromium_revision"),
|
|
|
|
"testing/gmock":
|
|
From("chromium_deps", "src/testing/gmock"),
|
|
|
|
"testing/gtest":
|
|
From("chromium_deps", "src/testing/gtest"),
|
|
|
|
"third_party/expat":
|
|
Var("chromium_trunk") + "/src/third_party/expat@" + Var("chromium_revision"),
|
|
|
|
# When rolling gflags, also update deps/third_party/webrtc/webrtc.DEPS/DEPS
|
|
# in Chromium's repo.
|
|
"third_party/gflags/src":
|
|
(Var("googlecode_url") % "gflags") + "/trunk/src@84",
|
|
|
|
"third_party/icu/":
|
|
From("chromium_deps", "src/third_party/icu"),
|
|
|
|
"third_party/jsoncpp/":
|
|
Var("chromium_trunk") + "/src/third_party/jsoncpp@" + Var("chromium_revision"),
|
|
|
|
"third_party/jsoncpp/source":
|
|
(Var("sourceforge_url") % {"repo": "jsoncpp"}) + "/trunk/jsoncpp@248",
|
|
|
|
"third_party/junit/":
|
|
(Var("googlecode_url") % "webrtc") + "/deps/third_party/junit@3367",
|
|
|
|
"third_party/libjpeg":
|
|
Var("chromium_trunk") + "/src/third_party/libjpeg@" + Var("chromium_revision"),
|
|
|
|
"third_party/libjpeg_turbo":
|
|
From("chromium_deps", "src/third_party/libjpeg_turbo"),
|
|
|
|
"third_party/libsrtp/":
|
|
From("chromium_deps", "src/third_party/libsrtp"),
|
|
|
|
"third_party/libvpx":
|
|
Var("chromium_trunk") + "/deps/third_party/libvpx@225010",
|
|
|
|
"third_party/libyuv":
|
|
(Var("googlecode_url") % "libyuv") + "/trunk@832",
|
|
|
|
"third_party/opus":
|
|
Var("chromium_trunk") + "/src/third_party/opus@185405",
|
|
|
|
"third_party/opus/src":
|
|
Var("chromium_trunk") + "/deps/third_party/opus@185324",
|
|
|
|
"third_party/protobuf":
|
|
Var("chromium_trunk") + "/src/third_party/protobuf@" + Var("chromium_revision"),
|
|
|
|
"third_party/sqlite/":
|
|
Var("chromium_trunk") + "/src/third_party/sqlite@" + Var("chromium_revision"),
|
|
|
|
"third_party/yasm":
|
|
Var("chromium_trunk") + "/src/third_party/yasm@" + Var("chromium_revision"),
|
|
|
|
"third_party/yasm/source/patched-yasm":
|
|
From("chromium_deps", "src/third_party/yasm/source/patched-yasm"),
|
|
|
|
"tools/clang":
|
|
Var("chromium_trunk") + "/src/tools/clang@" + Var("chromium_revision"),
|
|
|
|
"tools/gyp":
|
|
From("chromium_deps", "src/tools/gyp"),
|
|
|
|
"tools/protoc_wrapper":
|
|
Var("chromium_trunk") + "/src/tools/protoc_wrapper@" + Var("chromium_revision"),
|
|
|
|
"tools/python":
|
|
Var("chromium_trunk") + "/src/tools/python@" + Var("chromium_revision"),
|
|
|
|
"tools/sharding_supervisor":
|
|
Var("chromium_trunk") + "/src/tools/sharding_supervisor@" + Var("chromium_revision"),
|
|
|
|
"tools/swarm_client":
|
|
Var("chromium_trunk") + "/tools/swarm_client@" + Var("chromium_revision"),
|
|
|
|
"tools/valgrind":
|
|
Var("chromium_trunk") + "/src/tools/valgrind@" + Var("chromium_revision"),
|
|
|
|
# Needed by build/common.gypi.
|
|
"tools/win/supalink":
|
|
Var("chromium_trunk") + "/src/tools/win/supalink@" + Var("chromium_revision"),
|
|
}
|
|
|
|
deps_os = {
|
|
"win": {
|
|
# Use our own, stripped down, version of Cygwin (required by GYP).
|
|
"third_party/cygwin":
|
|
(Var("googlecode_url") % "webrtc") + "/deps/third_party/cygwin@2672",
|
|
|
|
"third_party/winsdk_samples/src":
|
|
(Var("googlecode_url") % "webrtc") + "/deps/third_party/winsdk_samples_v71@3145",
|
|
|
|
# Used by libjpeg-turbo.
|
|
"third_party/yasm/binaries":
|
|
From("chromium_deps", "src/third_party/yasm/binaries"),
|
|
|
|
# NSS, for SSLClientSocketNSS.
|
|
"third_party/nss":
|
|
From("chromium_deps", "src/third_party/nss"),
|
|
|
|
# SyzyASan to make it possible to run tests under ASan on Windows.
|
|
"third_party/syzygy/binaries":
|
|
From("chromium_deps", "src/third_party/syzygy/binaries"),
|
|
},
|
|
|
|
"mac": {
|
|
# NSS, for SSLClientSocketNSS.
|
|
"third_party/nss":
|
|
From("chromium_deps", "src/third_party/nss"),
|
|
|
|
# TODO(fischman): delete this in favor of the copy in "ios" below, once the
|
|
# webrtc iOS bots are fixed to target_os=['ios'] in their .gclient
|
|
# https://code.google.com/p/webrtc/issues/detail?id=2152
|
|
"net/third_party/nss":
|
|
Var("chromium_trunk") + "/src/net/third_party/nss@" + Var("chromium_revision"),
|
|
},
|
|
|
|
"ios": {
|
|
# NSS, for SSLClientSocketNSS.
|
|
"third_party/nss":
|
|
From("chromium_deps", "src/third_party/nss"),
|
|
|
|
"net/third_party/nss":
|
|
Var("chromium_trunk") + "/src/net/third_party/nss@" + Var("chromium_revision"),
|
|
|
|
# class-dump utility to generate header files for undocumented SDKs.
|
|
"testing/iossim/third_party/class-dump":
|
|
From("chromium_deps", "src/testing/iossim/third_party/class-dump"),
|
|
|
|
# Helper for running under the simulator.
|
|
"testing/iossim":
|
|
Var("chromium_trunk") + "/src/testing/iossim@" + Var("chromium_revision"),
|
|
},
|
|
|
|
"unix": {
|
|
"third_party/gold":
|
|
From("chromium_deps", "src/third_party/gold"),
|
|
|
|
"third_party/openssl":
|
|
From("chromium_deps", "src/third_party/openssl"),
|
|
},
|
|
"android": {
|
|
# Precompiled tools needed for Android test execution. Needed since we can't
|
|
# compile them from source in WebRTC since they depend on Chromium's base.
|
|
"tools/android":
|
|
(Var("googlecode_url") % "webrtc") + "/deps/tools/android@4258",
|
|
|
|
"third_party/android_tools":
|
|
From("chromium_deps", "src/third_party/android_tools"),
|
|
|
|
"third_party/android_testrunner":
|
|
Var("chromium_trunk") + "/src/third_party/android_testrunner@" + Var("chromium_revision"),
|
|
|
|
"third_party/WebKit/Tools/Scripts":
|
|
Var("webkit_trunk") + "/Tools/Scripts@151677",
|
|
|
|
"third_party/openssl":
|
|
From("chromium_deps", "src/third_party/openssl"),
|
|
},
|
|
}
|
|
|
|
hooks = [
|
|
{
|
|
# Create a supplement.gypi file under trunk/webrtc. This file will be picked
|
|
# up by gyp and used to enable the standalone build.
|
|
"pattern": ".",
|
|
"action": ["python", Var("root_dir") + "/tools/create_supplement_gypi.py",
|
|
Var("root_dir") + "/webrtc/supplement.gypi"],
|
|
},
|
|
{
|
|
# Pull clang on mac. If nothing changed, or on non-mac platforms, this takes
|
|
# zero seconds to run. If something changed, it downloads a prebuilt clang.
|
|
"pattern": ".",
|
|
"action": ["python", Var("root_dir") + "/tools/clang/scripts/update.py",
|
|
"--mac-only"],
|
|
},
|
|
{
|
|
# Update the cygwin mount on Windows.
|
|
# This is necessary to get the correct mapping between e.g. /bin and the
|
|
# cygwin path on Windows. Without it we can't run bash scripts in actions.
|
|
# Ideally this should be solved in "pylib/gyp/msvs_emulation.py".
|
|
"pattern": ".",
|
|
"action": ["python", Var("root_dir") + "/build/win/setup_cygwin_mount.py",
|
|
"--win-only"],
|
|
},
|
|
{
|
|
# Download test resources, i.e. video and audio files from Google Storage.
|
|
"pattern": "\\.sha1",
|
|
"action": ["download_from_google_storage",
|
|
"--directory",
|
|
"--recursive",
|
|
"--num_threads=10",
|
|
"--bucket", "chromium-webrtc-resources",
|
|
Var("root_dir") + "/resources"],
|
|
},
|
|
{
|
|
# A change to a .gyp, .gypi, or to GYP itself should run the generator.
|
|
"pattern": ".",
|
|
"action": ["python", Var("root_dir") + "/build/gyp_chromium",
|
|
"--depth=" + Var("root_dir"), Var("root_dir") + "/all.gyp",
|
|
Var("extra_gyp_flag")],
|
|
},
|
|
]
|
|
|