Artifactory AQL 删除空文件夹

ki_*_*ki_ 7 artifactory artifactory-query-lang

如何使用 Artifactory AQL 删除空文件夹(没有任何内容的文件夹)?

我有当前的 AQL 查询来查找早于 12w 且从未下载的文件,我将通过脚本删除这些文件。

items.find(
    {
        "repo":{"$eq":"libs-release-local"},
        "stat.downloads":{"$eq":null},
        "created":{"$before" : "12w"},
    }
)
Run Code Online (Sandbox Code Playgroud)

这给我留下了空文件夹,如何指定查找所有空文件夹的 AQL 查询?

小智 4

来自Artifactory 查询语言文档:如果查询中未指定类型,则搜索的默认类型是文件。

通过向查询添加类型,您可以控制结果类型:文件、文件夹或两者。

例如:

items.find(
    {
        "repo": {"$eq":"libs-release-local"},
        "stat.downloads": {"$eq":null},
        "created": {"$before" : "12w"},
        "type": {"$eq":"any"}
    }
)
Run Code Online (Sandbox Code Playgroud)

  • 此查询查找也包含 pom/artifacts 的文件夹。我们在 Artifactory 和 Gradle 中使用 Maven 存储库作为获取工具,我猜 gradle 从不查询文件夹,只查询文件夹内的 pom 和工件。 (3认同)