我们有一个多项目的设置,包括应用程序和库项目。就像这样,
top -
|- android-build (build tools here)
|- android-help
|- helper (app module)
|- android-setup
|- setup (app module)
|- android-common
|- common (library module)
|- common-style (library module)top下的每个项目都是独立的。应用程序文件夹通过maven依赖项引用库(因此显然需要首先构建库)。
我想在android-build文件夹中定义一个构建脚本,它可以构建所有的应用程序和库,而且还可以加载到android中,让所有的项目都可以一起访问。
我在android-build/settings/gradle上做过,
def rootDir = new File( androidBuild + "/.." ) // androidBuild -> android-build
println "rootDir=" + rootDir
include ':android-help:help'
project( ':android-help:help' ).projectDir = new File( rootDir, 'android-help/help' )
include ':android-setup:setup'
project( ':android-setup:setup' ).projectDir = new File( rootDir, 'android-setup/setup' )
include ':android-common:common'
project( ':android-common:common' ).projectDir = new File( rootDir, 'android-common/common')
include ':android-common:common-style'
project( ':android-common:common-style' ).projectDir = new File( rootDir, 'android-common/common-style')一切都很好,直到它到达android-common:common,这依赖于android-common:common-style和compile project(...),
* What went wrong:
A problem occurred evaluating project ':android-common:common'.
> Project with path ':common-style' could not be found in project ':android-common:common'.我真正想要的是为每个项目做这样的事情,
include ':android-common'
project( ':android-common' ).projectDir = new File( rootDir, 'android-common')也就是说,只包含顶级项目build.gradle,但是gradle不喜欢这个,也没有在下面找到任何模块。
发布于 2014-03-26 21:48:04
由于您正在重新定义项目的位置,所以您应该能够编写:
include ':common-style'
project(':common-style' ).projectDir = new File( rootDir, 'android-common/common-style')这样,当您只包括common和common-style时,您可以使项目路径(项目路径(项目路径))与项目路径匹配。这个分级路径不必与磁盘上的路径相匹配。
目标是让这些项目有一个不变的路径,不管设置是什么,这样项目间的依赖关系总是一样的。
https://stackoverflow.com/questions/22672899
复制相似问题