gpt4 book ai didi

gradle - 使用Gradle在每个文件夹中运行Yarn

转载 作者:行者123 更新时间:2023-12-03 06:00:35 24 4
gpt4 key购买 nike

我有一个文件夹,里面有很多目录。我想有一个gradle脚本,它将遍历它们(而不是递归地)并运行

 yarn build 

在他们中。

我尝试了两种方法(并开始了几种不同的尝试),但是but幸。
task build (description: "Loops through folders and builds"){
FileTree tree = fileTree(dir: 'admin', include: '*/package.json')

tree.each {File file -> println file}

}

task yarnBuild (type: Exec){
executable "bash"
args "find . -type d -exec ls {} \\;"
}

通过任务构建,我想找到包含package.json的目录(实际上都是它们),但是后来我不知道如何更改到该目录以进行“ yarn 构建”

对于任务yarnBuild,我只想使用unix命令即可完成。但是我也无法正常工作。

我会更感兴趣的是使用实际的Gradle查找更符合“构建”任务的解决方案。有人可以给我一些指示吗?如何更改到这些目录?我猜一旦进入正确的文件夹,我就可以使用Exec运行“ yarn 构建”。

谢谢!

最佳答案

我可能会为每个目录创建一个任务,并将它们全部连接到DAG

apply plugn: 'base'
FileTree directories = fileTree(projectDir).matching {
include { FileTreeElement el ->
return el.directory && el.file.parentFile == projectDir
}
}
directories.files.each { File dir ->
// create a task for the directory
Task yarnTask = tasks.create("yarn${dir.name}", Exec) {
workingDir dir
commandLine 'yarn', 'build'

// TODO: set these so gradle's up-to-date checks can work
inputs.dir = ???
outputs.dir = ???
}
// wire the task into the DAG
build.dependsOn yarnTask
}

关于gradle - 使用Gradle在每个文件夹中运行Yarn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42024645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com