Сохранить результаты инкрементальной компиляции sbt при перемещении директории проекта
Рассмотрим сценарий: у меня есть простой scala-проект, управляемый sbt, в каталоге с именем foo
,
cd foo
sbt compile
Теперь это занимает несколько секунд, и проект компилируется правильно.
Теперь, благодаря инкрементальной компиляции sbt, если я запускаю
sbt compile
он завершает задачу компиляции примерно за 0 секунд, так как исходный код не изменился.
Но если я переименую foo
каталог в bar
cd ..
mv foo bar
и попробуйте снова скомпилировать
cd bar
sbt compile
теперь задача компиляции снова занимает несколько секунд, следовательно, не использует результаты предыдущей компиляции.
Есть ли способ сохранить результаты инкрементальной компиляции проекта, даже если его абсолютный путь на диске изменился?
2 ответа
Вы также можете попробовать использовать Hoarder Plugin: https://github.com/romanowski/hoarder.
Ping меня на gitter Hoarder в случае каких-либо вопросов / проблем.
Как выясняется, в настоящее время проводится некоторая работа по кэшированию результатов инкрементной компиляции. Вот соответствующий PR: https://github.com/sbt/zinc/pull/216.
Кроме того, существует проблема (обсуждаемая на момент написания этой статьи) о том, чтобы сделать анализ цинка полностью машинно-независимым. См. https://github.com/sbt/zinc/issues/218.