Also ship version and LICENSE file with dist.
authorCheng Zhao <zcbenz@gmail.com>
Sat, 29 Jun 2013 03:52:58 +0000 (11:52 +0800)
committerCheng Zhao <zcbenz@gmail.com>
Sat, 29 Jun 2013 03:52:58 +0000 (11:52 +0800)
script/create-dist.py
script/upload.py

index af9f47e..3dd3ac7 100755 (executable)
@@ -1,6 +1,7 @@
 #!/usr/bin/env python
 
 import errno
+import glob
 import os
 import shutil
 import subprocess
@@ -20,6 +21,8 @@ def main():
   os.makedirs(DIST_DIR)
 
   copy_binaries()
+  copy_license()
+  create_version()
   create_zip()
 
 
@@ -28,15 +31,26 @@ def copy_binaries():
                   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__':
index a247bd8..892afe4 100755 (executable)
@@ -55,7 +55,7 @@ def upload():
 
   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():
@@ -69,13 +69,9 @@ 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):