Как скомпилировать один файл в sbt
Я делаю рефакторинг, который заставил компилятор временно давать ошибки в нескольких файлах. Я хотел бы работать с ними один за другим (начиная с общих зависимостей) и нуждаться в каком-то инструменте для проверки правильности модификации.
sbt compile неудобно, потому что он дает слишком много ошибок и тратит много времени на компиляцию вещей, которые не приносят пользы.
Я ищу способ скомпилировать один файл с помощью sbt или метод для извлечения определения сторонних библиотек sbt для передачи их в обычный компилятор scalac
Была аналогичная тема: Как скомпилировать только некоторые файлы с sbt?, которые оказались причиной ошибки в исходном коде, а не раскрытием функций sbt.
Ответы
Ответ 1
Вы можете добавить следующую строку в build.sbt
:
sources in Compile <<= (sources in Compile).map(_ filter(_.name == "Particular.scala"))
Затем исправьте Particular.scala
, затем отредактируйте build.sbt
и поместите имя следующего исходного файла. Если вы держите консоль sbt открытым, reload
перечитает файл .sbt после его изменения.
Ответ 2
Я просто хотел упомянуть здесь, что наткнулся на sbt-compile-quick-plugin (https://github.com/etsy/sbt-compile-quick-plugin). Он делает то, что он говорит на жестяне, просто добавьте addSbtPlugin("com.etsy" % "sbt-compile-quick-plugin" % "1.3.0")
к вашему project/plugins.sbt
, затем вы можете просто запустить sbt
и запустить compileQuick /path/to/your/file