我正在将一个C ++应用程序移植到Android。该项目取决于一些图书馆。我不想手动构建这些库,而是指示Gradle克隆并构建库。问题是,我还没有很多关于Gradle的知识。
我发现Grgit克隆了存储库,例如对于JsonCpp我有这个任务:
task cloneJsonCpp {
File jsonCppDir = new File('cloneJsonCpp')
if (!jsonCppDir.exists()) {
org.ajoberstar.grgit.Grgit.clone(dir: jsonCppDir.absolutePath, uri: 'https://github.com/open-source-parsers/jsoncpp.git')
}
}
我希望在进行本机构建之前调用此任务。我建立了一种关系like this:
model {
tasks.externalNativeBuildDebug {
dependsOn cloneJsonCpp
}
}
当Gradle正在同步时,我收到错误:
Gradle project cmake.path is .../cloneJsonCpp/CMakeLists.txt but that file doesn't exist
我想这是因为在启动任何任务之前对文件进行了评估,但我想知道在启动C ++编译之前是否可以克隆存储库?