Похоже, что начиная с SBT 1.9.9 мета-сборки SBT по-прежнему компилируются с использованием варианта компилятора Scala 2.12.18 по умолчанию. Обратной стороной этого является то, что все мои проекты Scala теперь используют Scala 3 с ее новым синтаксисом, и поэтому мне нужно кодировать свой проект в одной версии Scala, но поддерживать сборку в другой версии со старым синтаксисом.
Я предполагаю, что изменение версии Scala, используемой мета-сборкой, на Scala 3, скорее всего, приведет к проблемам с плагинами SBT, которые не были скомпилированы для Scala 2.13 или 3 и т. д.
Вместо того, чтобы мучиться с проверкой этого, кто-нибудь знает, можно ли скомпилировать мета-сборку с использованием Scala 3? Есть ли планы по переводу мета-сборок на Scala 3?
По состоянию на 2024–2004 годы SBT 1.x по-прежнему использует Scala 2.12.
Мета-сборка (ваш собственный код или код плагина) должна быть написана на Scala 2.12.
С 2024–2004 годов поддержка Scala 3 в метасборке SBT запланирована для SBT 2.x.
См. следующие обсуждения:
Обычно это вполне нормально, поскольку вам не нужны очень продвинутые функции Scala в мета-сборке. Если да, то это может указывать на то, что вы зашли слишком далеко в «сборке как код», ИМХО.
Спасибо, @Гаэль. Мне не столько нужны расширенные функции, сколько просто желание иметь единый синтаксис для поддержки... :-) Использование LTS-версии было бы идеальным.