You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#!/usr/bin/env python3
import os import json import re import sys
if len(sys.argv) == 1 or not sys.argv[1]: raise SystemExit('Build dir missing.')
proj_dir = os.path.join(os.path.split(os.path.abspath(__file__))[0], '..') build_dir = os.path.abspath(sys.argv[1])
version = '' with open(os.path.join(proj_dir, 'dist', 'version')) as f: version = f.read().strip()
# Import data from chromium platform chromium_manifest = {} opera_manifest = {}
chromium_manifest_file = os.path.join(proj_dir, 'platform', 'chromium', 'manifest.json') with open(chromium_manifest_file) as f1: chromium_manifest = json.load(f1)
# WebExtension opera_manifest_add_file = os.path.join(proj_dir, 'platform', 'opera', 'manifest-add.json') with open(opera_manifest_add_file) as f2: opera_manifest = json.load(f2)
for key in chromium_manifest: if key not in opera_manifest: opera_manifest[key] = chromium_manifest[key]
# Development build? If so, modify name accordingly. match = re.search('^(\d+\.\d+\.\d+)(\.|b|rc)(\d+)$', version) if match: version = match.group(1) revision = int(match.group(3)) if match.group(2) == 'rc': revision += 100 version += '.' + str(revision) opera_manifest['name'] += ' development build' opera_manifest['short_name'] += ' dev build' opera_manifest['browser_action']['default_title'] += ' dev build'
opera_manifest['version'] = version
opera_manifest_file = os.path.join(build_dir, 'manifest.json') with open(opera_manifest_file, 'w') as f2: json.dump(opera_manifest, f2, indent=2, separators=(',', ': '), sort_keys=True) f2.write('\n')
|