在Bazel中,可以使用genrule
规则来创建两个文件。genrule
规则允许您在构建过程中运行自定义的命令,并生成输出文件。
以下是一个示例BUILD
文件,演示如何使用genrule
创建两个文件:
genrule(
name = "generate_files",
srcs = [], # 输入文件,可以为空列表
outs = ["output_file1.txt", "output_file2.txt"], # 输出文件列表
cmd = "echo 'This is file 1' > $@ && echo 'This is file 2' > $@", # 运行的命令
)
在上面的示例中,genrule
规则的名称为generate_files
。srcs
字段用于指定输入文件列表,这里为空列表。outs
字段用于指定输出文件列表,这里为output_file1.txt
和output_file2.txt
。cmd
字段指定要运行的命令,通过$@
引用输出文件。
要构建并生成这两个文件,您可以运行以下命令:
bazel build generate_files
执行以上命令后,Bazel将运行genrule
规则,并生成output_file1.txt
和output_file2.txt
两个文件。
您还可以通过bazel run
命令运行genrule
规则,并查看生成的文件内容:
bazel run generate_files
cat bazel-bin/generate_files/output_file1.txt
cat bazel-bin/generate_files/output_file2.txt
以上命令将输出两个文件的内容。
这是一个简单的示例,您可以根据自己的需求自定义genrule
规则和生成的文件。