似乎从 SBT 1.9.9 开始,默认情况下,SBT 元构建 仍然使用编译器的 Scala 2.12.18 变体进行编译。这样做的缺点是,我所有的 Scala 项目现在都使用 Scala 3 及其新语法,因此我需要在一个版本的 Scala 中对我的项目进行编码,但仍以不同的版本维护构建,旧语法。
我假设将 meta-build 使用的 Scala 版本更改为 Scala 3 可能会导致尚未针对 Scala 2.13 或 3 编译的 SBT 插件出现问题,等等
有谁知道是否可以使用 Scala 3 编译元构建,而不是经历验证这一点的痛苦?是否有计划将元构建切换到 Scala 3?
截至 2024 年 4 月,SBT 1.x 仍然依赖 Scala 2.12。
元构建(您自己的代码或插件代码)需要用 Scala 2.12 编写。
截至 2024 年 4 月,计划在 SBT 2.x 中支持 SBT 元构建中的 Scala 3。
请参阅以下讨论:
这通常非常好,因为您在元构建中不需要非常高级的 Scala 功能。如果您这样做,这可能表明您在“构建为代码”方面走得太远了。