我建立了一个类路径罐子里面我的罐子参考("类路径:'wee.jar’),但显然,我还需要输入我的jar任务以下
from {
configurations.compile.collect {
it.isDirectory() ? it : zipTree(it)
}
configurations.runtime.collect {
it.isDirectory() ? it : zipTree(it)
}
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释一下,configuration.compile.collect,runtime,isDirectory和zipTree是做什么的?我查了谷歌,但找不到任何答案.我真的很傻
首先,你不需要configurations.compile和configurations.runtime.在gradle中,编译时依赖项已经自动包含在运行时配置中 - 这使得编译成为运行时的子集.根据你想要达到的目标,你只需要一个或另一个.让我们来看看这个片段:
configurations.compile.collect {
it.isDirectory() ? it : zipTree(it)
}
Run Code Online (Sandbox Code Playgroud)
配置表示工件及其依赖项的集合.compile并且runtime是由java插件添加的配置之一.collect是groovy for:对集合的每个元素执行以下操作,并将结果作为集合返回.因此,有效的代码行转换为 - 对于声明的所有依赖项configurations.compile,执行以下操作并将结果作为集合返回.
it 是迭代器的常规简写 - 所以它代表了上述集合的每个元素.
if `it` is a directory
include it as is,
else
unpack the file and then include it
Run Code Online (Sandbox Code Playgroud)
将整个事物放在一起,代码将所有编译时依赖目录和所有解压缩的编译时间jar包括在你正在构建的jar中.
| 归档时间: |
|
| 查看次数: |
3703 次 |
| 最近记录: |