use_relative_paths = True

vars = {
  'chromium_git': 'https://chromium.googlesource.com',
  'pdfium_git': 'https://pdfium.googlesource.com',

  'buildtools_revision': 'c2f259809d5ede3275df5ea0842f0431990c4f98',
  'cygwin_revision': 'c89e446b273697fadf3a10ff1007a97c0b7de6df',
  'gmock_revision': '29763965ab52f24565299976b936d1265cb6a271',
  'gtest_revision': '8245545b6dc9c4703e6496d1efd19e975ad2b038',
  'icu_revision': '8d342a405be5ae8aacb1e16f0bc31c3a4fbf26a2',
  'pdfium_tests_revision': 'bafb069353f96d441c6a37786d18cd9f5407937f',
  'skia_revision': 'ed854fb897fa134f2f64738a75293502fdcf1af2',
  'trace_event_revision': 'd83d44b13d07c2fd0a40101a7deef9b93b841732',
  'v8_revision': '3c3d7e7be80f45eeea0dc74a71d7552e2afc2985',

}

deps = {
  "build/gyp":
    Var('chromium_git') + "/external/gyp",

  "buildtools":
    Var('chromium_git') + "/chromium/buildtools.git@" + Var('buildtools_revision'),

  "testing/corpus":
    Var('pdfium_git') + "/pdfium_tests@" + Var('pdfium_tests_revision'),

  "testing/gmock":
    Var('chromium_git') + "/external/googlemock.git@" + Var('gmock_revision'),

  "testing/gtest":
    Var('chromium_git') + "/external/googletest.git@" + Var('gtest_revision'),

  "third_party/skia":
    Var('chromium_git') + '/skia.git' + '@' +  Var('skia_revision'),

  "tools/clang":
    Var('chromium_git') + "/chromium/src/tools/clang",

  "v8":
    Var('chromium_git') + "/v8/v8.git@" + Var('v8_revision'),

  "v8/base/trace_event/common":
    Var('chromium_git') + "/chromium/src/base/trace_event/common.git@" + Var('trace_event_revision'),

  "v8/third_party/icu":
    Var('chromium_git') + "/chromium/deps/icu.git@" + Var('icu_revision'),
}

deps_os = {
  "win": {
    "v8/third_party/cygwin":
      Var('chromium_git') + "/chromium/deps/cygwin@" + Var('cygwin_revision'),
  },
}

include_rules = [
  # Basic stuff that everyone can use.
  # Note: public is not here because core cannot depend on public.
  '+testing',
  '+third_party/base',
]

hooks = [
  {
    # A change to a .gyp, .gypi, or to GYP itself should run the generator.
    'name': 'gyp',
    'pattern': '.',
    'action': ['python', 'pdfium/build/gyp_pdfium'],
  },
  # Pull clang-format binaries using checked-in hashes.
  {
    'name': 'clang_format_win',
    'pattern': '.',
    'action': [ 'download_from_google_storage',
                '--no_resume',
                '--platform=win32',
                '--no_auth',
                '--bucket', 'chromium-clang-format',
                '-s', 'pdfium/buildtools/win/clang-format.exe.sha1',
    ],
  },
  {
    'name': 'clang_format_mac',
    'pattern': '.',
    'action': [ 'download_from_google_storage',
                '--no_resume',
                '--platform=darwin',
                '--no_auth',
                '--bucket', 'chromium-clang-format',
                '-s', 'pdfium/buildtools/mac/clang-format.sha1',
    ],
  },
  {
    'name': 'clang_format_linux',
    'pattern': '.',
    'action': [ 'download_from_google_storage',
                '--no_resume',
                '--platform=linux*',
                '--no_auth',
                '--bucket', 'chromium-clang-format',
                '-s', 'pdfium/buildtools/linux64/clang-format.sha1',
    ],
  },
  {
    # Pull clang if needed or requested via GYP_DEFINES.
    'name': 'clang',
    'pattern': '.',
    'action': ['python', 'pdfium/tools/clang/scripts/update.py', '--if-needed'],
  },
]
