2011-05-27 68 views
4

另一個多項目問題,我知道。我已經看到了(衝突的)我的目標子集的答案,但沒有涵蓋所有這些。 我是新來的月蝕,不知道汞的骯髒的細節。日食,螞蟻與多個(子)項目的mercurial

鑑於公用庫罐子,兩個應用程序和一些常見的Ant腳本...

我會設置此

/top/ 
    build-common/ 
    lib1/ 
    app1/ 
    app2/ 

我讀過,日食不會做分項目,使我認爲這將是4個日食項目,「頂」是沒有什麼蝕。

我讀過如何使用ant進行eclipse構建,包括自動構建。

  • 3個java項目在build.xmls中引用../build-common/{scripts}是不是很好的做法? (當這是一個不同的eclipse項目)
  • 應該app1和app2引用../lib1/target/lib.jar?怎麼樣?
  • 如果ant在做eclipse構建,我仍然維護.classpath(通過任何gui)嗎?
  • 我假設eclipse用戶不會期望自動構建來傳播項目。正確?

我不清楚是否有4個月食項目迫使4個mercurial項目。 IF mercurialeclipse插件支持它,我可以使它成爲一個hg項目(「頂部」)。但我不確定利弊。 Team-> Commit可能會影響其他的eclipse項目 - 這對eclipse用戶來說似乎是錯誤的嗎?

  • 那麼,4或1個汞項目?

pre-eclipse,我通常會有一個頂級build.xml構建子項目。即使eclipse構建不需要它,我也想支持完整的命令行構建。

  • 頂級build.xml去哪裏?

此外,我懷疑讓代碼實際位於工作區/目錄下還是不存在一些細微差別。任何人都可以解釋這對我的佈局意味着什麼?

非常感謝!

TLC

回答

0

我做這個類型與CVS的事情,但我不知道用水銀如何。 (我正在尋求切換到Mercurial)

我可以回答你的部分問題。

在CVS中,我會爲/ top /創建一個Eclipse項目,並將不同的模塊作爲子目錄。我不知道MercurialEclipse是否支持sub-repos或不是,但這將是我的第一選擇(1個Eclipse項目,拉入sub-repos)

我認爲每個ant腳本都可以引用build-common如果/ app1和/ app2之間存在很多依賴關係。另一種選擇是在/ app1,/ app2中創建一個build.xml,然後在/ build-common中創建一個主build.xml,然後調用/ app1 &/app2,然後將所有內容都包裝到最後。

如果您使用Ant腳本,您還必須手動管理Eclipse類路徑。我的經驗並不難。如果類路徑是在Eclipse中設置的,則自動構建將會正常工作。

我更願意有這樣的結構:

/top/ 
/top/build.xml (references /app1/build.xml, /app2/build.xml) 
/lib1 
/app1/ 
/app1/build.xml (references ../lib1) 
/app2 
/app2/build.xml (references ../lib1) 

最大的問題是MercurialEclipse和次回購。但是,如果它不支持sub-repos,只需使用命令行中的Hg直到它趕上。