diff --git a/DEPS b/DEPS index 609cb29573eb..0265a3095edc 100644 --- a/DEPS +++ b/DEPS @@ -89,6 +89,7 @@ hooks = [ 'action': [ 'python', 'src/electron/script/apply_all_patches.py', + 'src/electron/patches/common/config.json', ], }, { diff --git a/patches/common/config.json b/patches/common/config.json new file mode 100644 index 000000000000..d6bec8937af2 --- /dev/null +++ b/patches/common/config.json @@ -0,0 +1,11 @@ +{ + "src/electron/patches/common/chromium": "src", + + "src/electron/patches/common/boringssl": "src/third_party/boringssl/src", + + "src/electron/patches/common/ffmpeg": "src/third_party/ffmpeg", + + "src/electron/patches/common/skia": "src/third_party/skia", + + "src/electron/patches/common/v8": "src/v8" +} diff --git a/script/apply_all_patches.py b/script/apply_all_patches.py old mode 100644 new mode 100755 index 54e69192d2c9..ec5b7dbc94b4 --- a/script/apply_all_patches.py +++ b/script/apply_all_patches.py @@ -1,35 +1,31 @@ #!/usr/bin/env python +import argparse +import json +import sys + from lib import git from lib.patches import patch_from_dir -patch_dirs = { - 'src/electron/patches/common/chromium': - 'src', - - 'src/electron/patches/common/boringssl': - 'src/third_party/boringssl/src', - - 'src/electron/patches/common/ffmpeg': - 'src/third_party/ffmpeg', - - 'src/electron/patches/common/skia': - 'src/third_party/skia', - - 'src/electron/patches/common/v8': - 'src/v8', -} - - def apply_patches(dirs): for patch_dir, repo in dirs.iteritems(): git.am(repo=repo, patch_data=patch_from_dir(patch_dir), committer_name="Electron Scripts", committer_email="scripts@electron") +def parse_args(): + parser = argparse.ArgumentParser(description='Apply Electron patches') + parser.add_argument('config', nargs='+', + type=argparse.FileType('r'), + help='patches\' config(s) in the JSON format') + return parser.parse_args() + + def main(): - apply_patches(patch_dirs) + configs = parse_args().config + for config_json in configs: + apply_patches(json.load(config_json)) if __name__ == '__main__':