如何在解决依赖关系时使用gradle idea插件来使用USER_HOME环境变量

时间:2013-10-23 21:39:46

标签: intellij-idea gradle

当我跑步时

gradle idea 

在我的多项目构建中,iml和ipr文件包含完全解析的依赖项目录路径。 例如:

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

我希望他们使用USER_HOME env变量:

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

预计会出现这种情况吗?最后,我想将iml和ipr提交给我的团队中的其他开发人员使用的源代码库。

1 个答案:

答案 0 :(得分: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