zip-symbols.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/usr/bin/env python
  2. from __future__ import print_function
  3. import argparse
  4. import glob
  5. import os
  6. import sys
  7. from lib.config import PLATFORM, get_target_arch
  8. from lib.util import scoped_cwd, get_electron_version, make_zip, \
  9. get_electron_branding, get_out_dir
  10. ELECTRON_VERSION = get_electron_version()
  11. PROJECT_NAME = get_electron_branding()['project_name']
  12. OUT_DIR = get_out_dir()
  13. def main():
  14. print('Zipping Symbols')
  15. if get_target_arch() == 'mips64el':
  16. return
  17. args = parse_args()
  18. dist_name = 'symbols.zip'
  19. zip_file = os.path.join(args.build_dir, dist_name)
  20. licenses = ['LICENSE', 'LICENSES.chromium.html', 'version']
  21. with scoped_cwd(args.build_dir):
  22. dirs = ['breakpad_symbols']
  23. print('Making symbol zip: ' + zip_file)
  24. make_zip(zip_file, licenses, dirs)
  25. if PLATFORM == 'darwin':
  26. dsym_name = 'dsym.zip'
  27. with scoped_cwd(args.build_dir):
  28. dsyms = glob.glob('*.dSYM')
  29. dsym_zip_file = os.path.join(args.build_dir, dsym_name)
  30. print('Making dsym zip: ' + dsym_zip_file)
  31. make_zip(dsym_zip_file, licenses, dsyms)
  32. elif PLATFORM == 'win32':
  33. pdb_name = 'pdb.zip'
  34. with scoped_cwd(args.build_dir):
  35. pdbs = glob.glob('*.pdb')
  36. pdb_zip_file = os.path.join(args.build_dir, pdb_name)
  37. print('Making pdb zip: ' + pdb_zip_file)
  38. make_zip(pdb_zip_file, pdbs + licenses, [])
  39. elif PLATFORM == 'linux':
  40. debug_name = 'debug.zip'
  41. with scoped_cwd(args.build_dir):
  42. dirs = ['debug']
  43. debug_zip_file = os.path.join(args.build_dir, debug_name)
  44. print('Making debug zip: ' + debug_zip_file)
  45. make_zip(debug_zip_file, licenses, dirs)
  46. def parse_args():
  47. parser = argparse.ArgumentParser(description='Zip symbols')
  48. parser.add_argument('-b', '--build-dir',
  49. help='Path to an Electron build folder.',
  50. default=OUT_DIR,
  51. required=False)
  52. return parser.parse_args()
  53. if __name__ == '__main__':
  54. sys.exit(main())