electron/script/create-dist

56 lines
1.1 KiB
Python
Executable file

#!/usr/bin/env python
import errno
import os
import shutil
import subprocess
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():
shutil.copytree(BUNDLE_DIR, os.path.join(DIST_DIR, BUNDLE_NAME), symlinks=True)
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)
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())