gpt4 book ai didi

gradle - 重命名项目名称不起作用

转载 作者:行者123 更新时间:2023-12-03 05:18:30 25 4
gpt4 key购买 nike

在我的settings.gradle文件中,我原来有这个可以工作

include 'server', 'webapp'

我对此进行修改,但它中断了
include 'server', 'webapp'

modifyProjectNames(rootProject, "sdi-")

def modifyProjectNames(project, prefix) {
project.children.each {
it.name = prefix + it.name
}
}

它说“在根项目'SDI'中找不到路径为':webapp'的项目”,因此我将文件修改为此
include 'master', 'sdi-webapp'

modifyProjectNames(rootProject, "sdi-")

def modifyProjectNames(project, prefix) {
project.children.each {
it.name = prefix + it.name
}
}

我得到了完全相同的失败,但是我在settings.gradle中没有:webapp,因此它必须是我的主要gradle构建文件,因此我现在也将该项目重命名为:sdi-webapp,所以现在错误略有变化。
Project with path ':sdi-webapp' could not be found in root project 'SDI'.

我有一个像这样的项目结构

SDI
-服务器
-webapp

我希望所有项目名称均为sdi-server和sdi-webapp等。但是,我希望目录被调用
/SDI/server instead of /SDI/sdiserver
/SDI/webapp instead of /SDI/sdiwebapp

即。在那里冗余是没有意义的。

编辑

我在另一个像这样的项目上尝试了第一个答案
include 'master', 'toneserver','webserver'

modifyProjectNames(rootProject, "sdi-")

def modifyProjectNames(project, prefix) {
project.children.each {
it.name = prefix + it.name
}
}

rootProject.children.each {proj ->
proj.projectDir = file(proj.name - "sdi-")
}

它只是失败了
Project with path ':toneserver' could not be found in root project 'stserver'

如果您遍历build.gradle文件并修改每个引用以也具有前缀,则这种工作方式会破坏那种试图不重复自己的编程规则的方法:( :(因此,如果我想修改前缀,必须做一个难看的查找并替换:(... ick。但是它确实起作用。

谢谢,
院长

最佳答案

作为一种解决方法,您可以尝试在include调用中使用您喜欢的项目名称(SDI -...),并更改每个子项目的projectDir:

rootproject.children.each{proj->
proj.projectDir = file(proj.name - "SDI-")
}
干杯,
勒内

关于gradle - 重命名项目名称不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12306466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com