ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

BAML JetBrains 插件变更日志解读:从 IntelliJ 平台插件模板到 BAML 扩展的版本演进

BAML JetBrains 插件变更日志解读:从 IntelliJ 平台插件模板到 BAML 扩展的版本演进 编程语言AI Agent编译器CLI人工智能【免费下载链接】bamlThe programming language for agents项目地址https://gitcode.com/gh_mirrors/ba/baml点击查看免费下载jetbrains/CHANGELOG.md记录了 BAML 项目 JetBrains 插件BAML v0 Playground的完整版本历史。它遵循 Keep a Changelog 约定既保留了上游 IntelliJ Platform Plugin Template 的模板期演进记录又标记了 BAML 分叉后的自有版本。阅读本文档并结合jetbrains/目录下的 gradle.properties、libs.versions.toml 等配置文件读者可以掌握该插件的构建工具链选型JDK 21、Gradle 8.13、IntelliJ Platform Gradle Plugin、sinceBuild/untilBuild兼容区间的确定依据以及变更日志在发布流程中的实际作用。这份变更日志的结构与两条版本脉络CHANGELOG.md 开头注明其格式依据 Keep a Changelog 指南标题为 IntelliJ Platform Plugin Template Changelog。这一标题揭示了该文件的来源jetbrains/目录最初基于 JetBrains 官方平台插件模板创建正如 README.md 中所述This directory was originally created using JetBrains intellij-platform-plugin-template因此变更日志中存在两条清晰的版本脉络模板期0.0.1 → 2.1.02020-06 至 2025-03 期间的记录全部继承自上游模板描述的是通用插件脚手架的演进Gradle 插件迁移、Qodana/Kover/CodeCov 集成、GitHub Actions 工作流等BAML 分叉期0.0.1-beta## [0.0.1-beta] - 2025-05-23是 BAML 自己的第一个版本条目仅记录了三项内容Initial project scaffold初始项目脚手架GitHub Actions to automate testing and deployment用于自动化测试与部署的 GitHub ActionsKotlin supportKotlin 支持当前[Unreleased]区段为空。值得注意的是从 gradle.properties 看当前插件版本已演进到pluginVersion 0.226.2说明 0.0.1-beta 之后插件仍在快速迭代但变更日志未同步追加新条目——阅读时应对照配置文件中的实际版本号而不应把 CHANGELOG 顶部视为最新状态。模板基线 2.1.0BAML 继承的构建工具链快照BAML 分叉点紧随模板 2.1.02025-03-28之后。理解这一版本的变更就理解了 BAML 插件的出厂配置Added新增示例代码ProjectActivity对应仓库中的 BamlProjectActivity.kt 的雏形添加opentest4j测试依赖用于 IntelliJ 平台 Gradle 插件测试框架该依赖缺失会引发常见问题Removed移除移除示例代码MyApplicationActivationListener移除冗余的平台依赖辅助函数instrumentationTools()、pluginVerifier()、zipSigner()GitHub Actions 中移除gradle/actions/wrapper-validation因为gradle/actions/setup-gradlev4已默认执行 wrapper 校验Changed变更——BAML 当前构建体系的关键参数配置项2.1.0 变更当前仓库实际值JVM 版本升级到21qodana.yml 中projectJDK: 21印证Gradle Wrapper升级到8.13gradle.propertiesgradleVersion 8.13gradle-wrapper.properties 指向gradle-8.13-bin.zipplatformVersion更新为2024.2.5gradle.properties 保持platformVersion 2024.2.5since/until build改为242-252.*2024.2–2025.2.*gradle.properties 演进为242-261.*见下文org.jetbrains.intellij.platform升级至2.5.0libs.versions.toml 已进一步升至2.6.0org.jetbrains.kotlin.jvm升级至2.1.20libs.versions.toml 保持2.1.20org.jetbrains.qodana升级至2024.3.4libs.versions.toml 保持2024.3.4且 qodana.yml 使用jetbrains/qodana-jvm-community:2024.3linterorg.jetbrains.kotlinx.kover升级至0.9.1libs.versions.toml 保持0.9.1GitHub Actions 依赖wrapper-validation升至v4、codecov/codecov-action升至v5—这组配置在当前仓库中大多被原样保留说明 BAML 插件的构建体系与 2.1.0 模板基线高度一致个别依赖如intelliJPlatform2.5.0 → 2.6.0在分叉后继续升级。since/until build 兼容区间的演进与当前边界变更日志中反复出现的 Change since/until build 条目是该插件最重要的兼容性机制。pluginSinceBuild与pluginUntilBuild决定插件能在哪些 IntelliJ 构建号上安装2.1.0 时代为242-252.*2024.2–2025.2.*当前 gradle.properties 中为pluginSinceBuild 242、pluginUntilBuild 261.*当前配置中包含两段极具信息量的注释解释了边界值是如何确定的下限 242 的原因插件依赖 TextMate bundle API用于 BAML 语法高亮该 API 要求平台构建号从 241 起上限 261.的原因*BAML 编译时针对 LSP4IJ 0.14.0而 Marketplace 当前将强制依赖解析到 0.20.1且 Marketplace 最新发布的 LSP4IJ 与 IntelliJ 2026.2build 262二进制不兼容。因此在出现兼容的 LSP4IJ 版本之前BAML 无法支持 262pluginUntilBuild必须与marketplaceVerificationVersion当前为 2026.1.5保持同步。同时 gradle.properties 显式声明了platformPlugins com.redhat.devtools.lsp4ij:0.14.0与platformBundledPlugins org.jetbrains.plugins.textmate与上述注释互为印证。这正是 README.md 所述LSP4IJ 是用于 LSP 集成的第三方框架的具体落地BAML 的 JetBrains 插件通过 LSP4IJ 连接 BAML 语言服务器提供符号跳转、定义导航等能力。模板期版本演进全景0.0.1 → 2.1.0虽然 BAML 并未继承这些版本但模板期记录完整反映了 IntelliJ 插件工程实践的演进轨迹对理解当前配置为何如此有直接参考价值。按时间倒序摘录各版本的关键变更1.x 系列平台插件 2.x 时代的准备期版本日期关键变更2.1.02025-03-28见上节BAML 基线2.0.22024-10-07Gradle Wrapper8.10.2、platformVersion2023.3.8、intellij.platform2.1.0修复 Run Plugin 日志位置移除 Run Qodana / Run UI for UI Tests 运行配置2.0.12024-08-09platformVersion2023.3.7、since/until build 改为233-242.*、Kotlin1.9.25、kover0.8.3、Qodana2024.1.92.0.02024-07-30迁移到 IntelliJ Platform Gradle Plugin 2.0——这是 1.x 与 2.x 的分水岭插件 ID 从org.jetbrains.intellij变为org.jetbrains.intellij.platformgradle.properties中的依赖配置方式也随之改变1.14.22024-07-12Gradle Wrapper8.9移除默认插件图标1.14.12024-06-19platformVersion2023.2.7、Wrapper8.8、org.jetbrains.intellij1.17.41.14.02024-05-30platformVersion2023.2.6、since/until build232-242.*、Kotlin2.0.0、Wrapper8.7CI 中以gradle/actions/wrapper-validationv3替换旧版校验 action1.13.02024-03-11修复插件发布通道的计算逻辑Run Tests运行配置改用RunAsTestIDE 特性foojay-resolver-convention 升到0.8.0与当前 settings.gradle.kts 中使用的版本一致1.12.02024-02-20since/until build 改为223-241.*CI 以gradle/actions/setup-gradlev3替换gradle/gradle-build-actionv21.11.x2023-08 ~ 12系列小步升级Wrapper 从8.3逐版升至8.5并引入 JetBrains Runtime 跑 Gradle1.10.02023-08-04集成 Foojay Toolchains PluginCI 使用free-disk-space释放磁盘修复 Kover 报告路径1.9.0 / 1.8.02023-07CI 显式使用 Java 17移除 Kotlin 编译器 OOM 的临时 workaroundKotlin1.9.0后该问题消失1.7.02023-06-07JVM Toolchain 改为 Java 17Qodana 指定projectJDK: 17与 linter 属性——当前 qodana.yml 的projectJDK: 21正是沿袭了这一实践并随 2.1.0 升级1.6.02023-04-13引入Gradle 版本目录version catalog即当前 libs.versions.toml 的由来、Kotlin DSL 惰性属性赋值、Gradle 构建缓存1.5.02023-03-10迁移到 Gradle Provider API 以改善配置缓存兼容性新增MyToolWindowFactory示例BAML 的 BamlToolWindowFactory.kt 即用于承载基于 JCEF 的 BAML Playground 工具窗口1.4.02023-01-13CI 改用GITHUB_OUTPUT环境文件替代::set-outputWrapper 升至7.61.3.02022-11-17集成Kover 代码覆盖率并上报 CodeCov在gradle.properties中启用 Gradle 配置缓存kotlin.jvmToolchain(11)简写1.2.02022-08-07使用 JVM toolchain 管理源码/目标编译兼容性CI 释放磁盘空间1.0.0 及更早脚手架奠基期版本日期关键变更1.0.02021-09-07首个正式版本插件签名Plugin Signing、Qodana 集成、功能测试、Java 11 兼容移除 detekt/ktlint 改用 Qodana0.10.12021-05-31引入next分支保证main始终是稳定分支0.9.02021-03-29引入properties简写函数访问gradle.propertiesDependabot 检查 workflow 文件0.8.x2020-12 ~ 2021-02配置 changelog Gradle 插件Wrapper 6.8 系列README.md解析修复0.7.x2020-11 ~ 12预定义 Run/Debug 配置基础平台版本升至 2020.10.6.02020-10-29通过 GradlerunPluginVerifier任务集成 IntelliJ Plugin Verifier并缓存验证用的 IDE0.5.02020-10-12引入platformPlugins属性用于声明对捆绑/外部插件的依赖当前仓库用它声明 LSP4IJ 与 textmate见 gradle.properties0.4.02020-10-02默认改为不捆绑 Kotlin 标准库——对应当前 gradle.properties 中保留的kotlin.stdlib.default.dependency false0.3.x2020-07 ~ 08ktlint 集成按插件版本自动确定发布通道如1.0.0-beta→beta通道0.2.02020-07-02JetBrains 插件徽章、ktlint0.1.02020-06-26settings.gradle.kts当前仓库保留见 settings.gradle.kts#REMOVE-ON-CLEANUP#标记0.0.22020-06-22集成 Gradle Changelog Pluginorg.jetbrains.changelog当前 libs.versions.toml 中为2.2.10.0.1—初始脚手架、GitHub Actions 自动化、Kotlin 支持变更日志在 CI 与发布流程中的作用变更日志在模板期记录中透露了它在自动化发布中的定位这些机制在 BAML 插件中同样适用changelog Gradle 插件org.jetbrains.changelog当前2.2.1解析CHANGELOG.mdpatchPluginXML.changeNotes任务会将对应版本条目注入plugin.xml的发布说明。1.4.0 修复了当前插件从未发布时回退到 Unreleased 变更说明的问题1.1.0 修复了变更说明在patchChangelog任务与 Release Draft 之间的传递问题——这说明发布流程强依赖 changelog 条目的规范性。Release Draft 工作流发布时从 changelog 提取该版本变更说明作为 PR 内容1.3.0 起还会给 Publish Plugin 工作流创建的 PR 打上release changelog标签1.11.1 曾修复已有release changelog标签导致发布工作流失败的问题。wrapper 校验的演进0.3.1 起 CI 缓存 Gradle Wrapper 并做 wrapper 校验1.0.0 时代的gradle/wrapper-validation-action到 2.1.0 时该校验已并入setup-gradlev4的默认行为被移除——当前仓库中setup-gradlev4即体现了这一点。依赖健康检查1.13.0 记录了对publishPlugin.channels取值计算的修复1.12.0 修复了 Create Release Draft 步骤中的 bash 变量访问问题。变更日志与仓库现状的交叉核对将 CHANGELOG 条目与当前仓库文件对照可以确认 BAML 插件的构建配置在分叉后基本稳定仅有少量渐进式升级保持一致Kotlin2.1.20、kover0.9.1、Qodana2024.3.4、platformVersion2024.2.5、Gradle 8.13、JDK 21已升级intelliJPlatform2.5.0 → 2.6.0libs.versions.tomlchangelog 插件 2.2.0 → 2.2.1均未在 CHANGELOG 中记录边界扩展pluginUntilBuild从模板期的252.*扩展到261.*且新增了marketplaceVerificationVersion 2026.1.5这一模板期没有的概念用于标注经 Marketplace 依赖解析验证的最高 IntelliJ 版本版本脱节pluginVersion已至 0.226.2但 CHANGELOG 停留在 0.0.1-beta 且 Unreleased 为空。阅读与验证建议如果你需要跟踪该插件的构建与发布行为建议按以下顺序查阅仓库文件jetbrains/CHANGELOG.md版本历史与变更约定jetbrains/gradle.properties插件坐标pluginId baml、兼容区间、平台版本、平台插件依赖jetbrains/gradle/libs.versions.tomlGradle 版本目录中的插件与库版本jetbrains/qodana.yml静态分析的 linter 镜像与 JDK 配置jetbrains/README.md插件功能概述语法高亮、LSP 集成、基于 JCEF 的 BAML Playground与实现方式说明。构建本身由 Gradle 管理可通过jetbrains/目录下的gradlew执行相应的构建与验证任务变更日志中提及的runPluginVerifier插件兼容性验证与patchChangelog/patchPluginXML发布说明注入等任务名可作为理解其 CI 流程的线索。赞分享编程语言AI Agent编译器CLI人工智能【免费下载链接】bamlThe programming language for agents项目地址https://gitcode.com/gh_mirrors/ba/baml点击查看免费下载相关推荐ProxyPool 变更日志深度解读从版本演进到插件化采集架构的重构之路ProxyPool 变更日志深度解读从版本演进到插件化采集架构的重构之路 本指南以 docs/changelog.md 为主线逐条解读 Python Pro后端网页爬虫网络从 v0.1 到 v5Centrifugo 版本演进史与变更日志全解读从 v0.1 到 v5Centrifugo 版本演进史与变更日志全解读 本文以 Centrifugo 官方 CHANGELOG.md 为骨架系统梳理这个自托消息队列后端通信Gatsby gatsby-plugin-gatsby-cloud 插件变更日志深度解读版本演进与构建管线实现Gatsby gatsby plugin gatsby cloud 插件变更日志深度解读版本演进与构建管线实现 本篇以 CHANGELOG.md https:前端静态站点Web框架上一篇终极优化指南5个关键策略实现大规模glTF场景高效网络传输下一篇Dorado双工碱基识别实战如何将测序准确性提升到99%以上创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表