我正在学习Gradle但是我不理解创建一个包含所有依赖项的jar的jar任务代码(取自Gradle Cookbook):
jar {
baseName = jarBaseName
manifest { attributes "Main-Class": mainClass }
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
}
我的问题是:
1.任务名称是jar . 因为它不像jar << 那样写,我假设这是在配置阶段运行,而不是执行 . 我对么?
2.究竟是什么配置.compile?我假设查询某种依赖类路径,并且每个jar都是zipTree-ed . 然后所有这些东西都与基类路径合并 . 请详细说明
3.The zipTree方法,我假设每种 jar 都是unarchives,但我不确定 . 我对么?
问候,
1 回答
是的你是对的 . 如果未添加任何操作(主要使用
<<
参见文档),则代码将在配置阶段运行 . 您提供的代码也在配置阶段运行 .configurations.compile
指的是使用configurations
object(一种配置容器)的名为compile
的配置 . 在gradle 2.0之前,默认情况下会使用java
插件提供compile
配置 . AFAIR现在被称为javaCompile
. 根据zipTree
你也是对的 .是的你 .