Я создаю свое первое приложение для игры в смешанной среде сборки. Моя компания использует maven для всего (до сих пор), и я пытаюсь заставить свое игровое приложение хорошо взаимодействовать с остальными моими артефактами.
Есть ли способ получить плющ /sbt/play для работы с SNAPSHOTs аналогично maven - а именно, либо обновлять их из удаленного репозитория всегда (например, у строителя), либо использовать локальный .m2 репозиторий до истечения срока действия зависимостей, а затем обновить его с сервера.
Я объявил зависимость SNAPSHOT в моей сборке Build.scala для артефакта, и я хотел бы, чтобы локальные обновления этой зависимости были видимыми для моего игрового проекта. На стороне maven я делаю следующее
mvn clean install
который (конечно) строит и устанавливает мой внешний артефакт в мой локальный репозиторий maven (в ~/.m2/repository). Я хотел бы, чтобы эти изменения были немедленно видны в моем игровом проекте, но я не могу понять, как сказать sbt/play, чтобы не кэшировать SNAPSHOT. Независимо от того, что я делаю, эта зависимость никогда не обновляется в игре - я должен зайти в реальный кеш плюща игры и вручную удалить зависимые для любых изменений, которые нужно подобрать. В идеале я бы хотел, чтобы sbt/ivy просто разрешил путь к моему локальному репозиторию maven и не кэшировал его внутренне. У меня есть следующее в моей Build.scala
val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
resolvers += "Local Maven Repository" at "file://" + Path.userHome.absolutePath + "/.m2/repository",
testOptions in Test := Nil
)
Когда я запускаю сборку в игре, она правильно использует это репо, но затем кэширует результаты в кэш плюща. Есть ли заклинание, которое я могу сказать Ivy/sbt, чтобы не делать этого? Возможно, что-то в ivysettings.xml?