在我的Gradle项目中,我定义了一个附加的sourceSet。
output (Table C):
UPC sales volume
123 13.99 2.99
456 13.99 2.99
121 14.99 1.99
789 31.88 22.99
111 31.88 22.99
121 13.99 2.99
然后我添加一个任务:
sourceSets {
sample {
java {
srcDir 'sample/java'
}
compileClasspath += sourceSets.main.output + sourceSets.main.compileClasspath
}
}
如果我执行task sampleJar(type: Jar) {
classifier 'sample'
from sourceSets.sample.output
}
artifacts {
archives sampleJar
}
,则从其他源集构建其他jar文件。但是,如果我做> gradle build
,则不会。有什么原因吗?
浏览输出消息时,我看到:
> gradle jar
在要执行的任务中有gradle build
:
但是
sampleJar
没有。
但是不确定为什么吗?
答案 0 :(得分:1)
因为jar
只是组装主jar文件的任务。
build
是顶级生命周期任务,它取决于assemble
。而assemble
是documented as
取决于:jar和所有其他创建附加到存档配置的工件的任务。
由于您的sampleJar
专门创建了一个附加到归档配置assemble
的工件,因此build
依赖它。