是否可以使用 Earthly 构建动态目标列表

Is it possible to build a dynamic list of targets with Earthly

我一直在考虑 Earthly 构建自动化工具作为我项目中 Make 的替代品。我有一个带有根 Makefile 的单声道存储库,它的目标是使用 Makefile 扫描子文件夹,并使用 make -C some_subfolder.

构建它们

查看 Eartly 的文档,我能看到支持这些构建的唯一方法是创建子文件夹的静态列表,然后使用 mono repo documentation 中的示例构建它们,例如[=14] =]

FROM alpine:3.13

all:
    BUILD ./some_subfolder+all
    BUILD ./another_folder+all

我已经阅读了其余的指南,但我看不出有什么方法可以使构建指令列表动态化,而无需为 运行 Earthly 编写包装脚本。有没有其他人遇到这个问题并提出解决方案?

在 Earthly 的最新版本中,您可以使用新的 FOR command

VERSION 0.6

build:
  ...
  FOR dir IN $(ls -d */)
    BUILD "./$dir+build"
  END