upload-node-headers.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!/usr/bin/env python
  2. import argparse
  3. import glob
  4. import os
  5. import shutil
  6. import sys
  7. from lib.config import PLATFORM, get_target_arch, s3_config
  8. from lib.util import safe_mkdir, scoped_cwd, s3put
  9. SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
  10. DIST_DIR = os.path.join(SOURCE_ROOT, 'dist')
  11. OUT_DIR = os.path.join(SOURCE_ROOT, 'out', 'R')
  12. def main():
  13. args = parse_args()
  14. # Upload node's headers to S3.
  15. bucket, access_key, secret_key = s3_config()
  16. upload_node(bucket, access_key, secret_key, args.version)
  17. def parse_args():
  18. parser = argparse.ArgumentParser(description='upload sumsha file')
  19. parser.add_argument('-v', '--version', help='Specify the version',
  20. required=True)
  21. return parser.parse_args()
  22. def upload_node(bucket, access_key, secret_key, version):
  23. with scoped_cwd(DIST_DIR):
  24. s3put(bucket, access_key, secret_key, DIST_DIR,
  25. 'atom-shell/dist/{0}'.format(version), glob.glob('node-*.tar.gz'))
  26. s3put(bucket, access_key, secret_key, DIST_DIR,
  27. 'atom-shell/dist/{0}'.format(version), glob.glob('iojs-*.tar.gz'))
  28. if PLATFORM == 'win32':
  29. if get_target_arch() == 'ia32':
  30. node_lib = os.path.join(DIST_DIR, 'node.lib')
  31. iojs_lib = os.path.join(DIST_DIR, 'win-x86', 'iojs.lib')
  32. else:
  33. node_lib = os.path.join(DIST_DIR, 'x64', 'node.lib')
  34. iojs_lib = os.path.join(DIST_DIR, 'win-x64', 'iojs.lib')
  35. safe_mkdir(os.path.dirname(node_lib))
  36. safe_mkdir(os.path.dirname(iojs_lib))
  37. # Copy atom.lib to node.lib and iojs.lib.
  38. atom_lib = os.path.join(OUT_DIR, 'node.dll.lib')
  39. shutil.copy2(atom_lib, node_lib)
  40. shutil.copy2(atom_lib, iojs_lib)
  41. # Upload the node.lib.
  42. s3put(bucket, access_key, secret_key, DIST_DIR,
  43. 'atom-shell/dist/{0}'.format(version), [node_lib])
  44. # Upload the iojs.lib.
  45. s3put(bucket, access_key, secret_key, DIST_DIR,
  46. 'atom-shell/dist/{0}'.format(version), [iojs_lib])
  47. if __name__ == '__main__':
  48. sys.exit(main())