2009-07-22 127 views
3

我在維護由ivy配置支持的多個項目。許多配置重疊,例如:分享常春藤配置

  • 常見構建配置(pmd,findbugs);
  • 依賴羣組(spring);

有沒有辦法通過引用共享配置來導入這些依賴關係?


N.B.請不要暗示Maven,因爲我知道它,但它不是(但)這些特定項目的選項。

回答

2

請問include是做你需要的,還是問題比​​較複雜?

從文檔:

<ivy-module version="1.0"> 
    <info organisation="myorg" 
     module="mymodule"/> 
    <configurations> 
    <include file="path/to/included-configurations.xml"/> 
    <conf name="conf3"/> 
    </configurations> 
    <dependencies> 
    <dependency name="mymodule1" rev="1.0"/> 
    <dependency name="mymodule2" rev="2.0" conf="conf2,conf3->*"/> 
    </dependencies> 
</ivy-module> 

與包括-configurations.xml這樣的:

<configurations defaultconfmapping="*->@"> 
    <conf name="conf1" visibility="public"/> 
    <conf name="conf2" visibility="private"/> 
</configurations> 

更新:對於依賴關係,我不知道這是可能的。我發現a discussion關於導入依賴關係,表明這是通過設計來避免循環依賴關係。

也許你可以編寫一個腳本來處理引用的ivy文件並將依賴項內聯到你的項目中?

+0

感謝您的回答。我想包括依賴關係,例如導入一個'findbugs'配置,並且他們所有的依賴都被拉入。 – 2009-07-22 09:28:02

0

讀你的問題,我會通過使用svn:externals(如果你使用Subversion)而不是常春藤來解決問題。

將所有常用配置放入配置 Subversion項目並簡單地使用svn:externals將其導入其他項目。

作爲例子,你可以在我的config project谷歌代碼看看: