Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

内置常量

  • GXL_PRJ_ROOT: 最近定义了 _gal/project.toml 的目录
  • GXL_START_ROOT: GXL 启动处理的目录
  • GXL_CUR_DIR: GXL 当前所在目录,在调用gx.run时,与GXL_START_ROOT可能不同
  • GXL_CMD_ARG: gflow -- <cmd_arg>

gx.assert

#![allow(unused)]
fn main() {
gx.assert ( value = "hello" , expect = "hello"  ); 
}

参数

  • value : [必须]需要验证的变量
  • expect : [必须] 期待的结果
  • result : "[true|false]" 默认值为 "true"
  • err : 验证失败后的错误信息。

示例:

#![allow(unused)]
fn main() {
gx.assert ( value = "hello" , expect : "hello" , result : "false" , err:"test assert"); 
}

gx.cmd

#![allow(unused)]
fn main() {
gx.cmd (  cmd : "${PRJ_ROOT}/do.sh" ); 
// 可省略 cmd 参数名
gx.cmd (  "${PRJ_ROOT}/do.sh" ); 
}

属性参数

  • cmd [必须][] 执行脚本
  • log 日志输出级别
  • quiet 静默,不输出出指令和结果
  • expect 期待的结果

示例:

#![allow(unused)]
fn main() {
gx.cmd (  
	cmd     : "${PRJ_ROOT}/do.sh", 
    log     : "1" ,
    quiet   : "true" ,
    expect  : "[0,1,255]" 
 ) 
}

gx.run

#![allow(unused)]
fn main() {
gx.run (  local: "${PRJ_ROOT}/mod/" ,env : "dev", flow : "conf,test" ); 
}

属性参数

  • local [必须] 运行所在目录
  • env [必须] 运行环境
  • flow [必须]运行的flow
  • conf 运行的配置文件

示例:

#![allow(unused)]
fn main() {
gx.cmd (  
	cmd     : "${PRJ_ROOT}/do.sh", 
    log     : "1" ,
    out     : "true" ,
    expect  : "[0,1,255]" 
 ) 
}

gx.echo

#![allow(unused)]
fn main() {
 gx.echo ( value : "${PRJ_ROOT}/test/main.py"  );
// 可省略 value 参数名
 gx.echo ( "${PRJ_ROOT}/test/main.py"  );
}

属性参数

  • value : [必须]需显示的变量

gx.read

读取信息到环境变量。

读取CMD运行结果到 name

#![allow(unused)]
fn main() {
env dev {
    gx.read_cmd ( name : "gx" , cmd : "echo rigger-1.0" );
}
}

从INI文件中读取;

#![allow(unused)]
fn main() {
    gx.read_file ( file : "${ENV_ROOT}/test.ini" );
    gx.read_file ( "${ENV_ROOT}/test.ini" );
}

从标准输入读取;

#![allow(unused)]
fn main() {
env dev {
    gx.read_stdin ( prompt : "please input you name", name : "NAME"  );
    gx.echo (  "${NAME}" );
}
}

gx.tpl

通过模板生成文件,使用 handlebars 引擎。

#![allow(unused)]
fn main() {
gx.tpl (  
   tpl : "${PRJ_ROOT}/conf_tpl.toml" ,
   dst : "${PRJ_ROOT}/conf.toml" ,
);
}

属性参数

  • tpl : [必须]模板文件
  • dst : [必须]生成目标文件
#![allow(unused)]
fn main() {
gx.tpl (  
   tpl : "${PRJ_ROOT}/conf_tpl.toml" ,
   dst : "${PRJ_ROOT}/conf.toml" ,
   data : r#" { "name" : "xiaoming", "age" : 3 } "#x
);
}
  • data : 符合Json格式的模板数据

gx.vars

#![allow(unused)]
fn main() {
gx.vars {  
   x = "${PRJ_ROOT}/test/main.py" ;
   y = "${PRJ_ROOT}/test/main.py" ; 
}
}

x,y 自定义的变量,可以在gxL 和扩展脚本使用

gx.ver

#![allow(unused)]
fn main() {
gx.ver ( file : "./version.txt" ,  inc : "bugfix"  ); 
}

属性参数

  • file : version.txt 文件
  • inc: 增长单位。 有 null,build,bugfix,feature,main 六个选项

gx.upload

#![allow(unused)]
fn main() {
gx.upload ( url: "https://github/galaxy-sec" ,  method : "put", local_file : "gflow"  ); 
}

gx.download

#![allow(unused)]
fn main() {
gx.download( url: "https://github/galaxy-sec" ,   local_file : "gflow"  ); 
}
  • username : 用户名
  • password : 密码