gradle multiproject native build调用依赖关系的构建任务

时间:2015-06-17 21:53:14

标签: gradle

我有一个具有以下结构的多项目构建:

project(":a") {
    apply plugin: 'cpp'
    model {
        buildTypes {
            release
        }
        components {
            a(NativeExecutableSpec) {
                sources {
                    cpp {
                        lib project: ":b", library: 'b', linkage: 'shared'
                        lib project: ":c", library: 'c', linkage: 'shared'
                        source {
                            srcDir "."
                            include "*.cpp"
                        }
                        exportedHeaders {
                            srcDir "."
                            include "*.h"
                        }
                    }
                }
            }
        }
    }
}

项目a可能包含许多库依赖项,例如bc。并且可以有许多项目,例如a

如何确定当我说gradle ":a:build"时,还会调用依赖项的构建任务?

我知道我可以说build.dependsOn(":b:build", ...)但是它似乎是多余的,因为我已经宣布项目b是一个依赖项。那么实现这一目标的最短/最可重用的方法是什么?

修改

我忘了添加库b是一个预构建的库。我想这样做的原因是:

  • 使用exec任务构建库b(我想保留库的原始构建系统)
  • 我想在我的构建任务中仅依赖项目b而不依赖于:b:build
  • 我不想指定像-lb
  • 这样的链接器参数

0 个答案:

没有答案