相对于多项目构建文件的路径

时间:2016-04-18 03:54:56

标签: gradle multi-project

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

config/
foo/
    build.gradle
    settings.gradle
    bar/
        build.gradle
    baz/
        build.gradle

我想将config目录添加到foo/build.gradle中的类路径中,以便子项目barbaz可以访问它。我已尝试在foo/build.gradle中执行此操作:

subprojects {
    apply plugin: 'java'
    dependencies {
        runtime files('../config')
    }
}

但是这导致类路径中的以下条目:

/home/me/project/foo/config

当我真正想要的是:

/home/me/project/config

我相信它是因为runtime files('../config')正在foo/bar/build.gradle而不是foo/build.gradle进行评估。那么,我怎样才能获得foo/的路径?我可以使用runtime files('../../config'),但感觉不是很正确。

或者我可能以错误的方式解决这个问题,并且有更好的地方放置配置文件?

1 个答案:

答案 0 :(得分:1)

无论您处于哪个项目/文件夹级别,都可以到达当前配置文件夹位置的一种方法:

"$rootDir/../config"