我正在尝试编写一个插件来将所有依赖项(解压缩)填充到同一个jar中。这就是我尝试过的:
apply plugin: CustomZipPlugin
class CustomZipPlugin implements Plugin<Project>{
void apply(Project project) {
project.configurations.add('include');
project.tasks.add(
name:'customZipTask', type: Zip)
{
from {project.configurations.include.collect{zipTree(it)}}
};
}
}
repositories{mavenCentral()}
dependencies{
include 'net.sourceforge.cobertura:cobertura:1.9.4.1'
}
这会导致:无法确定任务的依赖关系':customZipTask'
我也尝试过:
..
from project.configurations.include.collect{zipTree(it)}
..
这导致:您无法更改未处于未解决状态的配置!
然而......直接在我的构建脚本(而不是构建脚本)中编写自定义任务有效..即:
task customZipTask(type: Zip){
from {project.configurations.include.collect{zipTree(it)}}
}
有关如何在插件中实现此邮政编码的任何建议吗? (最好是非hacky解决方案)
答案 0 :(得分:1)
啊哈!!我需要在zipTree前加上'project'来解决这个问题。上面列出的错误消息有点误导。
..
from project.configurations.include.collect{project.zipTree(it)}
..
打印所有配置怎么样?
我如何解决以下问题? (获取无法更改未解决的配置异常)
..
project.configurations.include.each {println it}
..