Сохранить результаты инкрементальной компиляции 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.

Другие вопросы по тегам