2012-09-06 187 views
0

在我settings.gradle文件,我本来这其中工程重命名项目名称不工作

include 'server', 'webapp' 

我将它修改为这一点,它打破

include 'server', 'webapp' 

modifyProjectNames(rootProject, "sdi-") 

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

它说,与路径“项目“:Web应用程序”无法在根项目“SDI””中找到,所以我修改我的文件,这个代替

include 'master', 'sdi-webapp' 

modifyProjectNames(rootProject, "sdi-") 

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

我得到完全相同的发ilure但我没有:web应用中settings.gradle所以它必须是我的主要gradle这个构建文件,所以我现在重命名的项目,以及到:所以现在略有误差变化SDI-web应用到

Project with path ':sdi-webapp' could not be found in root project 'SDI'. 

我有一个项目结构像这样

SDI - 服务器 - web应用

,我想所有的项目名称是SDI服务器和SDI-web应用,等等,等等,但我想的目录被称为

/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' 

它,如果你通过你的构建样的工作失败。 gradle文件和修改EVERY参考也有前缀那种破坏尝试不重复你的编程规则的前缀自己:(:(所以如果我想修改前缀,我必须做一个丑陋的发现并替换:(... ick。但它确实有效。

感谢, 院长

回答

1

作为一种变通方法,您CA尝试使用projectnames你prefere(SDI -...)在包括电话和改变各子项目PROJECTDIR:

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

欢呼声, rene

+0

没有工作。我尝试添加代码来编辑问题,但仍无法找到该项目。 –

+0

好的,我发现它的工作原理并不像我想要的那样,因为我必须修改build.gradle文件,它的所有参考文献:(。 –