问题 - 使用gradle无法创建目录 [英] issue - creating a directory with gradle not working

查看:182
本文介绍了问题 - 使用gradle无法创建目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下 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屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