build: store the patches config in a json file (#15395)

This commit is contained in:
Alexey Kuzmin 2018-11-05 17:31:28 +01:00 committed by GitHub
parent 9b05381acc
commit 32ea2b67f0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 19 deletions

1
DEPS
View file

@ -89,6 +89,7 @@ hooks = [
'action': [
'python',
'src/electron/script/apply_all_patches.py',
'src/electron/patches/common/config.json',
],
},
{

View file

@ -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"
}

34
script/apply_all_patches.py Normal file → Executable file
View file

@ -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__':