implement onSetup hook in BuildScript for environment setup
This commit is contained in:
1 parent
25ed8ecd56
commit
ceef9db425
5 files changed
+115
-75
No files matched your search
+39
-31
@@ -1,41 +1,49 @@
|
||||
/* 批处理脚本 */
|
||||
/*
|
||||
如果有processTree,则先运行prcessTree,如果有返回,则进行后面的针对每个节点运行processNode
|
||||
如果没有定义processTree,则直接针对每个节点运行processNode
|
||||
如果有processTree,则先运行prcessTree,如果有返回,则进行后面的针对每个节点运行processNode
|
||||
如果没有定义processTree,则直接针对每个节点运行processNode
|
||||
|
||||
export interface TreeModel {
|
||||
version: string;
|
||||
name: string;
|
||||
desc?: string;
|
||||
export?: boolean;
|
||||
firstid: number;
|
||||
group: string[];
|
||||
import: string[];
|
||||
declvar: VarDef[];
|
||||
root: NodeModel;
|
||||
}
|
||||
export interface TreeModel {
|
||||
version: string;
|
||||
name: string;
|
||||
desc?: string;
|
||||
export?: boolean;
|
||||
firstid: number;
|
||||
group: string[];
|
||||
import: string[];
|
||||
declvar: VarDef[];
|
||||
root: NodeModel;
|
||||
}
|
||||
|
||||
export interface NodeModel {
|
||||
id: number;
|
||||
name: string;
|
||||
desc?: string;
|
||||
args?: { [key: string]: any };
|
||||
input?: string[];
|
||||
output?: string[];
|
||||
children?: NodeModel[];
|
||||
debug?: boolean;
|
||||
disabled?: boolean;
|
||||
path?: string;
|
||||
}
|
||||
export interface NodeModel {
|
||||
id: number;
|
||||
name: string;
|
||||
desc?: string;
|
||||
args?: { [key: string]: any };
|
||||
input?: string[];
|
||||
output?: string[];
|
||||
children?: NodeModel[];
|
||||
debug?: boolean;
|
||||
disabled?: boolean;
|
||||
path?: string;
|
||||
}
|
||||
|
||||
interface BuildScript {
|
||||
processTree?(tree: TreeModel, path: string): TreeModel | null;
|
||||
processNode?(node: NodeModel, tree: TreeModel): NodeModel | null;
|
||||
onWriteFile?(path: string, tree: TreeModel): void;
|
||||
onComplete?(status: "success" | "failure"): void;
|
||||
}
|
||||
interface BatchScript {
|
||||
onSetup?(env: Env): void;
|
||||
processTree?(tree: TreeModel, path: string): TreeModel | null;
|
||||
processNode?(node: NodeModel, tree: TreeModel): NodeModel | null;
|
||||
onWriteFile?(path: string, tree: TreeModel): void;
|
||||
onComplete?(status: "success" | "failure"): void;
|
||||
}
|
||||
*/
|
||||
({
|
||||
onSetup: (env) => {
|
||||
console.log("onSetup", env);
|
||||
console.log(env.workdir);
|
||||
console.log(env.nodeDefs.get("Wait"));
|
||||
console.log(env.path.dirname("sample/scripts/build.js"));
|
||||
console.log(env.fs.readFileSync("sample/scripts/build.js", "utf8"));
|
||||
},
|
||||
processTree: (tree) => {
|
||||
console.log(`processTree ${tree.name}`);
|
||||
return tree;
|
||||
|
||||
Reference in new issue
Block a user