gradle - 如何在应用其他插件之前配置 Gradle 插件?
问题描述
我正在维护一个基于Nebula Release Plugin构建的插件,并根据当前分支、标签及其配置为项目生成版本。到目前为止,这工作正常。
但是,其他插件在project.version
应用时访问时会出现问题。一个例子是 Kotlin 插件 ( Defect ),它会立即触发版本解析。
问题是,当时我的版本控制插件尚未通过其扩展配置并基于默认值生成版本,这不是我想要的。
有没有办法解决这个问题而不必依赖其他插件的良好行为?
到目前为止我一直在研究的想法:
- 将参数传递给应用块中的版本控制插件会很有用(但我找不到任何方法)
- 发布具有不同默认设置的多个版本控制插件。这将非常混乱,我不确定是否可以使用合理数量的插件变体涵盖所有有用的配置。
- 插件
settings.gradle
在apply
. 这似乎是最好的选择,但使用插件扩展进行配置仍然会更好。
稍后应用有问题的插件(在版本插件配置之后)是一种解决方法,但会弄乱构建文件。在这种情况下,您还必须注意可能间接应用此类有问题的插件的其他插件(例如所有其他 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")
有什么想法可以解决这个问题吗?
解决方案
推荐阅读
- swift - 快速通知操作
- r - 删除数据框中的空值
- c# - 执行 dotnet publish 发布的程序集时找不到依赖项
- asp.net-mvc - 混合 MSAL 和 MVC 表单身份验证
- laravel-backpack - 如何在背包中隐藏字段
- spring - 处理 REST API 调用的顺序
- ionic3 - 如何对 Ionic 3 应用程序进行单元测试
- ssl - 如何将 Cpanel 自动生成的 SSL 下载为(key.pem 和 cert.pem)
- lua - loadstring 和 Lua 中普通函数定义的区别?
- html - 从标签外部提取 HTML
我正在尝试提取位于
<table>
标签上方和下方的 HTML 部分,例如从下面的示例 html 中:sample_html = """ <html> <title><b>Main Title</b></Title> <b>more</b> <b>stuff</b> <