Bazel公共的函数规则
common-definitions 不管是写WORKSPACE,BUILD或者其他文件,都要遵循一些Bazel的规则,有些规则是bazel内置的函数使用说明,有的规则是一些语法分析用到的。 所有build rule的公共属性 只列举了部分 features rule中规定的package级别可使用的features列表,默认是空。目前还没搞懂具体是指什么。 data List of labels ; optional :表示这个rule在运行时所需的文件列表。 visibility List of labels ; optional; default default_visibility from package if specified, else private 定义了这个rule是否可以被别的package中的rule所使用。 有5种形式的label可以使用: 1、 ["//visibility:public"] : Anyone can use this rule 2、 ["//visibility:private"] : Only rules in this package can use this rule. 3、 ["//some/package:__pkg__", "//other/package:__pkg__"] : Only rules in some/package and other/package (defined in some/package/BUILD and other/package/BUILD ) have access to this rule. 必须是规定的package下面的BUILD文件中的rule才有权限使用 4、 ["//project:__subpackages__", "//other:__subpackages__"] : Only rules in packages project or other or in one of their sub-packages have