使用bazel中的genrule将多个文件复制到多个文件夹中

问题描述 投票:0回答:1

我想将一些文件复制到特定目录。

例:

我有一些像这样结构的文件

/scripts
    build.js
    test.js
    start.js
/config
    env.js
    path.js

如何将脚本文件夹下的文件复制到config文件夹下名为scripts和files的文件夹中的另一个名为config的文件夹中。

#BUILD.bazel
filegroup(
  name="react-test",
  srcs=glob([
      "scripts/**/*.js", 
      "config/**/*"
  ])
)

#Macro
def copy_gen(name):
  native.genrule(
    name = name,
    srcs = ["//:react-test"],
    outs = ["scripts", "config"],
    cmd = "cp $SRCS @D", # What exactly do I do? Tried all sort
    output_to_bindir = 1,
)
linux bash shell bazel cp
1个回答
0
投票

现在我可以解决这个问题。

#BUILD.bazel

filegroup(
  name="react-test",
  srcs=[
      "react-test" #folder to copy
  ]
)
genrule(
    name = "copy",
    srcs = [":react-test"],
    outs = ["react-test"],
    cmd = "cp -r $(SRCS) $(OUTS)"
)
© www.soinside.com 2019 - 2024. All rights reserved.