【发布时间】:2014-08-11 11:12:33
【问题描述】:
我有以下build.gradle:
task wrapper(type: Wrapper) {
gradleVersion = '2.0'
}
apply plugin: 'java'
task filter(type: Copy) {
def subdir = new File(project.buildDir, "subdir")
println("subdir: "+subdir)
if( !subdir.exists() ) {
println("creating subdir")
if(subdir.mkdirs()) {
println("succeeded in making folder")
if(subdir.exists()) {
println("folder exists")
} else {
println("folder does not exist")
}
} else {
println("failed to make folder")
}
} else {
println("folder exists already")
}
}
使用gradle wrapper 下载包装器后,然后运行:
/tmp/test $ ./gradlew clean filter
subdir: /tmp/test/build/subdir
creating subdir
succeeded in making folder
folder exists
:clean
:filter UP-TO-DATE
BUILD SUCCESSFUL
Total time: 4.121 secs
这似乎表明一切正常。但是,当我仔细检查时,我得到了这个:
/tmp/test $ ls -l /tmp/test/build/subdir
ls: /tmp/test/build/subdir: No such file or directory
注意事项:
- 这是在 MacOS Mavericks 上。
- 执行用户可以在 shell 中创建目录。
- 有足够的磁盘空间。
请告知我在使用 Gradle 时可能做错了什么,无法创建目录,但 Gradle 表明它已成功?任何故障排除提示将不胜感激。
谢谢!
【问题讨论】:
-
你到底想在这里实现什么?为什么要手动创建目录,以及要从哪里复制到哪里(毕竟你声明了
Copy任务)? -
你解决过这个问题吗?我很想知道答案。