【发布时间】:2014-01-27 07:40:46
【问题描述】:
我正在尝试构建一个 gradle 插件,它执行以下操作:
- 作为其任务的一部分,它会创建一个新配置
- 它向此配置添加了 DefaultExternalModuleDependency - 更具体地说,它构建了对应用程序服务器 zip 文件(在 Nexus 上可用)的依赖关系。调用项目也可以覆盖此信息。
- 尝试解决这个新添加的依赖项,然后将文件解压缩到本地文件夹
当我将详细信息硬编码在构建文件中时,所有这些都运行良好,但看起来添加依赖项作为任务的一部分并没有像在解析时提供该信息那样被对待。
所以我的问题是,如何让项目重新加载配置/依赖项?
代码如下所示:
@TaskAction
void installAppserver() {
Dependency dependency = new DefaultExternalModuleDependency(group,name,version)
Configuration configuration = project.configurations.detachedConfiguration(dependency)
configuration.setTransitive(false)
configuration.files.each { file ->
if (file.isFile() && file.name.endsWith('.zip')) {
println 'Attempting to unzip: ' + file + ' into folder: ' + appServerFolder
new Copy().from(project.zipTree(file)).into(appServerFolder).execute()
}
}
}
问题是实际的工件没有得到解决!
【问题讨论】:
标签: gradle