
import gclient_utils
import os

path = gclient_utils.FindGclientRoot(os.getcwd())
execfile(os.path.join(path, 'src', 'dart', 'tools', 'deps', 'dartium.deps', 'DEPS.chromium')) # Include proper Chromium DEPS.

# Now we need to override some settings and add some new ones.

vars.update({
  "chromium_url": "http://src.chromium.org/svn",
  "dartium_base": "http://src.chromium.org",
  "dartium_chromium_branch": "master",
  "dartium_chromium_commit": "62a7524d4f71c9e0858d24b0aa1bbff3a2d09bff",
  "chromium_base_revision": "297060",
  "dartium_webkit_branch": "/blink/branches/dart/2171_4",
  "dartium_webkit_revision": "202694",

  # We use mirrors of all github repos to guarantee reproducibility and
  # consistency between what users see and what the bots see.
  # We need the mirrors to not have 100+ bots pulling github constantly.
  # We mirror our github repos on chromium git servers.
  # DO NOT use this var if you don't see a mirror here:
  #   https://chromium.googlesource.com/
  # named like:
  #   external/github.com/dart-lang/NAME
  # It is ok to add a dependency directly on dart-lang (dart-lang only)
  # github repo until the mirror has been created, but please do file a bug
  # against infra to make that happen.
  "github_mirror":
      "https://chromium.googlesource.com/external/github.com/dart-lang/%s.git",

  "args_tag": "@0.13.0",
  "barback_rev" : "@29ee90dbcf77cfd64632fa2797a4c8a4f29a4b51",
  "charcode_tag": "@1.1.0",
  "collection_rev": "@1da9a07f32efa2ba0c391b289e2037391e31da0e",
  "crypto_rev" : "@2df57a1e26dd88e8d0614207d4b062c73209917d",
  "csslib_tag" : "@0.12.0",
  "dart2js_info_rev" : "@c4ad464717e3a304fb0d44a6937c25ff2049b863",
  "glob_rev": "@704cf75e4f26b417505c5c611bdaacd8808467dd",
  "html_tag" : "@0.12.1+1",
  "http_rev" : "@9b93e1542c753090c50b46ef1592d44bc858bfe7",
  "http_multi_server_tag" : "@1.3.2",
  "http_parser_rev" : "@8b179e36aba985208e4c5fb15cfddd386b6370a4",
  "http_throttle_rev" : "@a81f08be942cdd608883c7b67795c12226abc235",
  "json_rpc_2_rev": "@a38eefd116d910199de205f962af92fed87c164c",
  "logging_rev": "@85d83e002670545e9039ad3985f0018ab640e597",
  "matcher_tag": "@0.12.0",
  "mime_rev": "@75890811d4af5af080351ba8a2853ad4c8df98dd",
  "metatest_rev": "@e5aa8e4e19fc4188ac2f6d38368a47d8f07c3df1",
  "oauth2_rev": "@1bff41f4d54505c36f2d1a001b83b8b745c452f5",
  "observatory_pub_packages_rev": "@5c199c5954146747f75ed127871207718dc87786",
  "package_config_rev": "@0.1.3",
  "path_rev": "@b657c0854d1cf41c014986fa9d2321f1173df805",
  "plugin_tag": "@0.1.0",
  "pool_rev": "@22e12aeb16ad0b626900dbe79e4a25391ddfb28c",
  "pub_rev": "@9d707158fedc86fc2b02f62cdfe804902b098d9d",
  "pub_semver_tag": "@1.2.0",
  "shelf_rev": "@1e87b79b21ac5e6fa2f93576d6c06eaa65285ef4",
  "shelf_web_socket_rev": "@ff170cec2c0e4e5722cdf47c557be63b5035a602",
  "source_span_rev": "@42501132e43599a151ba6727d340e44442f86c05",
  "stack_trace_tag": "@1.2.1",
  "string_scanner_rev": "@3e7617d6f74ba382e9b6130b1cc12091d89a9bc5",
  "test_tag": "@0.12.1",
  "unittest_tag": "@0.11.6",
  "utf_rev": "@1f55027068759e2d52f2c12de6a57cce5f3c5ee6",
  "watcher_tag": "@0.9.5",
  "yaml_rev": "@563a5ffd4a800a2897b8f4dd6b19f2a370df2f2b",
  "zlib_rev": "@c3d0a6190f2f8c924a05ab6cc97b8f975bddd33f",
  "web_components_rev": "@0e636b534d9b12c9e96f841e6679398e91a986ec",

  "co19_rev": "@ead3698f33d2cd41e75b6ce5d4a1203767cedd50",
  "fake_async_rev": "@38614",
})

