在我的SBT插件中,我可以通过UpdateReport
获取sbt.Artifact的实例,其中包含File
。
然而,对于jar
,我需要jar所属的organization
。这可以在sbt.ModuleID中找到。
当我拥有Artifact
时,如何获得该组织?
答案 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)