如何列出所有诗歌群众演员的名字?

How to list the name of all Poetry extras?

我正在开展一个项目,我需要将所有 Poetry 附加功能安装到 运行 自动构建中。将该列表作为 space 分隔列表以用于 poetry install --extras="$extras" 的最简单方法是什么?

一些可能性:

目前的 hacky 解决方案:TOML 文件使用 pretty-format-toml 进行格式化,因此结构完全统一 - extra 基本上如下所示:

content_iterator = [
    "jsonschema",
    "pynamodb",
]

基于此,我已经能够使用此命令将所有额外内容作为 space 分隔列表获取:

echo "PYTHON_EXTRAS=$(sed --quiet '/\[tool\.poetry\.extras\]/,/^\[/{s/^\(.*\) = \[//p}' pyproject.toml \
    | sed --null-data 's/\n/ /g;s/ $//')" \
    | tee -a $GITHUB_ENV

基本上,在 tool.poetry.extras 部分中查找带有 = [ 的任何行并打印之前的内容。然后用 spaces 替换换行符。最后去掉尾部的space(诗词挑剔,会拒绝安装尾部有space或者名称之间换行的extras列表)并将结果放入相关配置文件中。

这非常丑陋和脆弱,所以我只是将它发布给现在需要解决方案的其他人。