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

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

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

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

Итак, как мне импортировать зависимости в 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.