blob: 02b4bed10f98d548262efce85cbc692c80ef8f61 [file] [log] [blame]
#!/usr/bin/env python
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import os
import sys
from utils import commit
from utils import mojo_root_dir
from utils import system
dirs_to_clone = [
"mojo/edk",
"mojo/public",
"mojo/services/public",
"mojo/services/accessibility/public",
"mojo/services/clipboard/public",
"mojo/services/content_handler/public",
"mojo/services/geometry/public",
"mojo/services/gpu/public",
"mojo/services/input_events/public",
"mojo/services/native_viewport/public",
"mojo/services/navigation/public",
"mojo/services/surfaces/public",
"mojo/services/view_manager/public",
"mojo/services/window_manager/public",
]
cloned_dir_prefixes = {
"mojo/edk" : "third_party/mojo/src",
"mojo/public" : "third_party/mojo/src",
}
def rev(source_dir, chromium_dir):
src_commit = system(["git", "show-ref", "HEAD", "-s"], cwd=source_dir).strip()
for input_dir in dirs_to_clone:
prefix_in_chromium = cloned_dir_prefixes.get(input_dir, "")
dest_dir = os.path.join(prefix_in_chromium, input_dir)
if os.path.exists(os.path.join(chromium_dir, dest_dir)):
print "removing directory %s" % dest_dir
system(["git", "rm", "-r", dest_dir], cwd=chromium_dir)
print "cloning directory %s into %s" % (input_dir, dest_dir)
files = system(["git", "ls-files", input_dir], cwd=source_dir)
for f in files.splitlines():
# Don't copy presubmit files over since the code is read-only on the
# chromium side.
if os.path.basename(f) == "PRESUBMIT.py":
continue
dest_path = os.path.join(chromium_dir, prefix_in_chromium, f)
system(["mkdir", "-p", os.path.dirname(dest_path)])
system(["cp", os.path.join(source_dir, f), dest_path])
os.chdir(chromium_dir)
system(["git", "add", dest_dir], cwd=chromium_dir)
mojo_public_dest_dir = os.path.join(cloned_dir_prefixes.get("mojo/public"),
"mojo/public")
version_filename = os.path.join(mojo_public_dest_dir, "VERSION")
with open(version_filename, "w") as version_file:
version_file.write(src_commit)
system(["git", "add", version_filename], cwd=chromium_dir)
commit("Update mojo sdk to rev " + src_commit, cwd=chromium_dir)
if len(sys.argv) != 2:
print "usage: rev_sdk.py <chromium source dir>"
sys.exit(1)
rev(mojo_root_dir, sys.argv[1])