如何从命令行获取gradle属性?

时间:2020-06-25 17:32:10

标签: gradle

我正在尝试从命令行界面读取项目属性。有一个任务gradle properties,它会打印所有任务。因此,我可以写:gradle properties | grep "rootProject: root project" | awk '{print $NF}' | tr -d "'"并得到我想要的。返回的结果是正确的。我想使用适当的gradle命令来达到相同的结果。什么是gradle命令来获取项目名称?

这是我的build.gradle

plugins {
    id 'java'
}

tasks.register("rootProjectName") {
    doLast {
        println(rootProject.name)
    }
}

build {
    println 'hi'
}

2 个答案:

答案 0 :(得分:2)

好像您就在rootProject.name属性之后。没有内置的Gradle task会为您提供该属性。您可以编写一个简单的任务,将该值打印到控制台,这将简化您的命令。

tasks.register("rootProjectName") {
    doLast {
        println(rootProject.name)
    }
}

然后只需使用-q调用该任务:

$ ./gradlew rootProjectName -q
demo

在此示例中,您可以看到demo只是打印出来了。

答案 1 :(得分:0)

到目前为止,我得到的最接近的是以下 build.gradle

plugins {
    id 'java'
}

task printRootProjectName {
    doLast {
      println('root project: ' + rootProject.name)
    }
}

build {
    println 'unwanted output'
}

然后:

gradle printRootProjectName -q | grep "root project:" | awk '{print $NF}' | head -n 1