问题 - 使用gradle无法创建目录 [英] issue - creating a directory with gradle not working
问题描述
我有以下 build.gradle
:
任务包装器(type:Wrapper){
gradleVersion ='2.0'
}
apply plugin:'java'
任务过滤器(类型:复制){
def subdir = new File(project.buildDir,subdir)
println(subdir:+ subdir)
if(!subdir.exists()){
println(creating subdir)
if(subdir.mkdirs()){
println(成功创建文件夹)
if( ($文件夹不存在)
}
} else {
println(文件夹存在)
} else {
println
println(文件夹已存在)
}
}
在使用 gradle wrapper
下载封装器之后,我运行:
/ tmp / test $ ./gradlew clean filter
subdir:/ tmp / test / build / subdir
创建子目录
成功创建文件夹
文件夹存在
:clean
:过滤器过期日期
制造成功
总时间:4.121秒
这似乎表明一切正常。然而,当我仔细检查时,我得到这个:
/ tmp / test $ ls -l / tmp / test / build / subdir
ls:/ tmp / test / build / subdir:没有这样的文件或目录
Notes :
正在执行的用户能够在shell中创建目录。请告诉我可能在这里做错了与Gradle无法创建目录,但该Gradle表明它是成功的?任何疑难解答提示将不胜感激。
谢谢!
Might是复制任务什么都不做,是最新日期。
13:21:40.045 [INFO] [ org.gradle.api.internal.tasks.execution.SkipEmptySourceFile
sTaskExecuter]跳过任务':过滤器',因为它没有源文件。
我认为这是由于Copy任务需要一个from和into。
尝试创建一个非复制任务,比如,
任务过滤器()<< {
def subdir = new File(project.buildDir,subdir)
println(subdir:+ subdir)
if(!subdir.exists()){
println(creating subdir)
if(subdir.mkdirs()){
println(成功创建文件夹)
if (subdir.exists()){
println(folder exists)
} else else {
println(文件夹不存在)
}
} else {
println(文件夹已存在)
}
}
I have the following 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")
}
}
After downloading the wrapper using gradle wrapper
I then run:
/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
Which seems to indicate everything went okay. However, when I double check I get this:
/tmp/test $ ls -l /tmp/test/build/subdir
ls: /tmp/test/build/subdir: No such file or directory
Notes:
- This is on MacOS Mavericks.
- The executing user is able to create the directory at the shell.
- There is sufficient disk space.
Please advise what I might be doing wrong here with Gradle that fails to create the directory, but that Gradle indicates it was successful? Any troubleshooting tips would be appreciated.
Thanks!
Might be the copy task has done nothing, is "UP-TO-DATE".
13:21:40.045 [INFO] [org.gradle.api.internal.tasks.execution.SkipEmptySourceFile
sTaskExecuter] Skipping task ':filter' as it has no source files.
I think this is due to a Copy task requires a from and into.
Try creating a non copy task like,
task filter() << {
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无法创建目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!