def buildThreeJs(includesFileList=None): jsonConfig = JsonConfig(r'build-config\three.json') concatinatedOutputFile = jsonConfig.getConcatinatedOutputFile() minifiedOutputFile = jsonConfig.getMinifiedOutputFile() if (includesFileList == None): includesFileList = jsonConfig.getFileList('includes') printFileList('Concatenating files for Three.Js', includesFileList) concatinateFiles(includesFileList, concatinatedOutputFile); externsStr = jsonConfig.getCommandClause('externs' , '--externs ') cmd = 'java -jar %s --version --language_in=ECMASCRIPT5 --warning_level=VERBOSE --jscomp_off=globalThis %s ' + \ '--jscomp_off=checkTypes --jscomp_off=internetExplorerChecks --js %s ' + \ '--js_output_file %s' cmd = cmd % (CLOSURE_COMPILER_FILE, externsStr, concatinatedOutputFile, minifiedOutputFile) print 'compiling using command: '+ cmd p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, error = p.communicate() print 'return code: '+ str(p.returncode) if p.returncode == 0: print 'SUCCESS: ' + out else: print 'FAILED: ' + out msg = 'Compiling %s failed %s' % (minifiedOutputFile, error) print msg raise Exception(msg)