| 
									
										
										
										
											2013-06-24 17:51:48 +08:00
										 |  |  | #!/usr/bin/env python | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import errno | 
					
						
							| 
									
										
										
										
											2013-06-29 11:52:58 +08:00
										 |  |  | import glob | 
					
						
							| 
									
										
										
										
											2013-06-24 17:51:48 +08:00
										 |  |  | import os | 
					
						
							|  |  |  | import shutil | 
					
						
							|  |  |  | import subprocess | 
					
						
							|  |  |  | import sys | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from lib.util import * | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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, 'out', 'Release', BUNDLE_NAME) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def main(): | 
					
						
							|  |  |  |   rm_rf(DIST_DIR) | 
					
						
							|  |  |  |   os.makedirs(DIST_DIR) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-17 10:57:25 +08:00
										 |  |  |   force_build() | 
					
						
							| 
									
										
										
										
											2013-06-24 17:51:48 +08:00
										 |  |  |   copy_binaries() | 
					
						
							| 
									
										
										
										
											2013-06-29 11:52:58 +08:00
										 |  |  |   copy_license() | 
					
						
							|  |  |  |   create_version() | 
					
						
							| 
									
										
										
										
											2013-06-24 17:51:48 +08:00
										 |  |  |   create_zip() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-17 10:57:25 +08:00
										 |  |  | def force_build(): | 
					
						
							|  |  |  |   build = os.path.join(SOURCE_ROOT, 'script', 'build.py') | 
					
						
							|  |  |  |   subprocess.check_call([sys.executable, build, '-c', 'Release']); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-24 17:51:48 +08:00
										 |  |  | def copy_binaries(): | 
					
						
							|  |  |  |   shutil.copytree(BUNDLE_DIR, os.path.join(DIST_DIR, BUNDLE_NAME), | 
					
						
							|  |  |  |                   symlinks=True) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-29 11:52:58 +08:00
										 |  |  | 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) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-24 17:51:48 +08:00
										 |  |  | def create_zip(): | 
					
						
							|  |  |  |   print "Zipping distribution..." | 
					
						
							|  |  |  |   zip_file = os.path.join(SOURCE_ROOT, 'atom-shell.zip') | 
					
						
							|  |  |  |   safe_unlink(zip_file) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-29 11:52:58 +08:00
										 |  |  |   with scoped_cwd(DIST_DIR): | 
					
						
							|  |  |  |     files = glob.glob('*') | 
					
						
							|  |  |  |     subprocess.check_call(['zip', '-r', '-y', zip_file] + files) | 
					
						
							| 
									
										
										
										
											2013-06-24 17:51:48 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  |   sys.exit(main()) |