翻译';project.hasProperty()';在';设置。gradle';从groovy到kotlin

翻译';project.hasProperty()';在';设置。gradle';从groovy到kotlin,gradle,kotlin,groovy,Gradle,Kotlin,Groovy,我正在尝试将gradle项目中的所有groovy脚本翻译成kotlin。我目前唯一的问题是翻译项目根目录中的文件settings.gradle。groovy脚本中有一个if条件if(project.hasProperty(“someProperty”)。不幸的是,当尝试将其转换为kotlin时,project关键字不再被识别。此外,在同一个文件夹中,我有一个build.gradle.kts,它是用kotlin编写的,在这个文件夹中,我可以在if条件下使用project关键字,如前所述,没有任何问

我正在尝试将gradle项目中的所有groovy脚本翻译成kotlin。我目前唯一的问题是翻译项目根目录中的文件
settings.gradle
。groovy脚本中有一个if条件
if(project.hasProperty(“someProperty”)
。不幸的是,当尝试将其转换为kotlin时,
project
关键字不再被识别。此外,在同一个文件夹中,我有一个
build.gradle.kts
,它是用kotlin编写的,在这个文件夹中,我可以在if条件下使用
project
关键字,如前所述,没有任何问题。当我想将
settings.gradle
中的groovy脚本翻译成
settings.gradle.kts
中的kotlin时,它似乎不起作用

该项目是一个gradle项目,设置如下所示:

include ':subproject-a',
        ':subproject-b'

if (project.hasProperty("someProperty")) {
    include ':subproject-c'
}
我想将此翻译成kotlin,如下所示:

include(":subproject-a",
        ":subproject-b")

if (project.hasProperty("someProperty")) {
    include(":subproject-c")
}

但是,当我这样做时,
project
无法识别。尽管如此,如前所述,它的工作原理与
build.gradle.kts
(用kotlin编写,从groovy翻译而来)中的工作原理相同。

您是否尝试过
rootProject
而不是
project
?我认为您所做的一切都不起作用,或者从未起过作用。根据
设置
实例的文档:没有名为
项目
的此类属性或方法。或者,您可以通过涉及反射解决方法来访问您的属性,如所述,或者您可以使用
val myVar:String by project
委托&