Gradle复制任务不起作用

时间:2016-01-25 15:33:23

标签: gradle

我正在尝试将我的JavaFX构建从Maven转换为Gradle。我需要做的一件事是将我的文件从非标准位置复制到我的javafx-gradle-plugin可以使用的位置。

出于某种原因,gradle没有复制文件,但我没有收到任何错误。

这是我的任务:

task copyRequiredRuntimeConfiguration(type: Copy) {
    logger.error('***************************************************Source Folder is')
    FileTree tree = fileTree(dir: 'properties')
    tree.each {File file ->
        println file
    }

    from 'properties'
    into '{project.buildDir}/additionalResources/properties'
    include '**/*.*'

    logger.error('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Destination Folder is')
    FileTree tree2 = fileTree(dir: '{project.buildDir}/additionalResources/properties')
    tree2.each {File file ->
        println file
    }
}

我得到的输出是:

***************************************************Source Folder is
C:\workspace\GRADLE-POC\master-module\app\properties\log4j.xml
C:\workspace\GRADLE-POC\master-module\app\properties\server.properties
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Destination Folder is
:javafx-framework:compileJava

由于某种原因,副本永远不会发生,并且文件夹没有被创建。我已经尝试首先创建目录(创建了结构),但是复制到该位置也不起作用。

我真的很新,所以这可能很容易 - 我似乎无法确定问题。但是我可以看到源目的地的列表。

1 个答案:

答案 0 :(得分:2)

我认为你唯一的问题是语法问题,只需用脚本中的花括号和单引号替换美元符号和双引号,这样你的脚本就会像这样。

task copyRequiredRuntimeConfiguration(type: Copy) {
logger.error('***************************************************Source Folder is')
FileTree tree = fileTree(dir: 'properties')
tree.each {File file ->
    println file
}

from 'properties'
into "$projectDir/additionalResources/properties"
include '**/*.*'

logger.error('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Destination Folder is')
FileTree tree2 = fileTree(dir: "$projectDir/additionalResources/properties")
tree2.each {File file ->
    println file
 }
}

它会起作用!