我正在尝试从命令行界面读取项目属性。有一个任务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'
}
答案 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