如何在UpdateReport中获得Artifacts的组织?

时间:2014-08-07 11:07:07

标签: sbt

在我的SBT插件中,我可以通过UpdateReport获取sbt.Artifact的实例,其中包含File

然而,对于jar,我需要jar所属的organization。这可以在sbt.ModuleID中找到。

当我拥有Artifact时,如何获得该组织?

1 个答案:

答案 0 :(得分:2)

如果您从更新报告中获取aritfact,您还应该能够获取模块ID。更新报告是嵌套结构,与您的常春藤配置排成一行。在每个配置中都有一组模块,其中每个模块都包含该模块包含的工件集(模块可以有多个工件,与Maven / Aether不同)。

所以,这里是从ALL配置及其ModuleID中获取所有工件的示例代码:

for {
   conf <- update.value.configurations
   moduleReport <- conf.modules
   (artifact, file) <-  moduleReport.artifacts
} yield (moduleReport.module, artifact, file)