#!/usr/bin/env python
import errno
+import glob
import os
import shutil
import subprocess
os.makedirs(DIST_DIR)
copy_binaries()
+ copy_license()
+ create_version()
create_zip()
symlinks=True)
+def copy_license():
+ license = os.path.join(SOURCE_ROOT, 'LICENSE')
+ shutil.copy2(license, DIST_DIR)
+
+
+def create_version():
+ commit = subprocess.check_output(['git', 'rev-parse', 'HEAD']).strip()
+ version_path = os.path.join(SOURCE_ROOT, 'dist', 'version')
+ with open(version_path, 'w') as version_file:
+ version_file.write(commit)
+
+
def create_zip():
print "Zipping distribution..."
zip_file = os.path.join(SOURCE_ROOT, 'atom-shell.zip')
safe_unlink(zip_file)
- cwd = os.getcwd()
- os.chdir(DIST_DIR)
- subprocess.check_call(['zip', '-r', '-y', zip_file, 'Atom.app'])
- os.chdir(cwd)
+ with scoped_cwd(DIST_DIR):
+ files = glob.glob('*')
+ subprocess.check_call(['zip', '-r', '-y', zip_file] + files)
if __name__ == '__main__':
s3put(bucket, access_key, secret_key, 'atom-shell/{0}'.format(commit), glob.glob('atom-shell*.zip'))
- update_version(bucket, access_key, secret_key, commit)
+ update_version(bucket, access_key, secret_key)
def s3_config():
return config
-def update_version(bucket, access_key, secret_key, commit):
- version_path = os.path.join(SOURCE_ROOT, 'version')
- with open(version_path, 'w') as version_file:
- version_file.write(commit)
-
- # Upload after file is closed, it's required under Windows.
- s3put(bucket, access_key, secret_key, 'atom-shell', [ version_path ])
+def update_version(bucket, access_key, secret_key):
+ version = os.path.join(SOURCE_ROOT, 'dist', 'version')
+ s3put(bucket, access_key, secret_key, 'atom-shell', [ version ])
def s3put(bucket, access_key, secret_key, key_prefix, files):