包含来自settings.gradle

时间:2017-01-24 02:21:24

标签: gradle

我有两个独立的项目,我想分开。但是,有时我希望能够简单地将它们组合成一个复合构建。有时候,如果我能在不影响其他开发人员的情况下做一段时间,那就太好了。所以,我想要这样的事情:

我的主要settings.gradle将被检入版本控制,如下所示:

// normal stuff
if (File('extra-settings.gradle).exists()) {
   // This is what I don't know how to do
   includeOtherSettingsFile('extra-settings.gradle')
}

然后将检查到源代码管理中的extra-settings.gradle看起来像这样:

includeBuild('../anxml') {
    dependencySubstitution {
        substitute module('com.analyticspot.ml:framework') with project(':framework')
    }
}

这样我就可以添加一个extra-settings.gradle文件来进行临时复合构建。保持几个提交的方式而不影响其他程序员或担心我不小心将临时更改提交到settings.gradle然后,当我完成时,我可以删除它。

我知道Prezi Pride,看起来很棒但是我们当前的构建工作没有用(我们使用buildSrc,rootDir等)

可以吗?

1 个答案:

答案 0 :(得分:1)

对具有Settings方法的apply(Map)实例执行

settings.gradle,所以我猜你可以这样做:

// use Settings.getRootDir() so that it doesn't matter which directory you are executing from
File extraSettings = new File(rootDir, 'extra-settings.gradle')
if (extraSettings.exists()) {
    apply from: extraSettings
}