划分子项目名称与文件夹名称不同

我有几个子项目,它们是多项目构建(平面层次结构)的一部分。我想设置他们的名称不同于他们的文件夹名称。但是,在 include (setings.gradle)中,它必须有文件夹名,否则找不到它(compile project(':ProjectName')也是如此)。

如果我尝试设置 project.name,它会告诉我这是只读的。原因是我们正在从 Ant 转换,并且希望在 Eclipse IDE 中保持相同的名称。至于工件,我们使用 jar.artifactName来设置我们想要的任何名称。

谢谢你。

34912 次浏览

项目名称只能在 settings.gradle中更改,例如:

include "foo" // or `includeFlat`, doesn't matter


// always good to nail down the root project name, because
// the root directory name may be different in some envs (e.g. CI)
// hence the following even makes sense for single-project builds
rootProject.name = "bar"


// change subproject name
project(":foo").name = "foofoo"

或者,您可以在 include语句中使用所需的项目名称,然后重新配置项目目录:

include "foofoo"


project(":foofoo").projectDir = file("foo")

为了提供一些背景知识,includeincludeFlat之间的唯一区别是它们对项目的 projectDir使用不同的默认值。否则它们就是一样的。

有关进一步信息,请参阅 建立语言参考中的 Settings

这是 Kotlin DSL等效于 彼得 · 尼德维泽的回答

设置:

rootProject.name = "MyApp"


include(":Narengi")
project(":Narengi").name = "Bunny"


// OR


include(":Bunny")
project(":Bunny").projectDir = file("Narengi/")