如何通过Groovy获取文件build.gradle的完整路径?

时间:2014-05-07 15:35:26

标签: java groovy path gradle

我需要在buiid.gradle文件附近的java项目中创建文件。我必须在build.gradle文件中创建任务(Groovy任务),我的任务必须在我的项目中的buiid.gradle附近创建文件,但我不知道 - 如何获取buiid.gradle文件的路径,即放入我的项目

如何通过Groovy获取文件buiid.gradle的完整路径?请帮帮我。

2 个答案:

答案 0 :(得分:19)

有几种方法可以实现这一目标。

  1. 如果您查看Working With Files页面,则只需使用属于file()对象的Project方法。
  2. 如果查看Project DSL Docs,您应该会看到projectDir属性。这些属性在build.gradle脚本中可用。
  3. 它们可以分别使用,如下所示:

    task myTask << {
        println file('.')
        println projectDir
    }
    

    输出

    /full/path/to/your/project/
    /full/path/to/your/project/
    

    该目录包含任务所在的build.gradle文件。

答案 1 :(得分:4)

获取表示当前正在执行的.gradle文件的java.io.File的句柄:

def file = buildscript.sourceFile

就我而言,我需要该脚本的目录,以便我可以应用同一目录中的其他配置:

def buildCommonDir = buildscript.sourceFile.getParent()
apply from: "$buildCommonDir/common.gradle"

此方法适用于任何 .gradle文件,而不仅仅是build.gradle。