2011-11-14 48 views
2

我有一個Scala項目,它依賴於放置在我自己的ivy/maven存儲庫中的一些內部JAR和SBT插件。我的項目佈局是這樣的:在Heroku的Scala中使用非託管依賴關係

  • 插件項目
  • 罐子項目(使用SBT插件從插件項目
  • 戰項目(使用SBT插件從插件項目並取決於jar-project

當我看到它,我有兩個問題

  1. Heroku的項目根生活在戰項目文件夾,因此當我推到Heroku上的插件項目罐子項目文件夾不包含在內,因此不能編譯。
  2. war-project/project/plugins.sbt通過我的本地Ivy/Maven存儲庫解決了我的插件問題,這在部署時也不可用於Heroku。

對於非託管的Java/Maven的由的pom.xml放置倉庫本地Heroku的項目中(在我的情況下戰項目文件夾內),並指向該依存關係Heroku guys solves a similar problem。 SBT項目有可能類似嗎?如果是的話怎麼辦得到的罐子和網絡內外使用的線

addSbtPlugin("my.company" % "plugin-project" % "1.0") 

從當地的場所,也可用於Heroku的正在編制來解決?

回答

2

您應該能夠爲您提到的基於Maven的解決方案創建一個非常類似的解決方案。

SBT(通過ivy)具有FileSystem解析器的概念,因此您只需要在項目中設置一個存儲庫目錄,該目錄中的模式與您在SBT項目中設置的解析器的模式相匹配。

像這樣

resolvers += Resolver.file("my-company-repo", file("company-repo")) 

https://github.com/harrah/xsbt/wiki/Resolvers

+0

這個貌似正確的路要走,特別是如果一個人能得到發佈本地推到定製庫。我會在今晚測試它並回來 –