Как использовать стороннюю библиотеку в 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
.