2013-10-23 152 views
1

時得到gradle這個想法插件使用USER_HOME環境變量當我在我的多項目構建運行如何解決依賴

gradle idea 

的IML和知識產權文件包含完全解決目錄路徑依賴我。 例如:

<CLASSES> 
    <root url="jar://C:/Users/myusername/.gradle/caches/artifacts-24/filestore/.../"/> 
</CLASSES> 

我寧願他們所使用的USER_HOME環境變量:

<CLASSES> 
    <root url="jar://$USER_HOME$/.gradle/caches/artifacts-24/filestore/.../"/> 
</CLASSES> 

這種行爲是正常嗎?最終,我想將iml和ipr提交到我們的團隊中的其他開發人員的源代碼庫中供其使用。

回答

2

我不建議檢查源代碼管理中的IDEA文件。相反,您可以根據需要(在根據您的需要配置IDEA插件之後)重新生成它們,或者在IDEA 13(EAP)中使用新的Gradle插件。但是,爲了回答你的問題,像下面應該工作:

idea { 
    pathVariables USER_HOME: file(System.getProperty("user.home")) 
} 

這將替換與左邊的變量右邊的文件路徑的任何發生。我不確定USER_HOME是IDEA中的內置變量。如果沒有,您可能必須從IDEA中設置它。 (在打開項目時應提示您。)

有關Gradle構建腳本API的詳細信息,請查看Gradle Build Language Reference

+0

當我閱讀這個解決方案時,令人擔憂的是默認的Gradle的IDEA插件使用*不是* user.home的值......所以他們使用什麼,如果不是這樣? – Trejkaz