Как обновить обновленные артефакты зависимостей Git в SBT? - PullRequest
27 голосов
/ 14 января 2012

Я настроил SBT (0.11.0) для включения проекта GitHub в качестве зависимости, согласно моему ответу на этот вопрос здесь .

Он работает нормально, за исключением того, что яне могу заставить SBT перекомпилировать мою зависимость от Git, когда она обновляется.Другими словами: если я обновляю зависимость, нажимаю на Git и перезагружаю SBT моего проекта и запускаю package, то SBT не перекомпилирует внешнюю зависимость Git при компиляции моего проекта.

У меня естьпопытался создать новую ветку в моей зависимости от Git (скажем, forcenew) и обновить ветку в конфигурации моего проекта SBT, чтобы использовать это:

lazy val depProject = RootProject(uri("git://github.com/me/dep-project.git#forcenew"))

Но даже это не вызывает обновления.Я немного озадачен - я даже не могу найти, куда SBT помещает проект Git для его компиляции (похоже, он не в ~/.sbt/ или ~/.ivy2/) ...

Любая помощьс благодарностью!

Ответы [ 4 ]

20 голосов
/ 16 февраля 2013

From: https://github.com/sbt/sbt/issues/335

это должно быть исправлено в 0.12.0, просто вызовите "sbt update"

Это было исправленов 0.12.0, так что sbt update достаточно, , но вернулось в 13.0 - сейчас вам нужно стереть зависимость от ~/.sbt/staging/ вручную

9 голосов
/ 24 августа 2012

Вы, вероятно, хотите очистить ~/.sbt/staging/

4 голосов
/ 04 мая 2016

Быстрый взлом, который вы можете добавить в свой build.sbt:

def removegit = Command.command("removegit"){state =>
  val home = sys.env("HOME")
  val k = ("rm -rf "+ home + "/.sbt/0.13/staging/").!
  state
}

commands ++= Seq(removegit)

И тогда sbt removegit сотрет этот каталог. Это не делает ничего умного, как проверка коммитов, что было бы большим обновлением ... Репозитории хранятся в ~/.sbt/0.13/staging/ на моей машине, вам, возможно, придется настроить это.

0 голосов
/ 01 февраля 2012

Попробуйте удалить конкретный проект, который вы хотите перезагрузить из ~ / .ivy2 / cache /, а затем выполните 'sbt update'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...