我正在尝试编写一个插件来将所有依赖项(解压缩)填充到同一个 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的解决方案)