首页 > 解决方案 > 从自定义插件中配置 gradle cpp 插件

问题描述

我目前正在创建一个自定义 Gradle 插件,其目的是将 cpp 插件应用于应用该插件的项目。

应用 cpp 插件后,我希望能够在 cpp 插件上设置源集以定义源文件等的标准布局。这在应用于 DSL 中的项目时当然非常简单,但在尝试此操作时似乎很困难通过基于 Java 的插件。

这背后的目的是我希望能够拥有一个位于我的代码库内部的自定义插件,它允许我将插件应用于设置所有 cpp 源集和二进制/库/测试设置的项目不需要我在代码库中的众多项目(微服务)上设置所有这些。

到目前为止,我已经能够创建自定义插件,以便它可以包含在另一个项目中,并且自定义插件应用了 cpp 插件,但是就配置 cpp 插件而言,我有点失利。

我当前的代码如下:

class customPlugin implements Plugin<Project> {
void apply(Project project) {
    project.setBuildDir(project.getRootProject().getBuildDir())

    project.getPluginManager().apply "cpp"
    CppPlugin nativeComponentPlugin = project.getPlugins().getPlugin('cpp')  //I can't do anything useful with this object

    project.task(project.getName()) {
        doLast {
            println 'Project ' + project.getName()
        }
    }
}

然后,在另一个项目中,我调用以下内容来应用插件(其中有效但提供完整性)

apply plugin: org.company.projectplugins.customPlugin

标签: c++gradleplugins

解决方案


推荐阅读