import os
import shutil
import argparse
import subprocess
import sys
def run_command(in_cmd):
print(" ".join(in_cmd))
proc = subprocess.Popen(in_cmd, stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
universal_newlines=True,
shell=False)
stdout, stderr = proc.communicate()
if stdout != "":
raise Exception(stdout)
if __name__ == '__main__':
PARSER_INST = argparse.ArgumentParser()
PARSER_INST.add_argument('--dst-file',
help='the converted target file')
PARSER_INST.add_argument('--module-path',
help='the module path')
PARSER_INST.add_argument('--out-file',
help='js output file')
PARSER_INST.add_argument('--out-filePath',
help='js output filePath')
PARSER_INST.add_argument('--relative-path',
help='the code root path relative the root_build_dir')
INPUT_ARGUMENTS = PARSER_INST.parse_args()
BUILD_PATH = os.path.abspath(os.path.join(os.getcwd(), INPUT_ARGUMENTS.relative_path))
os.chdir(("%s" + INPUT_ARGUMENTS.module_path) % BUILD_PATH)
os_name = sys.platform
NODE_PATH = '../../../../../../../prebuilts/build-tools/common/nodejs/current/bin/node'
if not os.path.exists(NODE_PATH):
raise Exception('error:NO such file or directory')
TSC_PATH = '../../../../../../../third_party/typescript/bin/tsc'
CMD_INST = [NODE_PATH, TSC_PATH, "--outDir", INPUT_ARGUMENTS.out_filePath]
run_command(CMD_INST)
if not os.path.exists(INPUT_ARGUMENTS.out_file):
raise Exception('error:NO such file or directory')
CMD_INST = shutil.copy(INPUT_ARGUMENTS.out_file, INPUT_ARGUMENTS.dst_file)
CMD_INST = shutil.rmtree(INPUT_ARGUMENTS.out_filePath)
exit(0)