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中创建目录
  • 有足够的磁盘空间
请告诉我Gradle未能创建目录,但Gradle表明它成功,我在这里可能做错了什么?如有任何故障排除提示,将不胜感激


谢谢

可能是复制任务什么也没做,是“最新的”

我认为这是因为复制任务需要一个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")
    }
}