Java 问题-创建gradle不工作的目录
我有以下Java 问题-创建gradle不工作的目录,java,shell,gradle,Java,Shell,Gradle,我有以下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() ) { pr
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中创建目录
- 有足够的磁盘空间
谢谢 可能是复制任务什么也没做,是“最新的” 我认为这是因为复制任务需要一个from和into 尝试创建一个非复制任务,如
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")
}
}
task filter()您在这里到底想要实现什么?为什么要手动创建目录,以及从/到要复制的位置(在您声明了copy
task之后)?您曾经解决过这个问题吗?我很想找到答案。
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")
}
}