Copy JS files to tempdir before packing asar
authorKevin Sawicki <kevinsawicki@gmail.com>
Tue, 12 Jan 2016 01:29:40 +0000 (17:29 -0800)
committerKevin Sawicki <kevinsawicki@gmail.com>
Wed, 13 Jan 2016 00:24:06 +0000 (16:24 -0800)
atom/browser/api/lib/auto-updater.js
tools/js2asar.py

index d666ba8..5a7d247 100644 (file)
@@ -9,4 +9,6 @@ autoUpdater = process.platform === 'win32' ? require('./auto-updater/auto-update
 
 deprecate.rename(autoUpdater, 'setFeedUrl', 'setFeedURL');
 
+
+
 module.exports = autoUpdater;
index 50291f1..9d501be 100755 (executable)
@@ -1,22 +1,30 @@
 #!/usr/bin/env python
 
+import errno
 import os
 import shutil
 import subprocess
 import sys
 import tempfile
 
-
 SOURCE_ROOT = os.path.dirname(os.path.dirname(__file__))
 
 
 def main():
   archive = sys.argv[1]
+  js_source_files = sys.argv[2:]
 
   output_dir = tempfile.mkdtemp()
+  copy_js(js_source_files, output_dir)
   call_asar(archive, output_dir)
   shutil.rmtree(output_dir)
 
+def copy_js(js_source_files, output_dir):
+  for source_file in js_source_files:
+    output_filename = os.path.splitext(source_file)[0] + '.js'
+    output_path = os.path.join(output_dir, output_filename)
+    safe_mkdir(os.path.dirname(output_path))
+    shutil.copy2(source_file, output_path)
 
 def call_asar(archive, output_dir):
   js_dir = os.path.join(output_dir, 'atom')
@@ -37,5 +45,13 @@ def find_node():
         return full_path
   return 'node'
 
+def safe_mkdir(path):
+  try:
+    os.makedirs(path)
+  except OSError as e:
+    if e.errno != errno.EEXIST:
+      raise
+
+
 if __name__ == '__main__':
   sys.exit(main())