config

这是一个顶层模块,用于创建配置转换和 build 设置描述符,这些描述符用于描述规则属于哪种 build 设置(如果有)。

例如:以下规则通过设置 rule() 函数的 build_setting 参数标记为 build 设置。具体而言,它是 int 类型的 build 设置,并且是一个 flag,这意味着此 build 设置可在命令行中调用。

  my_rule = rule(
    implementation = _impl,
    build_setting = config.int(flag = True),
    ...
  )

成员

bool

BuildSetting config.bool(flag=False)

一种 bool 类型的 build 设置

参数

参数 说明
flag 默认值为 False
此 build 设置是否可在命令行中调用。

exec

ExecTransitionFactory config.exec(exec_group=None)

创建执行转换。

参数

参数 说明
exec_group 字符串;或 None; 默认值为 None
此转换将使用的执行平台的 exec 组的名称。如果未提供,此 exec 转换将使用目标的默认执行平台。

int

BuildSetting config.int(flag=False)

一种 int 类型的 build 设置

参数

参数 说明
flag 默认值为 False
此 build 设置是否可在命令行中调用。

字符串

BuildSetting config.string(flag=False, allow_multiple=False)

一种字符串类型的 build 设置

参数

参数 说明
flag 默认值为 False
此 build 设置是否可在命令行中调用。
allow_multiple 默认值为 False
已弃用,请改用 string_list 设置和 repeatable = True。如果设置,此标志可在命令行中多次设置。在转换和 build 设置实现函数中访问的标志的值将是字符串列表。插入顺序和重复值都会保留。如果需要不同的行为,可以在 build 设置实现函数中对该列表进行后处理。

string_list

BuildSetting config.string_list(flag=False, repeatable=False)

一种字符串列表类型的 build 设置。在命令行中,使用英文逗号分隔的值(如 --//my/setting=foo,bar)传递列表。

参数

参数 说明
flag 默认值为 False
此 build 设置是否可在命令行中调用。
repeatable 默认值为 False
如果设置,此标志允许在命令行中多次设置,而不是预期使用英文逗号分隔的值,每个单独的值都将被视为要添加到列表值的单个字符串。插入顺序和重复值都会保留。如果需要不同的行为,可以在 build 设置实现函数中对该列表进行后处理。