1 | "use strict";
|
2 | const cp = require('child_process');
|
3 | const fs = require("fs-extra-promise");
|
4 | const path = require("path");
|
5 | let error_code_filename = path.join(__dirname, "../error_code.json");
|
6 | let errorcode = fs.readJSONSync(error_code_filename, { "encoding": "utf-8" });
|
7 | let _shell = (path, args, opt) => {
|
8 | var cmd = `${path} ${args.join(" ")}`;
|
9 | console.log(cmd);
|
10 | let printBufferMessage = (message) => {
|
11 | var str = message.toString();
|
12 | console.log(str);
|
13 | };
|
14 | let callback = (reslove, reject) => {
|
15 | var shell = cp.spawn(path, args, opt);
|
16 | shell.on("error", (message) => { console.log(message); });
|
17 | shell.stderr.on("data", printBufferMessage);
|
18 | shell.stderr.on("error", printBufferMessage);
|
19 | shell.stdout.on("data", printBufferMessage);
|
20 | shell.stdout.on("error", printBufferMessage);
|
21 | shell.on('exit', function (code) {
|
22 | if (code != 0) {
|
23 | console.log('Failed: ' + code);
|
24 | reject(code);
|
25 | }
|
26 | else {
|
27 | reslove(0);
|
28 | }
|
29 | });
|
30 | };
|
31 | return new Promise(callback);
|
32 | };
|
33 | exports.shell = _shell;
|
34 | class CliException extends Error {
|
35 | constructor(errorId, param) {
|
36 | super();
|
37 | this.errorId = errorId;
|
38 | var message = errorcode[this.errorId];
|
39 | if (message) {
|
40 | message = message.replace('{0}', param);
|
41 | }
|
42 | else {
|
43 | message = `unkown error : ${errorId}`;
|
44 | console.error(message);
|
45 | }
|
46 | this.message = message;
|
47 | }
|
48 | }
|
49 | exports.CliException = CliException;
|
50 |
|
51 |
|
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 |
|
\ | No newline at end of file |