scala 2.13 - ошибка при компиляции плагина

Я хочу создать плагин sbt

это мой проект

build.sbt файл:

lazy val root = (project in file(".")).
  settings(
    name := "test-plagin",
    version := "0.1.0",
    organization := "com.test",
    scalaVersion := "2.13.0",
    sbtPlugin := true,
  )

основной файл с задачей

import sbt.{AutoPlugin, TaskKey}

object HelloPlugin extends AutoPlugin {

  object autoImport {
    val sayHello: TaskKey[Unit] = TaskKey("saying hello")
  }

  import autoImport._
  override def projectSettings = Seq(

    sayHello := {
      println("hello")
    }
  )

}

Во время компиляции я получаю сообщение об ошибке: java.lang.NoClassDefFoundError: scala/collection/immutable/StringOps Когда я меняю версию на 2.12.6 - компиляция успешна. Как исправить ошибку в 2.13?

1 ответ

Sbt написан на Scala 2.12

https://github.com/sbt/sbt/blob/develop/project/Dependencies.scala

https://github.com/sbt/sbt/issues/5032

Таким образом, вы должны использовать Scala 2.12 для плагинов sbt.

Другие вопросы по тегам