我需要在buiid.gradle文件附近的java项目中创建文件。我必须在build.gradle文件中创建任务(Groovy任务),我的任务必须在我的项目中的buiid.gradle附近创建文件,但我不知道 - 如何获取buiid.gradle文件的路径,即放入我的项目
如何通过Groovy获取文件buiid.gradle的完整路径?请帮帮我。
答案 0 :(得分:19)
有几种方法可以实现这一目标。
file()
对象的Project
方法。projectDir
属性。这些属性在build.gradle
脚本中可用。它们可以分别使用,如下所示:
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。