2016-10-26 17 views
0

我有以下問題:如何跳過解析Ivy中特定配置的依賴關係?

我的項目(C++)有一個依賴系統庫。爲此目的,我在的ivy.xml定義文件中像這樣的依賴關係中新的一節:

<ivy-module version="2.0"> 
    <info organisation="org.acme" module="mymodule"> 

    <configurations> 
    <conf name="system"/> 
    </configurations> 

    [...] 

    <dependencies> 
    <dependency name="pthread" rev="*" conf="system"/> 
    </dependencies> 

</ivy> 

我現在面臨的問題是,艾維試圖解決發佈mymodule前的依賴關係pthread

命令中使用用於發佈如下:

java -jar ivy.jar -debug -ivy ivy.xml -publish publish -publishpattern "<ivy-pattern>" -status integration -revision 0.0.1-SNAPSHOT -settings ivysettings.xml -overwrite 

我查了常春藤文檔,但無法找到如何告訴艾維跳過解析相關的特定配置的任何暗示。

有沒有人可能提示或想法如何配置?

非常感謝。

UPDATE: 我設法通過以下相關標籤排除特定配置的依賴性:

<dependencies> 
    <dependency name="pthread" rev="*" conf="system"/> 
    <exclude conf="system"/> 
    </dependencies>  
+0

請問您可以發佈用於發佈的ant腳本嗎? – cantSleepNow

+0

我正在使用ivy.jar發佈組件。讓我知道你是否需要ivysettings.xml和ivy.xml的完整示例 –

回答

0

爲了做到這一點,你必須提供這是需要ogranisation,模塊和修訂publish task。原因是,如果沒有提供publish將在最後解決的模塊中查找它(檢查發佈任務的屬性)。 因此,當您調用發佈任務時,它需要提供所有這些屬性,或者提前調用解析任務。需要的屬性有:

  • pubrevision
  • artifactspattern
  • 組織
  • 模塊
  • 修訂
  • srcivypattern

您可以檢查鏈接,看看哪一個是什麼,甚至認爲這是相當自我解釋。

現在我不知道如何(或者如果有的話)在將ivy作爲jar來調用時不能通過所有這些參數。可能使用ivyfile列出here。這就是爲什麼我給出瞭如何與螞蟻任務做到這一點的答案 - 以及因爲它通常更清潔,更容易與螞蟻一起使用常春藤:)