def massage_deps(deps):
  for key, value in deps.items():
    if value is None: continue

    if value.startswith('/trunk'):
      deps[key] = Var("chromium_url") + value
      continue

    if value.startswith(Var("webkit_trunk")):
      path, revision = value.split('@') # and svn revision.
      path = path[len(Var("webkit_trunk")):]  # Strip WebKit repo.
      value = (Var("dartium_base") + Var("dartium_webkit_branch") + path +
               '@' + Var("dartium_webkit_revision"))
      deps[key] = value
      continue

massage_deps(deps)
for os_deps in deps_os.values():
  massage_deps(os_deps)

deps.update({
  "src":
    Var("chromium_git") + "/dart/dartium/src.git" + "@" +
        Var("dartium_chromium_commit"),

  "src/third_party/WebKit":
    Var("dartium_base") + Var("dartium_webkit_branch") + "@" +
        Var("dartium_webkit_revision"),

  "src/dart/third_party/pkg/args":
      (Var("github_mirror") % "args") + Var("args_tag"),
  "src/dart/third_party/pkg/barback":
      (Var("github_mirror") % "barback") + Var("barback_rev"),
  "src/dart/third_party/pkg/charcode":
      (Var("github_mirror") % "charcode") + Var("charcode_tag"),
  "src/dart/third_party/pkg/crypto":
      (Var("github_mirror") % "crypto") + Var("crypto_rev"),
  "src/dart/third_party/pkg/csslib":
      (Var("github_mirror") % "csslib") + Var("csslib_tag"),
  "src/dart/third_party/pkg/dart2js_info":
      (Var("github_mirror") % "dart2js_info") + Var("dart2js_info_rev"),
  "src/dart/third_party/pkg/collection":
      (Var("github_mirror") % "collection") + Var("collection_rev"),
  "src/dart/third_party/pkg/glob":
      (Var("github_mirror") % "glob") + Var("glob_rev"),
  "src/dart/third_party/pkg/html":
      (Var("github_mirror") % "html") + Var("html_tag"),
  "src/dart/third_party/pkg/json_rpc_2":
      (Var("github_mirror") % "json_rpc_2") + Var("json_rpc_2_rev"),
  "src/dart/third_party/pkg/http":
      (Var("github_mirror") % "http") + Var("http_rev"),
  "src/dart/third_party/pkg/http_multi_server":
      (Var("github_mirror") % "http_multi_server") +
      Var("http_multi_server_tag"),
  "src/dart/third_party/pkg/http_parser":
      (Var("github_mirror") % "http_parser") + Var("http_parser_rev"),
  "src/dart/third_party/pkg/http_throttle":
      (Var("github_mirror") % "http_throttle") + Var("http_throttle_rev"),
  "src/dart/third_party/pkg/logging":
      (Var("github_mirror") % "logging") + Var("logging_rev"),
  "src/dart/third_party/pkg/matcher":
      (Var("github_mirror") % "matcher") + Var("matcher_tag"),
  "src/dart/third_party/pkg/metatest":
      (Var("github_mirror") % "metatest") + Var("metatest_rev"),
  "src/dart/third_party/pkg/mime":
      (Var("github_mirror") % "mime") + Var("mime_rev"),
  "src/dart/third_party/pkg/oauth2":
      (Var("github_mirror") % "oauth2") + Var("oauth2_rev"),
  "src/dart/third_party/observatory_pub_packages":
      (Var("github_mirror") % "observatory_pub_packages") +
      Var("observatory_pub_packages_rev"),
  "src/dart/third_party/pkg/package_config":
      (Var("github_mirror") % "package_config") + Var("package_config_rev"),
  "src/dart/third_party/pkg/path":
      (Var("github_mirror") % "path") + Var("path_rev"),
  "src/dart/third_party/pkg/plugin":
      (Var("github_mirror") % "plugin") + Var("plugin_tag"),
  "src/dart/third_party/pkg/pool":
      (Var("github_mirror") % "pool") + Var("pool_rev"),
  "src/dart/third_party/pkg/pub":
      (Var("github_mirror") % "pub") + Var("pub_rev"),
  "src/dart/third_party/pkg/pub_semver":
      (Var("github_mirror") % "pub_semver") + Var("pub_semver_tag"),
  "src/dart/third_party/pkg/shelf":
      (Var("github_mirror") % "shelf") + Var("shelf_rev"),
  "src/dart/third_party/pkg/shelf_web_socket":
      (Var("github_mirror") % "shelf_web_socket") + Var("shelf_web_socket_rev"),
  "src/dart/third_party/pkg/source_span":
      (Var("github_mirror") % "source_span") + Var("source_span_rev"),
  "src/dart/third_party/pkg/stack_trace":
      (Var("github_mirror") % "stack_trace") + Var("stack_trace_tag"),
  "src/dart/third_party/pkg/string_scanner":
      (Var("github_mirror") % "string_scanner") + Var("string_scanner_rev"),
  "src/dart/third_party/pkg/test":
      (Var("github_mirror") % "test") + Var("test_tag"),
  "src/dart/third_party/pkg/utf":
      (Var("github_mirror") % "utf") + Var("utf_rev"),
  "src/dart/third_party/pkg/watcher":
      (Var("github_mirror") % "watcher") + Var("watcher_tag"),
  "src/dart/third_party/pkg/web_components":
      (Var("github_mirror") % "web-components") + Var("web_components_rev"),
  "src/dart/third_party/pkg/yaml":
      (Var("github_mirror") % "yaml") + Var("yaml_rev"),

  # TODO(sigmund): should be src/dart/third_party/pkg/unittest (dartbug.com/21949)
  "src/dart/pkg/unittest":
      (Var("github_mirror") % "test") + Var("unittest_tag"),

  "src/dart/third_party/WebCore":
    "http://dart.googlecode.com/svn/third_party/WebCore",

  "src/dart/third_party/pkg/fake_async":
    "http://dart.googlecode.com/svn/third_party/fake_async" +
    Var("fake_async_rev"),

  "src/dart/tests/co19/src":
      (Var("github_mirror") % "co19") + Var("co19_rev"),

  "src/dart/third_party/zlib":
      Var("chromium_git") + "/chromium/src/third_party/zlib.git" +
      Var("zlib_rev"),
})

