zip-symbols.py 1.6 KB

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