Tôi đang thiết lập ứng dụng phát đầu tiên trong môi trường xây dựng hỗn hợp. Công ty của tôi sử dụng maven cho tất cả mọi thứ (cho đến nay) và tôi đang cố gắng để có được ứng dụng chơi của tôi để tương tác độc đáo với phần còn lại của hiện vật của tôi.Chơi phụ thuộc 2.0 và SNAPSHOT
Có cách nào để nhận ivy/sbt/play để xử lý SNAPSHOTs theo cách tương tự như maven - cụ thể là cập nhật từ kho lưu trữ từ xa (ví dụ, trên công nhân xây dựng) hoặc sử dụng cục bộ. m2 kho lưu trữ cho đến khi phụ thuộc 'hết hạn' và sau đó làm mới nó từ máy chủ.
Tôi đã tuyên bố một phụ thuộc SNAPSHOT trong Build.scala của tôi cho một tạo tác và tôi muốn cập nhật cục bộ cho sự phụ thuộc này để hiển thị cho dự án phát của tôi. Về phía maven, tôi làm như sau
mvn clean install
đó (tất nhiên) được xây dựng và cài đặt vật bên ngoài của tôi để kho maven địa phương của tôi (tại ~/.m2/kho). Tôi muốn những thay đổi này được hiển thị ngay lập tức cho dự án phát của tôi, nhưng tôi không thể tìm ra cách nói sbt/play to not cache SNAPSHOTs. Bất kể tôi làm gì, sự phụ thuộc này không bao giờ được làm mới trong trò chơi - tôi phải đi vào bộ nhớ đệm ivy chơi thực tế và xóa sự phụ thuộc bằng tay cho bất kỳ thay đổi nào được chọn. Lý tưởng nhất, tôi muốn sbt/ivy chỉ giải quyết đường dẫn đến repo maven cục bộ của tôi và không cache nó trong nội bộ. Tôi đã có những điều sau đây trong Build.scala tôi
val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
resolvers += "Local Maven Repository" at "file://" + Path.userHome.absolutePath + "/.m2/repository",
testOptions in Test := Nil
)
Khi tôi chạy một xây dựng trong vở kịch, nó đúng cách sử dụng repo này, nhưng sau đó lưu trữ các kết quả trong bộ nhớ cache ivy. Có một câu thần chú tôi có thể nói cho Ivy/sbt không làm điều này không? Có lẽ một cái gì đó trong ivysettings.xml?
thử chơi của bạn có sạch không? –
http://stackoverflow.com/questions/8224907/re-download-a-snapshot-version-of-a-dependency-using-sbt có trợ giúp không? –
Có - Tôi đã thử mọi sự kết hợp mà tôi có thể nghĩ đến. Một vani chơi 2.0 cài đặt cache SNAPSHOTS và bạn phải tự xóa chúng. Sử dụng sbt 0.11 (không cài đặt trò chơi) sẽ thực hiện tương tự. Ngoài ra, việc sử dụng sbt 0,12 với phiên bản Play 2.1 SNAPSHOT mới nhất cũng sẽ hiển thị điều này. Không có vấn đề gì tôi làm, SNAPSHOT được lưu trữ trong ~/.ivy2/cache và không có cách nào của câu lệnh sbt/play có thể gây ra sbt/play để cập nhật SNAPSHOT này trong bộ nhớ đệm ivy. – dpratt