# Copyright (c) 2012 Google Inc. 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 re import shutil prefixes = ["../third_party/WebKit/Source/WebCore/platform/graphics/chromium", "../third_party/WebKit/Source/WebCore/platform/graphics/chromium/cc", "../third_party/WebKit/Source/WebKit/chromium/tests"] def Copy(name): src = name dst = name if name.startswith("test/"): src = src[5:] fullsrc = "" for prefix in prefixes: candidate = "%s/%s" % (prefix, src) if os.path.exists(candidate): fullsrc = candidate break assert fullsrc != "" shutil.copyfile(fullsrc, dst) print "copying from %s to %s" % (fullsrc, dst) return dst def FixCopyrightHeaderText(text, year): header_template = """// Copyright %s 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. """ while text[0].find(" */") == -1: text = text[1:] text = text[1:] return (header_template % year) + "".join(text) def FixCopyrightHeader(filepath): with open(filepath, "r") as f: text = f.readlines() if filepath.endswith("CCPageScaleAnimation.cpp"): year = 2012 else: pattern = ".*Copyright \(C\) (20[01][0-9])" m = re.match(pattern, text[0]) if m == None: m = re.match(pattern, text[1]) assert m year = m.group(1) fixed_text = FixCopyrightHeaderText(text, year) with open(filepath, "w") as f: f.write(fixed_text) def Readfile(gypfile): with open(gypfile, "r") as cc_gyp: obj = eval(cc_gyp.read()) return obj def CopyFiles(files): for f in files: dst = Copy(f) FixCopyrightHeader(dst) def Main(): CopyFiles(Readfile("cc.gyp")['variables']['cc_source_files']) CopyFiles(Readfile("cc_tests.gyp")['variables']['cc_tests_source_files']) CopyFiles(Readfile("cc_tests.gyp")['variables']['cc_tests_support_files']) if __name__ == '__main__': import sys os.chdir(os.path.dirname(__file__)) sys.exit(Main())