# DO NOT EDIT EXCEPT FOR LOCAL TESTING.
# THIS IS A GENERATED FILE.
# ALL MANUAL CHANGES WILL BE OVERWRITTEN.
# SEE http://code.google.com/p/chromium/wiki/UsingGit
# FOR HOW TO ROLL DEPS
vars = {
    'webkit_url':
         'https://chromium.googlesource.com/chromium/blink.git',
    'git_url':
         'https://chromium.googlesource.com'
}

deps = {
    'v8/build/gyp':
        Var('git_url') + '/external/gyp.git@a3e2a5caf24a1e0a45401e09ad131210bf16b852',
    'v8/buildtools':
        Var('git_url') + '/chromium/buildtools.git@fb782d4369d5ae04f17a2fceef7de5a63e50f07b',
    'v8/testing/gmock':
        Var('git_url') + '/external/googlemock.git@896ba0e03f520fb9b6ed582bde2bd00847e3c3f2',
    'v8/testing/gtest':
        Var('git_url') + '/external/googletest.git@4650552ff637bb44ecf7784060091cbed3252211',
    'v8/third_party/icu':
        Var('git_url') + '/chromium/deps/icu52.git@26d8859357ac0bfb86b939bf21c087b8eae22494',
}

deps_os = {
    'win':
    {
        'v8/third_party/cygwin':
            Var('git_url') + '/chromium/deps/cygwin.git@06a117a90c15174436bfa20ceebbfdf43b7eb820',
        'v8/third_party/python_26':
            Var('git_url') + '/chromium/deps/python_26.git@67d19f904470effe3122d27101cc5a8195abd157',
    },
}

include_rules = [
    '+include',
    '+unicode',
    '+third_party/fdlibm'
]

skip_child_includes = [
    'build',
    'third_party'
]

hooks = [
    {
    'action':
         [
    'download_from_google_storage',
    '--no_resume',
    '--platform=win32',
    '--no_auth',
    '--bucket',
    'chromium-clang-format',
    '-s',
    'v8/buildtools/win/clang-format.exe.sha1'
],
    'pattern':
         '.',
    'name':
         'clang_format_win'
},
    {
    'action':
         [
    'download_from_google_storage',
    '--no_resume',
    '--platform=darwin',
    '--no_auth',
    '--bucket',
    'chromium-clang-format',
    '-s',
    'v8/buildtools/mac/clang-format.sha1'
],
    'pattern':
         '.',
    'name':
         'clang_format_mac'
},
    {
    'action':
         [
    'download_from_google_storage',
    '--no_resume',
    '--platform=linux*',
    '--no_auth',
    '--bucket',
    'chromium-clang-format',
    '-s',
    'v8/buildtools/linux64/clang-format.sha1'
],
    'pattern':
         '.',
    'name':
         'clang_format_linux'
},
    {
    'action':
         [
    'python',
    'v8/build/gyp_v8'
],
    'pattern':
         '.'
}
]