deps_os['win'].update({
  "src/chrome/tools/test/reference_build/chrome_win": None
})
deps_os['mac'].update({
  "src/chrome/tools/test/reference_build/chrome_mac": None
})
deps_os['unix'].update({
  "src/chrome/tools/test/reference_build/chrome_linux": None
})

hooks[0:0] = [{
    "pattern": "dart",
    "action": ["python", "src/dart/tools/dartium/generate_dart_vm_version.py"],
  }]

hooks.append({
  # Set the revision for a lazily downloaded reference build of chromium,
  # with which to run perf tests.
  'name': 'set_reference_build',
  'pattern': '.',
  'action': ['python',
             'src/dart/tools/bots/set_reference_build_revision.py',
             Var('chromium_base_revision')],
})
hooks.append({
  # Peg the blink version number in LASTCHANGE.blink to be the upstream
  # webkit_revision number so that chrome remote devtools pulls assets from
  # the right place.
  "name": "lastchange",
  "pattern": ".",
  "action": ["python", "-c",
      "f=open('src/build/util/LASTCHANGE.blink','w'); f.write('LASTCHANGE=" +
      Var('webkit_revision') + "\\n')" ],
})
hooks.append({
  "name": "checked_in_dart_binaries",
  "pattern": ".",
  "action": [
    "download_from_google_storage",
    "--no_auth",
    "--no_resume",
    "--bucket",
    "dart-dependencies",
    "--recursive",
    "--directory",
    "src/dart/tools/testing/bin",
  ],
})
hooks.append({
  "name": "checked_in_dart_sdks",
  "pattern": ".",
  "action": [
    "download_from_google_storage",
    "--no_auth",
    "--no_resume",
    "--bucket",
    "dart-dependencies",
    "--recursive",
    "--auto_platform",
    "--extract",
    "--directory",
    "src/dart/tools/sdks",
  ],
})
