2017-07-20 99 views
1

我們正在開發兩個包depprojdepproj的開發並行發生 - 即proj的特定版本取決於特定版本的dep。由於手動更新版本的dep每幾個提交是乏味的,我們正在使用-SNAPSHOT機制(版本0.5-SNAPSHOTproj取決於0.4-SNAPSHOTdep)。這遠非理想,我們沒有信息來構建proj的更舊版本。使用git子模塊管理sbt依賴關係

我試過sbt的RootProject,但是破壞了發佈proj - 該軟件包不再包含對dep的依賴。

理想的情況下,這裏就是我想要的:

  1. proj直接通過git-submodule
  2. 使用的dep源當發佈proj能夠拉從dep的項目文件的依賴性信息。
  3. 開發版本dep包括git的SHA,這是從

建立我會得到通過,而不3。如果2很困難,當爲包裝指定的依賴項與git子模塊不匹配時,我會大聲抱怨sbt抱怨。

萬一有幫助,這些都是項目:

回答

0

工作向後:

3:可以通過sbt-dynver實現並配置您的構建發佈每一次提交/推送。 sbt-release-early可以簡化這個過程,如果你發佈到bintray。

2proj可以取決於使用提交範圍的開發版本,例如deporg % dep % 1.0.+ - 然而這使得構建較少的可重複性,因爲沒有指定具體的依賴是一個指定的提交,可以提高分辨率倍

1:您可能能夠保持dep項目作爲RootProjectproj簡化並行開發,同時設置發佈任務以確保首先發布dep