Как использовать стороннюю библиотеку в taskKey?

Я хочу использовать стороннюю библиотеку в taskKey в файлах проекта.Scala/.sbt.

Моя проблема, когда я пытаюсь импортировать файл, я получаю ошибку компиляции.

Моя цель проста: я хочу добавить ключ задачи, который выполняет некоторую логику с использованием sbt cli, я пробовал пример с использованием приложения командной строки sbt, но он не удовлетворяет моим потребностям, потому что мне нужно упаковать приложение для тестирования кода.

Итак, как я могу импортировать зависимости в sbt cli на этапе загрузки?

Пример:

val customTaskKey = TaskKey[Unit]("customTaskKey", "Runs customTaskKey")
lazy val myProjectSettings: Seq[Setting[_]] = Seq(
  customTaskKey :={

    val instance : ThirdPartLibraryClass()
    //             ^
    //            Symbol not found : compilation error
  }
)

1 ответ

Решение

Вы можете добавить зависимость обычным способом, но в my-project/project/plugin.sbt файл вместо my-project/build.sbt:

libraryDependencies ++= Seq(
  "thirdparty" % "library" % "1.0"
)

Если ваш проект foo, foo/project еще один проект SBT, который строит сборку SBT для проекта foo. Итак, настройка сделана в foo/project папка относится к сборке для fooвместо того, чтобы foo сам.

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