저는 혼합 빌드 환경에서 저의 첫 플레이 앱을 설정하고 있습니다. 우리 회사는 모든 것을 위해 maven을 사용하고 (지금까지는) 내 유물이 나머지 유물과 훌륭하게 상호 작용하도록 노력하고 있습니다.Play 2.0 및 SNAPSHOT 종속성
maven과 비슷한 방식으로 SNAPSHOT을 다루기 위해 ivy/sbt/play를 얻을 수있는 방법이 있습니까? 즉, 항상 원격 저장소 (예 : 빌드 작업자)에서 업데이트하거나 로컬을 사용하십시오. 의존성이 '만료 될'때까지 m2 리포지토리에 저장 한 다음 서버에서 새로 고칩니다.
Build.scala에서 유물에 대한 SNAPSHOT 종속성을 선언했으며이 종속성에 대한 로컬 업데이트를 내 게임 프로젝트에 표시하고 싶습니다. 받는다는 측면에서, 나는 (물론) 구축하고 (~/.m2/저장소에서) 내 로컬 메이븐 저장소에 내 외부 아티팩트를 설치하는 다음
mvn clean install
을한다. 이러한 변경 사항을 내 게임 프로젝트에서 즉시 볼 수있게하고 싶지만 SNAPSHOT을 캐시하지 않도록 sbt/play에 알려주는 방법을 알아낼 수 없습니다. 내가하는 일에 상관없이,이 의존성은 결코 재생산되지 않습니다 - 나는 실제 플레이 담쟁이 캐시에 들어가야하고, 변경 사항을 수작업으로 삭제해야합니다. 이상적으로, 나는 sbt/ivy가 내 로컬 메이븐 레포에 대한 경로를 해결하고 내부적으로 캐시하지 않기를 바란다. 내가 플레이 빌드를 실행하면 내가 제대로이 REPO를 사용하지만, 다음 담쟁이 캐시의 결과를 캐시, 내 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에서 아마도 뭔가요?
시도해 보았습니까? –
http://stackoverflow.com/questions/8224907/re-download-a-snapshot-version-of-a-dependency-using-sbt가 도움이됩니까? –
예 - 제가 생각할 수있는 모든 조합을 시도했습니다. 바닐라 플레이 2.0 설치 스냅 샷 스냅 샷을 수동으로 삭제해야합니다. sbt 0.11을 사용하면 (설치되지 않은 상태에서도) 동일한 결과가 나타납니다. 또한 최신 Play 2.1 SNAPSHOT에서 sbt 0.12를 사용하면이 사실도 확인할 수 있습니다. 내가하는 일과 관계없이 SNAPSHOT은 ~/.ivy2/cache에 캐싱되며 sbt/play 주문의 방식으로 인해 sbt/play가 아이비 캐시에서이 SNAPSHOT을 업데이트 할 수 없습니다. – dpratt