Bug 1675740 - Add a script that can unify crashreporter symbols. r=firefox-build-system-reviewers,rstewart

Differential Revision: https://phabricator.services.mozilla.com/D96690
This commit is contained in:
Mike Hommey 2020-11-12 04:35:48 +00:00
parent a251e85356
commit 56c565bb77
2 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,48 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import argparse
from mozpack.files import FileFinder
from mozpack.copier import FileCopier
from mozpack.errors import errors
from mozpack.unify import UnifiedFinder
class UnifiedSymbolsFinder(UnifiedFinder):
def unify_file(self, path, file1, file2):
# We expect none of the files to overlap.
if not file2:
return file1
if not file1:
return file2
errors.error(
"{} is in both {} and {}".format(
path, self._finder1.base, self._finder2.base
)
)
def main():
parser = argparse.ArgumentParser(
description="Merge two crashreporter symbols directories."
)
parser.add_argument("dir1", help="Directory")
parser.add_argument("dir2", help="Directory to merge")
options = parser.parse_args()
dir1_finder = FileFinder(options.dir1)
dir2_finder = FileFinder(options.dir2)
finder = UnifiedSymbolsFinder(dir1_finder, dir2_finder)
copier = FileCopier()
with errors.accumulate():
for p, f in finder:
copier.add(p, f)
copier.copy(options.dir1, skip_if_older=False)
if __name__ == "__main__":
main()

View File

@ -35,6 +35,7 @@ py2:
- config/create_rc.py
- config/create_res.py
- config/printconfigsetting.py
- python/mozbuild/mozbuild/action/unify_symbols.py
- python/mozbuild/mozbuild/action/unify_tests.py
- python/mozbuild/mozbuild/html_build_viewer.py
- python/mozbuild/mozpack/unify.py