重命名项目名称不起作用

时间:2012-09-06 18:44:41

标签: gradle

在我的settings.gradle文件中,我最初使用的是

include 'server', 'webapp'

我修改它并打破

include 'server', 'webapp'

modifyProjectNames(rootProject, "sdi-")

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

它说“带路径项目':webapp'在根项目'SDI'中找不到”,所以我修改了我的文件

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。但它确实有用。

感谢, 迪安

1 个答案:

答案 0 :(得分:1)

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

rootproject.children.each{proj->
    proj.projectDir = file(proj.name - "SDI-")
}

欢呼声, 雷