Files
js-scripts/scripts/javacc5.js
2025-04-05 16:57:26 +08:00

51 lines
1.8 KiB
JavaScript

#! /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();