2015-12-05 62 views
0

我有一個大的項目,我們稱之爲凸出,與一羣子項目,讓我們叫那些subproj_1subproj_n有沒有一種很好的方法來解決這種循環依賴的情況?

我也有一個單獨的項目叫工具

工具取決於subproj_1

subproj_2取決於工具(僅在測試範圍內)。

我們的CI平臺是Bamboo。

+1

您可以添加更多詳細信息嗎?從你的描述來看,沒有循環依賴 –

+0

好吧,有和沒有 - 我可以建立subproj1,工具,subproj2。但實際上,構建的方式是你想要構建整個項目,對吧?而這個失敗了,因爲工具還沒有建成。在構建proj之前,我無法構建工具。所以手動這一切都是可以建立的,一旦爲新版本構建成功,這是一切都好,但在版本碰撞後,我們需要做一些感覺髒的手動建築。 –

+0

如果這意味着它只會失敗原因工具不是構建對我來說意味着你已經錯過了對工具的正確依賴......如果你只有在測試範圍內有一個依賴項,這意味着我將測試範圍內的那個部分分解成單獨的應該解決問題的模塊。 – khmarbaise

回答

1

打破循環依賴的常見模式是將導致循環依賴的代碼部分拉出到新的公共子項目,移除現有子項目之間的依賴關係並向新的子項目添加依賴項。

如果您不想創建新模塊,可以將代碼的共享部分重構爲現有子項目的開啓狀態,並更新依賴項以使它們是單向的。

相關問題