Rewrite compile-coffee script in python.
This commit is contained in:
parent
85d7e7b034
commit
5c48f03dfe
4 changed files with 33 additions and 24 deletions
6
atom.gyp
6
atom.gyp
|
@ -264,14 +264,14 @@
|
||||||
'rule_name': 'coffee',
|
'rule_name': 'coffee',
|
||||||
'extension': 'coffee',
|
'extension': 'coffee',
|
||||||
'inputs': [
|
'inputs': [
|
||||||
'script/compile-coffee',
|
'script/compile-coffee.py',
|
||||||
],
|
],
|
||||||
'outputs': [
|
'outputs': [
|
||||||
'<(PRODUCT_DIR)/<(product_name).app/Contents/Resources/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js',
|
'<(PRODUCT_DIR)/<(product_name).app/Contents/Resources/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js',
|
||||||
],
|
],
|
||||||
'action': [
|
'action': [
|
||||||
'sh',
|
'python',
|
||||||
'script/compile-coffee',
|
'script/compile-coffee.py',
|
||||||
'<(RULE_INPUT_PATH)',
|
'<(RULE_INPUT_PATH)',
|
||||||
'<(PRODUCT_DIR)/<(product_name).app/Contents/Resources/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js',
|
'<(PRODUCT_DIR)/<(product_name).app/Contents/Resources/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js',
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Because of the way xcodebuild invokes external scripts we need to load
|
|
||||||
# The Setup's environment ourselves. If this isn't done, things like the
|
|
||||||
# node shim won't be able to find the stuff they need.
|
|
||||||
|
|
||||||
node --version > /dev/null 2>&1 || {
|
|
||||||
if [ -e /opt/github/env.sh ]; then
|
|
||||||
source /opt/github/env.sh
|
|
||||||
else
|
|
||||||
# Try Constructicon's PATH.
|
|
||||||
export PATH="/usr/local/Cellar/node/0.8.21/bin:${PATH}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
INPUT_FILE="${1}"
|
|
||||||
OUTPUT_DIR=`dirname "$2"`
|
|
||||||
|
|
||||||
node_modules/.bin/coffee -c -o "$OUTPUT_DIR" "$INPUT_FILE"
|
|
23
script/compile-coffee.py
Executable file
23
script/compile-coffee.py
Executable file
|
@ -0,0 +1,23 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from lib.util import *
|
||||||
|
|
||||||
|
|
||||||
|
SOURCE_ROOT = os.path.dirname(os.path.dirname(__file__))
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
input_file = sys.argv[1]
|
||||||
|
output_dir = os.path.dirname(sys.argv[2])
|
||||||
|
|
||||||
|
node = get_node_path()
|
||||||
|
coffee = os.path.join(SOURCE_ROOT, 'node_modules', '.bin', 'coffee')
|
||||||
|
subprocess.check_call([node, coffee, '-c', '-o', output_dir, input_file])
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
sys.exit(main())
|
|
@ -68,3 +68,10 @@ def safe_mkdir(path):
|
||||||
except OSError as e:
|
except OSError as e:
|
||||||
if e.errno != errno.EEXIST:
|
if e.errno != errno.EEXIST:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
|
||||||
|
def get_node_path():
|
||||||
|
node = os.path.join(os.path.dirname(__file__), '..', '..', 'node', 'node')
|
||||||
|
if sys.platform == 'win32' or sys.platform == 'cygwin':
|
||||||
|
node += '.exe'
|
||||||
|
return node
|
||||||
|
|
Loading…
Reference in a new issue