Edit

kc3-lang/angle/DEPS

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2021-03-29 17:31:52
    Hash : 78dde332
    Message : Move restricted traces to CIPD. All traces are now stored as DEPS entries in CIPD. The auto-generation script generates the DEPS entries. Note that we don't include DEPS in the list of generated outputs to simplify other rollers. Also we update auto-generation to include full sources list to allow 'gn analyze' to work successfully. Usees a trace fixture for common code. This will enable a more compact trace without as much repeated code. We must land a set of re-trace traces to avoid breakage. Also includes a python script for uploading new traces to CIPD. The script first checks if traces are already present in the cloud, and if so it skips the upload. It will take a while to complete as the number of traces grows larger as it takes a few seconds per trace. The traces in this patch are also re-traced to use the common fixture code instead of including duplicated code in each trace. They now form a simple common interface and the autogenerated cpp is now simply a list of properties. I've also updated the capture/replay tests to use the simpler common entry point integration. There is less auto-generated glue code now. We now use a new serialized string query extension instead of calling directly into ANGLE's internals. Also includes a docs update. The capture/replay sample is broken and we'll need to update it in a follow-up CL. Also includes a few necessary fixes to the retracing script. Bug: angleproject:5811 Change-Id: I977bc6dc56843c8966377fc445ae97e91e17319a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2797833 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>

  • DEPS
  • # This file is used to manage the dependencies of the ANGLE git repo. It is
    # used by gclient to determine what version of each dependency to check out, and
    # where.
    
    # Avoids the need for a custom root variable.
    use_relative_paths = True
    
    gclient_gn_args_file = 'build/config/gclient_args.gni'
    
    vars = {
      'android_git': 'https://android.googlesource.com',
      'chromium_git': 'https://chromium.googlesource.com',
      'chrome_internal_git': 'https://chrome-internal.googlesource.com',
      'swiftshader_git': 'https://swiftshader.googlesource.com',
    
      # This variable is overrided in Chromium's DEPS file.
      'build_with_chromium': False,
    
      # Only check out public sources by default. This can be overridden with custom_vars.
      'checkout_angle_internal': False,
    
      # Version of Chromium our Chromium-based DEPS are mirrored from.
      'chromium_revision': '9c9ca054e2bcab6580526cb3dc3715486fe34133',
      # We never want to checkout chromium,
      # but need a dummy DEPS entry for the autoroller
      'dummy_checkout_chromium': False,
    
      # Current revision of VK-GL-CTS (a.k.a dEQP).
      'vk_gl_cts_revision': 'c4e6dbe68e043d6697f60768baf5b2876c6596c6',
    
      # Current revision of googletest.
      # Note: this dep cannot be auto-rolled b/c of nesting.
      'googletest_revision': '4fe018038f87675c083d0cfb6a6b57c274fb1753',
    
      # Current revision of Chrome's third_party googletest directory. This
      # repository is mirrored as a separate repository, with separate git hashes
      # that don't match the external googletest repository or Chrome. Mirrored
      # patches will have a different git hash associated with them.
      # To roll, first get the new hash for chromium_googletest_revision from the
      # mirror of third_party/googletest located here:
      # https://chromium.googlesource.com/chromium/src/third_party/googletest/
      # Then get the new hash for googletest_revision from the root Chrome DEPS
      # file: https://source.chromium.org/chromium/chromium/src/+/master:DEPS
      'chromium_googletest_revision': 'c20c5a3085ab4d90fdb403e3ac98e7991317dd27',
    
      # Current revision of jsoncpp.
      # Note: this dep cannot be auto-rolled b/c of nesting.
      'jsoncpp_revision': '645250b6690785be60ab6780ce4b58698d884d11',
    
      # Current revision of Chrome's third_party jsoncpp directory. This repository
      # is mirrored as a separate repository, with separate git hashes that
      # don't match the external JsonCpp repository or Chrome. Mirrored patches
      # will have a different git hash associated with them.
      # To roll, first get the new hash for chromium_jsoncpp_revision from the
      # mirror of third_party/jsoncpp located here:
      # https://chromium.googlesource.com/chromium/src/third_party/jsoncpp/
      # Then get the new hash for jsoncpp_revision from the root Chrome DEPS file:
      # https://source.chromium.org/chromium/chromium/src/+/master:DEPS
      'chromium_jsoncpp_revision': '30a6ac108e24dabac7c2e0df4d33d55032af4ee7',
    
      # Current revision of patched-yasm.
      # Note: this dep cannot be auto-rolled b/c of nesting.
      'patched_yasm_revision': '720b70524a4424b15fc57e82263568c8ba0496ad',
    
      # Three lines of non-changing comments so that
      # the commit queue can handle CLs rolling catapult
      # and whatever else without interference from each other.
      'catapult_revision': 'a6cbca97d3abf6a750986b33bc918525fff22734',
    
      # Three lines of non-changing comments so that
      # the commit queue can handle CLs rolling luci-go
      # and whatever else without interference from each other.
      'luci_go': 'git_revision:34ae8f13bb2156451655ec53b360942a502469df',
    }
    
    deps = {
    
      'build': {
        'url': '{chromium_git}/chromium/src/build.git@78cec98cec2040f614be48b25b47f15cf87a3b58',
        'condition': 'not build_with_chromium',
      },
    
      'buildtools': {
        'url': '{chromium_git}/chromium/src/buildtools.git@5dbd89c9d9c0b0ff47cefdc2bc421b8c9a1c5a21',
        'condition': 'not build_with_chromium',
      },
    
      'buildtools/clang_format/script': {
        'url': '{chromium_git}/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@99803d74e35962f63a775f29477882afd4d57d94',
        'condition': 'not build_with_chromium',
      },
    
      'buildtools/linux64': {
        'packages': [
          {
            'package': 'gn/gn/linux-amd64',
            'version': 'git_revision:5667cc61018864b17542e0baff8b790f245583b0',
          }
        ],
        'dep_type': 'cipd',
        'condition': 'not build_with_chromium and host_os == "linux"',
      },
    
      'buildtools/mac': {
        'packages': [
          {
            'package': 'gn/gn/mac-${{arch}}',
            'version': 'git_revision:5667cc61018864b17542e0baff8b790f245583b0',
          }
        ],
        'dep_type': 'cipd',
        'condition': 'not build_with_chromium and host_os == "mac"',
      },
    
      'buildtools/third_party/libc++/trunk': {
        'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxx.git@8fa87946779682841e21e2da977eccfb6cb3bded',
        'condition': 'not build_with_chromium',
      },
    
      'buildtools/third_party/libc++abi/trunk': {
        'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxxabi.git@a136a3b8e91029a499ca04f94ad89143eaf5fac4',
        'condition': 'not build_with_chromium',
      },
    
      'buildtools/win': {
        'packages': [
          {
            'package': 'gn/gn/windows-amd64',
            'version': 'git_revision:5667cc61018864b17542e0baff8b790f245583b0',
          }
        ],
        'dep_type': 'cipd',
        'condition': 'not build_with_chromium and host_os == "win"',
      },
    
      'testing': {
        'url': '{chromium_git}/chromium/src/testing@d2f81203253e0c5f4dfd58f2193f315db3eb604a',
        'condition': 'not build_with_chromium',
      },
    
      'third_party/abseil-cpp': {
        'url': '{chromium_git}/chromium/src/third_party/abseil-cpp@3cd3442b05f7e5c8ee323a4f4c80436360de8880',
        'condition': 'not build_with_chromium',
      },
    
      'third_party/android_ndk': {
        'url': '{chromium_git}/android_ndk.git@27c0a8d090c666a50e40fceb4ee5b40b1a2d3f87',
        'condition': 'checkout_android and not build_with_chromium',
      },
    
      'third_party/catapult': {
        'url': '{chromium_git}/catapult.git@{catapult_revision}',
        'condition': 'not build_with_chromium',
      },
    
      # Cherry is a dEQP/VK-GL-CTS management GUI written in Go. We use it for viewing test results.
      'third_party/cherry': {
        'url': '{android_git}/platform/external/cherry@4f8fb08d33ca5ff05a1c638f04c85bbb8d8b52cc',
        'condition': 'not build_with_chromium',
      },
    
      # We never want to checkout chromium,
      # but need a dummy DEPS entry for the autoroller
      'third_party/dummy_chromium': {
        'url': '{chromium_git}/chromium/src.git@{chromium_revision}',
        'condition': 'dummy_checkout_chromium',
      },
    
      'third_party/fuchsia-sdk': {
        'url': '{chromium_git}/chromium/src/third_party/fuchsia-sdk.git@1785f0ac8e1fe81cb25e260acbe7de8f62fa3e44',
        'condition': 'checkout_fuchsia and not build_with_chromium',
      },
    
      # Closed-source OpenGL ES 1.1 Conformance tests.
      'third_party/gles1_conform': {
        'url': '{chrome_internal_git}/angle/es-cts.git@dc9f502f709c9cd88d7f8d3974f1c77aa246958e',
        'condition': 'checkout_angle_internal',
      },
    
      # glmark2 is a GPL3-licensed OpenGL ES 2.0 benchmark. We use it for testing.
      'third_party/glmark2/src': {
        'url': '{chromium_git}/external/github.com/glmark2/glmark2@9e01aef1a786b28aca73135a5b00f85c357e8f5e',
      },
    
      'third_party/googletest': {
        'url': '{chromium_git}/chromium/src/third_party/googletest@{chromium_googletest_revision}',
        'condition': 'not build_with_chromium',
      },
    
      # libjpeg_turbo is used by glmark2.
      'third_party/libjpeg_turbo': {
        'url': '{chromium_git}/chromium/deps/libjpeg_turbo.git@7b4981b6500ccba10733c352b9ed2dad14ce3c73',
        'condition': 'not build_with_chromium',
      },
    
      'third_party/libpng/src': {
        'url': '{android_git}/platform/external/libpng@094e181e79a3d6c23fd005679025058b7df1ad6c',
        'condition': 'not build_with_chromium',
      },
    
      'third_party/jsoncpp': {
        'url': '{chromium_git}/chromium/src/third_party/jsoncpp@{chromium_jsoncpp_revision}',
        'condition': 'not build_with_chromium',
       },
    
      'third_party/nasm': {
        'url': '{chromium_git}/chromium/deps/nasm.git@19f3fad68da99277b2882939d3b2fa4c4b8d51d9',
        'condition': 'not build_with_chromium',
      },
    
      'third_party/protobuf': {
        'url': '{chromium_git}/chromium/src/third_party/protobuf@52433541779c2d98b3ef98def5b06924e9ae85ba',
        'condition': 'not build_with_chromium',
      },
    
      'third_party/Python-Markdown': {
        'url': '{chromium_git}/chromium/src/third_party/Python-Markdown@2bb7b23b6398f9e79bc2fa8c6bc64a3cf1613ebf',
        'condition': 'not build_with_chromium',
      },
    
      'third_party/qemu-linux-x64': {
          'packages': [
              {
                  'package': 'fuchsia/qemu/linux-amd64',
                  'version': '9cc486c5b18a0be515c39a280ca9a309c54cf994'
              },
          ],
          'condition': 'not build_with_chromium and (host_os == "linux" and checkout_fuchsia)',
          'dep_type': 'cipd',
      },
    
      'third_party/qemu-mac-x64': {
          'packages': [
              {
                  'package': 'fuchsia/qemu/mac-amd64',
                  'version': '2d3358ae9a569b2d4a474f498b32b202a152134f'
              },
          ],
          'condition': 'not build_with_chromium and (host_os == "mac" and checkout_fuchsia)',
          'dep_type': 'cipd',
      },
    
      'third_party/rapidjson/src': {
        'url': '{chromium_git}/external/github.com/Tencent/rapidjson@7484e06c589873e1ed80382d262087e4fa80fb63',
      },
    
      'third_party/SwiftShader': {
        'url': '{swiftshader_git}/SwiftShader@4c0f888d7ef87a06dc7e6f01c3a9341aa8a826bf',
        'condition': 'not build_with_chromium',
      },
    
      'third_party/VK-GL-CTS/src': {
        'url': '{chromium_git}/external/github.com/KhronosGroup/VK-GL-CTS@{vk_gl_cts_revision}',
      },
    
      'third_party/vulkan-deps': {
        'url': '{chromium_git}/vulkan-deps@61083c4a2ae02b1b418ab63a08f7640e0ff4eba3',
        'condition': 'not build_with_chromium',
      },
    
      'third_party/vulkan_memory_allocator': {
        'url': '{chromium_git}/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator@732a76d9d3c70d6aa487216495eeb28518349c3a',
        'condition': 'not build_with_chromium',
      },
    
      'third_party/zlib': {
        'url': '{chromium_git}/chromium/src/third_party/zlib@09490503d0f201b81e03f5ca0ab8ba8ee76d4a8e',
        'condition': 'not build_with_chromium',
      },
    
      'tools/clang': {
        'url': '{chromium_git}/chromium/src/tools/clang.git@f7cbd24db389c714cb73dab518bb748f5ddbd9ca',
        'condition': 'not build_with_chromium',
      },
    
      'tools/clang/dsymutil': {
        'packages': [
          {
            'package': 'chromium/llvm-build-tools/dsymutil',
            'version': 'M56jPzDv1620Rnm__jTMYS62Zi8rxHVq7yw0qeBFEgkC',
          }
        ],
        'condition': 'checkout_mac and not build_with_chromium',
        'dep_type': 'cipd',
      },
    
      'tools/luci-go': {
        'packages': [
          {
            'package': 'infra/tools/luci/isolate/${{platform}}',
            'version': Var('luci_go'),
          },
          {
            'package': 'infra/tools/luci/isolated/${{platform}}',
            'version': Var('luci_go'),
          },
          {
            'package': 'infra/tools/luci/swarming/${{platform}}',
            'version': Var('luci_go'),
          },
        ],
        'condition': 'not build_with_chromium',
        'dep_type': 'cipd',
      },
    
      'tools/mb': {
        'url': '{chromium_git}/chromium/src/tools/mb@5a7320bb83a94ceecb4f1dfbaf3f6d613e735d61',
        'condition': 'not build_with_chromium',
      },
    
      'tools/md_browser': {
        'url': '{chromium_git}/chromium/src/tools/md_browser@60141af3603925d99bf3fb22fdfca138416339b1',
        'condition': 'not build_with_chromium',
      },
    
      'tools/memory': {
        'url': '{chromium_git}/chromium/src/tools/memory@71214b910decfe2e7cfc8b0ffc072a1b97da2d36',
        'condition': 'not build_with_chromium',
      },
    
      'tools/protoc_wrapper': {
        'url': '{chromium_git}/chromium/src/tools/protoc_wrapper@4d4e1824fc1a93147a2f640a25812d1db9d3c2d2',
        'condition': 'not build_with_chromium',
      },
    
      'tools/skia_goldctl/linux': {
          'packages': [
            {
              'package': 'skia/tools/goldctl/linux-amd64',
              'version': '0ov3TUTdHjrpXdmomZUYhtozjUPAOWj5pFnLb_wSN3cC',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_linux and not build_with_chromium',
      },
    
      'tools/skia_goldctl/win': {
          'packages': [
            {
              'package': 'skia/tools/goldctl/windows-amd64',
              'version': 'zp5Z6O5rpqU_hMlh5I1ScNM4EDY8nMpwX0uaMUAVPxcC',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_win and not build_with_chromium',
      },
    
      'tools/skia_goldctl/mac': {
          'packages': [
            {
              'package': 'skia/tools/goldctl/mac-amd64',
              'version': '4WMws6v5khG2LeD4ZoItrfEnqBtVRK9Y-f6bMccgS8wC',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_mac and not build_with_chromium',
      },
    
      # === ANGLE Restricted Trace Generated Code Start ===
      'src/tests/restricted_traces/aliexpress': {
          'packages': [
            {
                'package': 'angle/traces/aliexpress',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/among_us': {
          'packages': [
            {
                'package': 'angle/traces/among_us',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/angry_birds_2_1500': {
          'packages': [
            {
                'package': 'angle/traces/angry_birds_2_1500',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/arena_of_valor': {
          'packages': [
            {
                'package': 'angle/traces/arena_of_valor',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/asphalt_8': {
          'packages': [
            {
                'package': 'angle/traces/asphalt_8',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/avakin_life': {
          'packages': [
            {
                'package': 'angle/traces/avakin_life',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/aztec_ruins': {
          'packages': [
            {
                'package': 'angle/traces/aztec_ruins',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/brawl_stars': {
          'packages': [
            {
                'package': 'angle/traces/brawl_stars',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/bus_simulator_indonesia': {
          'packages': [
            {
                'package': 'angle/traces/bus_simulator_indonesia',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/candy_crush_500': {
          'packages': [
            {
                'package': 'angle/traces/candy_crush_500',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/car_parking_multiplayer': {
          'packages': [
            {
                'package': 'angle/traces/car_parking_multiplayer',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/clash_of_clans': {
          'packages': [
            {
                'package': 'angle/traces/clash_of_clans',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/clash_royale': {
          'packages': [
            {
                'package': 'angle/traces/clash_royale',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/cod_mobile': {
          'packages': [
            {
                'package': 'angle/traces/cod_mobile',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/coin_master': {
          'packages': [
            {
                'package': 'angle/traces/coin_master',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/dragon_ball_legends': {
          'packages': [
            {
                'package': 'angle/traces/dragon_ball_legends',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/dragon_raja': {
          'packages': [
            {
                'package': 'angle/traces/dragon_raja',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/efootball_pes_2021': {
          'packages': [
            {
                'package': 'angle/traces/efootball_pes_2021',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/egypt_1500': {
          'packages': [
            {
                'package': 'angle/traces/egypt_1500',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/eight_ball_pool': {
          'packages': [
            {
                'package': 'angle/traces/eight_ball_pool',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/extreme_car_driving_simulator': {
          'packages': [
            {
                'package': 'angle/traces/extreme_car_driving_simulator',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/fallout_shelter_online': {
          'packages': [
            {
                'package': 'angle/traces/fallout_shelter_online',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/fate_grand_order': {
          'packages': [
            {
                'package': 'angle/traces/fate_grand_order',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/fifa_mobile': {
          'packages': [
            {
                'package': 'angle/traces/fifa_mobile',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/free_fire': {
          'packages': [
            {
                'package': 'angle/traces/free_fire',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/google_maps': {
          'packages': [
            {
                'package': 'angle/traces/google_maps',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/happy_color': {
          'packages': [
            {
                'package': 'angle/traces/happy_color',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/hay_day': {
          'packages': [
            {
                'package': 'angle/traces/hay_day',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/hearthstone': {
          'packages': [
            {
                'package': 'angle/traces/hearthstone',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/hill_climb_racing': {
          'packages': [
            {
                'package': 'angle/traces/hill_climb_racing',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/junes_journey': {
          'packages': [
            {
                'package': 'angle/traces/junes_journey',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/kartrider_rush': {
          'packages': [
            {
                'package': 'angle/traces/kartrider_rush',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/klondike_adventures': {
          'packages': [
            {
                'package': 'angle/traces/klondike_adventures',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/league_of_legends_wild_rift': {
          'packages': [
            {
                'package': 'angle/traces/league_of_legends_wild_rift',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/lego_legacy': {
          'packages': [
            {
                'package': 'angle/traces/lego_legacy',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/lineage_m': {
          'packages': [
            {
                'package': 'angle/traces/lineage_m',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/magic_tiles_3': {
          'packages': [
            {
                'package': 'angle/traces/magic_tiles_3',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/manhattan_10': {
          'packages': [
            {
                'package': 'angle/traces/manhattan_10',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/manhattan_31': {
          'packages': [
            {
                'package': 'angle/traces/manhattan_31',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/marvel_contest_of_champions': {
          'packages': [
            {
                'package': 'angle/traces/marvel_contest_of_champions',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/messenger_lite': {
          'packages': [
            {
                'package': 'angle/traces/messenger_lite',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/minecraft': {
          'packages': [
            {
                'package': 'angle/traces/minecraft',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/mobile_legends': {
          'packages': [
            {
                'package': 'angle/traces/mobile_legends',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/nba2k20_800': {
          'packages': [
            {
                'package': 'angle/traces/nba2k20_800',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/one_punch_man': {
          'packages': [
            {
                'package': 'angle/traces/one_punch_man',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/plants_vs_zombies_2': {
          'packages': [
            {
                'package': 'angle/traces/plants_vs_zombies_2',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/pubg_mobile_lite': {
          'packages': [
            {
                'package': 'angle/traces/pubg_mobile_lite',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/ragnarok_m_eternal_love': {
          'packages': [
            {
                'package': 'angle/traces/ragnarok_m_eternal_love',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/raid_shadow_legends': {
          'packages': [
            {
                'package': 'angle/traces/raid_shadow_legends',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/real_commando_secret_mission': {
          'packages': [
            {
                'package': 'angle/traces/real_commando_secret_mission',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/real_cricket_20': {
          'packages': [
            {
                'package': 'angle/traces/real_cricket_20',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/real_gangster_crime': {
          'packages': [
            {
                'package': 'angle/traces/real_gangster_crime',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/rise_of_kingdoms': {
          'packages': [
            {
                'package': 'angle/traces/rise_of_kingdoms',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/romancing_saga': {
          'packages': [
            {
                'package': 'angle/traces/romancing_saga',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/rope_hero_vice_town': {
          'packages': [
            {
                'package': 'angle/traces/rope_hero_vice_town',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/saint_seiya_awakening': {
          'packages': [
            {
                'package': 'angle/traces/saint_seiya_awakening',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/shadow_fight_2': {
          'packages': [
            {
                'package': 'angle/traces/shadow_fight_2',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/sniper_3d': {
          'packages': [
            {
                'package': 'angle/traces/sniper_3d',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/standoff_2': {
          'packages': [
            {
                'package': 'angle/traces/standoff_2',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/subway_surfers': {
          'packages': [
            {
                'package': 'angle/traces/subway_surfers',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/talking_tom_hero_dash': {
          'packages': [
            {
                'package': 'angle/traces/talking_tom_hero_dash',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/temple_run_2': {
          'packages': [
            {
                'package': 'angle/traces/temple_run_2',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/temple_run_300': {
          'packages': [
            {
                'package': 'angle/traces/temple_run_300',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/trex_200': {
          'packages': [
            {
                'package': 'angle/traces/trex_200',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/whatsapp': {
          'packages': [
            {
                'package': 'angle/traces/whatsapp',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/world_of_tanks_blitz': {
          'packages': [
            {
                'package': 'angle/traces/world_of_tanks_blitz',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/world_war_doh': {
          'packages': [
            {
                'package': 'angle/traces/world_war_doh',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      'src/tests/restricted_traces/worms_zone_io': {
          'packages': [
            {
                'package': 'angle/traces/worms_zone_io',
                'version': 'version:1',
            },
          ],
          'dep_type': 'cipd',
          'condition': 'checkout_angle_internal',
      },
      # === ANGLE Restricted Trace Generated Code End ===
    }
    
    hooks = [
      # Pull clang-format binaries using checked-in hashes.
      {
        'name': 'clang_format_win',
        'pattern': '.',
        'condition': 'host_os == "win" and not build_with_chromium',
        'action': [ 'download_from_google_storage',
                    '--no_resume',
                    '--platform=win32',
                    '--no_auth',
                    '--bucket', 'chromium-clang-format',
                    '-s', 'buildtools/win/clang-format.exe.sha1',
        ],
      },
      {
        'name': 'clang_format_mac',
        'pattern': '.',
        'condition': 'host_os == "mac" and not build_with_chromium',
        'action': [ 'download_from_google_storage',
                    '--no_resume',
                    '--platform=darwin',
                    '--no_auth',
                    '--bucket', 'chromium-clang-format',
                    '-s', 'buildtools/mac/clang-format.sha1',
        ],
      },
      {
        'name': 'clang_format_linux',
        'pattern': '.',
        'condition': 'host_os == "linux" and not build_with_chromium',
        'action': [ 'download_from_google_storage',
                    '--no_resume',
                    '--platform=linux*',
                    '--no_auth',
                    '--bucket', 'chromium-clang-format',
                    '-s', 'buildtools/linux64/clang-format.sha1',
        ],
      },
      {
        'name': 'sysroot_x86',
        'pattern': '.',
        'condition': 'checkout_linux and ((checkout_x86 or checkout_x64) and not build_with_chromium)',
        'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
                   '--arch=x86'],
      },
      {
        'name': 'sysroot_x64',
        'pattern': '.',
        'condition': 'checkout_linux and (checkout_x64 and not build_with_chromium)',
        'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
                   '--arch=x64'],
      },
      {
        # Update the Windows toolchain if necessary.  Must run before 'clang' below.
        'name': 'win_toolchain',
        'pattern': '.',
        'condition': 'checkout_win and not build_with_chromium',
        'action': ['python', 'build/vs_toolchain.py', 'update', '--force'],
      },
      {
        # Update the Mac toolchain if necessary.
        'name': 'mac_toolchain',
        'pattern': '.',
        'condition': 'checkout_mac and not build_with_chromium',
        'action': ['python', 'build/mac_toolchain.py'],
      },
    
      {
        # Note: On Win, this should run after win_toolchain, as it may use it.
        'name': 'clang',
        'pattern': '.',
        'action': ['python', 'tools/clang/scripts/update.py'],
        'condition': 'not build_with_chromium',
      },
    
      {
        # Update LASTCHANGE.
        'name': 'lastchange',
        'pattern': '.',
        'condition': 'not build_with_chromium',
        'action': ['python', 'build/util/lastchange.py',
                   '-o', 'build/util/LASTCHANGE'],
      },
    
      # Pull rc binaries using checked-in hashes.
      {
        'name': 'rc_win',
        'pattern': '.',
        'condition': 'checkout_win and (host_os == "win" and not build_with_chromium)',
        'action': [ 'download_from_google_storage',
                    '--no_resume',
                    '--no_auth',
                    '--bucket', 'chromium-browser-clang/rc',
                    '-s', 'build/toolchain/win/rc/win/rc.exe.sha1',
        ],
      },
    
      {
        'name': 'fuchsia_sdk',
        'pattern': '.',
        'condition': 'checkout_fuchsia and not build_with_chromium',
        'action': [
          'python',
          'build/fuchsia/update_sdk.py',
        ],
      },
    
      # Download glslang validator binary for Linux.
      {
        'name': 'linux_glslang_validator',
        'pattern': '.',
        'condition': 'checkout_linux and not build_with_chromium',
        'action': [ 'download_from_google_storage',
                    '--no_resume',
                    '--platform=linux*',
                    '--no_auth',
                    '--bucket', 'angle-glslang-validator',
                    '-s', 'tools/glslang/glslang_validator.sha1',
        ],
      },
    
      # Download glslang validator binary for Windows.
      {
        'name': 'win_glslang_validator',
        'pattern': '.',
        'condition': 'checkout_win and not build_with_chromium',
        'action': [ 'download_from_google_storage',
                    '--no_resume',
                    '--platform=win32*',
                    '--no_auth',
                    '--bucket', 'angle-glslang-validator',
                    '-s', 'tools/glslang/glslang_validator.exe.sha1',
        ],
      },
    
      # Download flex/bison binaries for Linux.
      {
        'name': 'linux_flex_bison',
        'pattern': '.',
        'condition': 'checkout_linux and not build_with_chromium',
        'action': [ 'download_from_google_storage',
                    '--no_resume',
                    '--platform=linux*',
                    '--no_auth',
                    '--bucket', 'angle-flex-bison',
                    '-d', 'tools/flex-bison/linux/',
        ],
      },
    
      # Download flex/bison binaries for Windows.
      {
        'name': 'win_flex_bison',
        'pattern': '.',
        'condition': 'checkout_win and not build_with_chromium',
        'action': [ 'download_from_google_storage',
                    '--no_resume',
                    '--platform=win32*',
                    '--no_auth',
                    '--bucket', 'angle-flex-bison',
                    '-d', 'tools/flex-bison/windows/',
        ],
      },
    ]
    
    recursedeps = [
      'third_party/googletest',
      'third_party/jsoncpp',
      'third_party/vulkan-deps',
    ]