我正从常春藤搬到年级。
在常春藤我能够拥有一个属性文件,其中包含我所有的依赖项'版本
同样在发布时我更新了这个文件。
这是版本的中央控制。非常舒服。例如:
Versions.properties:
log4j.ver=1.14
commons-lang.ver=1.1
和ivy.xml:
<dependencies>
<dependency org="log4j" module="log4j" ver="log4j.ver"/>
</dependencies>
我可以在gradle中使用相同的属性,但据说很快就会弃用属性。 gradle中的任何等效概念?
另一个问题是能够解析工作空间中的依赖关系。
我知道 dependencies{
compile project(':shared')
}
语法,但我希望依赖项具有灵活性。如果项目位于工作区中,请解决它。否则,请从档案中下载。
如何实现这种行为?
由于
答案 0 :(得分:1)
这应该是两个单独的问题。无论如何:
ad 1)所有弃用的都是动态属性,即引入foo = "bar"
的新属性。相反,它现在是def foo = "bar"
,或者,如果该属性需要可以从其他构建脚本ext.foo = "bar"
访问。 (如果属性拼写错误,此更改将允许Gradle 2.x失败; Gradle 1.x将至少提供弃用警告。)
请注意,消费者方面没有任何变化,即仍可通过其简单名称(例如println foo
)访问该属性。请注意,它应不通过ext.foo
访问,即使这在某些情况下也有效。
ad 2)目前这不是一流的功能,但可以通过一些努力来实现。 (有关概念验证,请参阅https://github.com/pniederw/elastic-deps;有关更严格实施的早期版本,请参阅https://github.com/prezi/pride)。我希望这能成为2.x时间范围内的一流功能。