easy-aos
Version:
帮助配置arm-gcc开发环境,简化命令行。
80 lines (71 loc) • 2.04 kB
JavaScript
import program from "commander"
import i18n from "../lib/i18n"
import EasyConf from "../lib/easyConf"
import { write } from "../lib/easyconf"
const t = new i18n("easy-aos")
const easyconf = new EasyConf()
const parse_options = function (options) {
return {
app: options.app,
board: options.board,
pkg: options.pkg,
run: options.run,
full_log: program.full_log,
debug: program.debug
}
}
program
.version("0.0.5")
.option("-d, --debug", t.__("debug mode, show commands only"))
.option("-l, --full_log", t.__("show log"))
.option("-f, --file", t.__("set config file"))
.action(function (params) {
console.log("help", params)
})
program
.command("config")
.description(t.__("config"))
.action(async function () {
easyconf.config(parse_options({}))
let settings = await easyconf.isAosSource()
if (settings.isAosSource == true) {
let app = await easyconf.get_app()
Object.assign(settings, app)
}else{
settings.isApp = true
settings.aos = await easyconf.get_aos_path()
}
let config = await easyconf.get_prompts()
Object.assign(settings, config)
write("./.easy-aos.json", settings)
})
program
.command("build")
.description(t.__("build"))
.option("-a, --app <app>", "set app", /^(?:\w+)$/, false)
.option("-b, --board <board>", "set board", /^(?:\w+)$/i, false)
.action(function (options) {
easyconf.config(parse_options(options))
easyconf.run_command("build")
})
program
.command("flash")
.description(t.__("flash"))
.option("-a, --app <app>", "set app", /^(?:\w+)$/, false)
.option("-b, --board <board>", "set board", /^(?:\w+)$/i, false)
.action(function (options) {
easyconf.config(parse_options(options))
easyconf.run_command("flash")
})
program
.command("run <pkg> <cmd>")
.description(t.__("package"))
.action(function (pkg, cmd) {
easyconf.config(parse_options({
pkg: pkg,
run: cmd
}))
easyconf.run_command("run")
})
program.parse(process.argv)