2013-05-12 08:16:02 +00:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
|
|
|
import errno
|
|
|
|
import os
|
|
|
|
import shutil
|
2013-05-13 08:22:21 +00:00
|
|
|
import subprocess
|
2013-05-12 08:16:02 +00:00
|
|
|
|
|
|
|
|
|
|
|
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
|
|
|
DIST_DIR = os.path.join(SOURCE_ROOT, 'dist')
|
|
|
|
BUNDLE_NAME = 'Atom.app'
|
|
|
|
BUNDLE_DIR = os.path.join(SOURCE_ROOT, 'build', 'Release', BUNDLE_NAME)
|
|
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
rm_rf(DIST_DIR)
|
|
|
|
os.makedirs(DIST_DIR)
|
|
|
|
|
|
|
|
copy_binaries()
|
|
|
|
create_zip()
|
|
|
|
|
|
|
|
|
|
|
|
def copy_binaries():
|
2013-05-13 07:27:49 +00:00
|
|
|
shutil.copytree(BUNDLE_DIR, os.path.join(DIST_DIR, BUNDLE_NAME), symlinks=True)
|
2013-05-12 08:16:02 +00:00
|
|
|
|
|
|
|
|
|
|
|
def create_zip():
|
|
|
|
print "Zipping distribution..."
|
|
|
|
zip_file = os.path.join(SOURCE_ROOT, 'atom-shell.zip')
|
|
|
|
safe_unlink(zip_file)
|
2013-05-13 08:22:21 +00:00
|
|
|
|
|
|
|
cwd = os.getcwd()
|
|
|
|
os.chdir(DIST_DIR)
|
|
|
|
subprocess.check_call(['zip', '-r', '-y', zip_file, 'Atom.app'])
|
|
|
|
os.chdir(cwd)
|
2013-05-12 08:16:02 +00:00
|
|
|
|
|
|
|
|
|
|
|
def rm_rf(path):
|
|
|
|
try:
|
|
|
|
shutil.rmtree(path)
|
|
|
|
except OSError as e:
|
|
|
|
if e.errno != errno.ENOENT:
|
|
|
|
raise
|
|
|
|
|
|
|
|
|
|
|
|
def safe_unlink(path):
|
|
|
|
try:
|
|
|
|
os.unlink(path)
|
|
|
|
except OSError as e:
|
|
|
|
if e.errno != errno.ENOENT:
|
|
|
|
raise
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
import sys
|
|
|
|
sys.exit(main())
|