Подтвердить что ты не робот

Как скомпилировать один файл в sbt

Я делаю рефакторинг, который заставил компилятор временно давать ошибки в нескольких файлах. Я хотел бы работать с ними один за другим (начиная с общих зависимостей) и нуждаться в каком-то инструменте для проверки правильности модификации.

sbt compile неудобно, потому что он дает слишком много ошибок и тратит много времени на компиляцию вещей, которые не приносят пользы.

Я ищу способ скомпилировать один файл с помощью sbt или метод для извлечения определения сторонних библиотек sbt для передачи их в обычный компилятор scalac

Была аналогичная тема: Как скомпилировать только некоторые файлы с sbt?, которые оказались причиной ошибки в исходном коде, а не раскрытием функций sbt.

4b9b3361

Ответ 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