使用gradle分发插件创建分发时,有没有办法添加空目录(例如“日志”)?
我看到了this JIRA,描述了完全相同的事情。它仍处于打开状态https://issues.gradle.org/browse/GRADLE-1671
我想知道是否有任何可以使用的解决方法。我不太明白jira中描述的变通方法。
谢谢。
答案 0 :(得分:9)
所以我设法通过遵循上述JIRA中的建议来创建虚拟空目录,然后将其复制到分发位置。
它丑陋但有效。我确信它可以更有效地编写。这是来自发行版/主要/内容的复制块:
into('') {
//create an empty 'logs' directory in distribution root
def logDirBase = new File('/tmp/app-dummy-dir')
logDirBase.mkdirs()
def logDir = new File(logDirBase.absolutePath + '/logs')
logDir.mkdirs()
from {logDirBase}
}
答案 1 :(得分:0)
根据Logato自己的回答,我提出了以下代码,它更优雅,并且还正确关闭文件指针(使用with
上下文):
distributions {
main {
baseName = 'app'
contents {
into('') {
File.createTempDir().with {
def tmpLog = new File(absolutePath, 'logs')
println tmpLog.absolutePath
tmpLog.mkdirs()
from (absolutePath) {
includeEmptyDirs = true
}
}
// ...
}
// ...
}
}
}