build: store the patches config in a json file (#15395)
This commit is contained in:
parent
9b05381acc
commit
32ea2b67f0
3 changed files with 27 additions and 19 deletions
1
DEPS
1
DEPS
|
@ -89,6 +89,7 @@ hooks = [
|
|||
'action': [
|
||||
'python',
|
||||
'src/electron/script/apply_all_patches.py',
|
||||
'src/electron/patches/common/config.json',
|
||||
],
|
||||
},
|
||||
{
|
||||
|
|
11
patches/common/config.json
Normal file
11
patches/common/config.json
Normal 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
34
script/apply_all_patches.py
Normal file → Executable 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__':
|
||||
|
|
Loading…
Reference in a new issue