我在混合構建環境中設置了我的第一個播放應用程序。我的公司對所有東西都使用maven(到目前爲止),我試圖讓我的遊戲應用與我的其他工件很好地交互。播放2.0和SNAPSHOT依賴關係
是否有任何方式讓ivy/sbt/play以類似於maven的方式處理SNAPSHOT - 即,或者從遠程存儲庫始終更新它們(例如,在構建工作者上)或使用本地。 m2存儲庫,直到依賴項'過期',然後從服務器刷新它。
我已經在我的Build.scala中爲一個工件聲明瞭一個SNAPSHOT依賴項,並且我希望對此依賴項的本地更新對我的播放項目可見。在Maven的一面,我做了以下
mvn clean install
(當然),其製造和安裝我的外部神器我的本地倉庫(在〜/ .m2目錄/庫)。我希望這些更改能夠立即在我的播放項目中可見,但我無法弄清楚如何告訴sbt/play不緩存SNAPSHOT。無論我做什麼,這種依賴都不會在遊戲中刷新 - 我必須進入實際的常春藤緩存並手動刪除依賴關係,以便進行任何更改。理想情況下,我希望sbt/ivy只解析我的本地maven 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
)
當我在遊戲運行構建,它正確地使用此回購,但隨後緩存在常春藤緩存的結果。有沒有咒語我可以告訴艾維/ sbt不要這樣做?也許在ivysettings.xml中有什麼?
你嘗試玩玩乾淨嗎? – 2012-07-25 15:18:10
是否http://stackoverflow.com/questions/8224907/re-download-a-snapshot-version-of-a-dependency-using-sbt有幫助? – 2012-07-27 05:50:01
是的 - 我嘗試了所有我能想到的組合。香草播放2.0安裝緩存SNAPSHOTS,你必須手動刪除它們。使用sbt 0.11(沒有安裝play)也一樣。此外,使用sbt 0.12和最新的Play 2.1 SNAPSHOT也展現了這一點。無論我做什麼,SNAPSHOT都緩存在〜/ .ivy2/cache中,任何sbt/play咒語都不會導致sbt/play在常春藤緩存中更新此SNAPSHOT。 – dpratt 2012-09-04 16:28:59