首页 > 解决方案 > 如何在应用其他插件之前配置 Gradle 插件?

问题描述

我正在维护一个基于Nebula Release Plugin构建的插件,并根据当前分支、标签及其配置为项目生成版本。到目前为止,这工作正常。
但是,其他插件在project.version应用时访问时会出现问题。一个例子是 Kotlin 插件 ( Defect ),它会立即触发版本解析。
问题是,当时我的版本控制插件尚未通过其扩展配置并基于默认值生成版本,这不是我想要的。

有没有办法解决这个问题而不必依赖其他插件的良好行为?
到目前为止我一直在研究的想法:

稍后应用有问题的插件(在版本插件配置之后)是一种解决方法,但会弄乱构建文件。在这种情况下,您还必须注意可能间接应用此类有问题的插件的其他插件(例如所有其他 Kotlin 插件)。

plugins {
    id("my.versioning.plugin") version "0.7.2"
    id("java")
    kotlin("jvm") version "1.4.32" apply false
}

versioning {
    // plugin configuration goes here...
}

// now apply the problematic plugins
plugins.apply("org.jetbrains.kotlin.jvm")

有什么想法可以解决这个问题吗?

标签: gradlepluginsconfigurationversion

解决方案


推荐阅读