Трудный способ избавиться от всего, созданного sbt

Легкий способ избавиться от * всего *, созданного SBT? запрашивает простой способ очистки всех файлов, созданных с помощью sbt, и не нашел их. Я попрошу тяжелый. Как получить make cleanall с помощью sbt?

ОБНОВЛЕНИЕ: для определения всего, вы должны знать, почему вам нужно clean all. Существуют две распространенные причины:

  1. Чтобы что-то распространять: вам нужно подтвердить, что кто-то может взять новую машину, загрузить ваш код и построить его без проблем. (Или кто-то не может, и вы хотите отлаживать).

  2. Когда что-то пошло ужасно неправильно. Некоторая смешная версия какой-то баночки где-то что-то ломает. Иногда проще всего начинать свежие, а не пытаться отлаживать... (См. Jim Gray Why Computers Stop)

1 ответ

Вот обычные подозреваемые вещи, которые нужно очистить:

  • ~/.sbt/boot - Безопасный кеш самого sbt, чтобы избежать исчезновения oddiites JAR
  • ~/.sbt/**/target - Скомпилированные глобальные определения плагина/сборки.
  • ~/.ivy2/cache - кеш-память разрешенных зависимостей
  • ~/.ivy2/local - publishLocal файлы
  • <cwd>/project/**/target</cwd> - Скомпилированные сборки/плагины
  • <cwd>/**/target</cwd> - Артефакты от создания вашего проекта, в том числе кэшировщики компиляторов, файлы классов и т.д.

sbt не может обеспечить задачу "очистить все" напрямую, потому что удаление JARs/классов sbt активно используется для запуска вашей сборки приводит к суперчетному и злобному поведению. Но вы можете написать простой скрипт BASH, который может это сделать, если это необходимо.

licensed under cc by-sa 3.0 with attribution.