#! /usr/bin/env runjs var OSUtil = Packages.me.hatter.tools.commons.os.OSUtil; //var argsjs = require('component-args.js'); var osjs = require('component-os.js'); var packagejs = require('component-package.js'); var javahomejs = require('component-javahome.js'); var filesystemjs = require('component-filesystem.js'); var JAVACC_PACKAGE_INFO = { '5': { 'package': 'https://publicbucket-1251781687.coscd.myqcloud.com/javacc-5.0.zip', //'package': 'https://playsecurity.org/getdoc/1749_C31883A04B509AF7E93BE382B37F7F88/javacc-5.0.zip', 'sha256': '9a692fdd4ee1365da540054f4bb95e4852cf0216ce1b7ba54470365f5e52c8c7', 'basePath': '~/.jssp/builder/javacc-5.0', 'subPath': 'javacc-5.0', 'bin': 'bin/javacc' } }; var main = () => { var javaHome = javahomejs.getJavaHome('1.7'); if (javaHome == null) { javaHome = javahomejs.getJavaHome('1.8'); } if (javaHome == null) { javaHome = javahomejs.getJavaHome('9.0'); } if (javaHome == null) { xprintln('[WARN] Cannot find java, use system Java.'); } xprintln('[INFO] Get JavaCC local package info.'); var javaccLocalPackage = packagejs.getLocalPackage(JAVACC_PACKAGE_INFO['5'], true); var commandArgs = []; var buildCommands = []; buildCommands.push(javaccLocalPackage.binFile); $ARR($ARGS).forEach((a) => { buildCommands.push(a); commandArgs.push(a); }); xprintln('[INFO] JAVA_HOME = ' + (javaHome || crender('[GREEN]@system'))); xprintln('[INFO] JAVACC_HOME = ' + javaccLocalPackage.packageHome); xprintln('[INFO] ARGUMENTS = ' + $ARR(commandArgs).toJavaList()); var sh = $$.shell(true); if (javaHome != null) { sh.env('JAVA_HOME', javaHome).env('PATH', javaHome + '/bin:' + $$.env('PATH')); } sh.commands(buildCommands).run(); }; main();