1
我正在使用Gradle 2.12。在我的构建文件中,我配置每个模块应该在清单中放置额外的信息。我这样做:仅当清单更改时阻止执行jar任务
tasks.withType(Jar) {
manifest {
attributes(
'Build-By': buildBy,
'Build-JDK': buildJdk,
'Build-Time-ISO-8601': buildTime_ISO_8601,
'Build-SCM-Info': buildScmInfo
)
}
变量在构建开始时初始化一次。
这工作正常,有一个缺点:它会导致jar任务总是被调用,因为它发现它的'输入'已更改,并且所有依赖于jar-ed的模块都会重新编译,这是不必要的。例如,对于项目结构:
A,B依赖于A,C依赖于A
当第二时间没有任何更改代码被执行的生成时,A不是编译,而是一种新的罐是因为这个原因,B和C需要重新编译,因为它们的依赖性发生了变化。
这怎么解决?
太简单了,谢谢。 – wujek