gpt4 book ai didi

gradle - 从 ivy 迁移到 gradle 问题

转载 作者:行者123 更新时间:2023-12-03 05:17:35 25 4
gpt4 key购买 nike

我要从 Ivy 大学转到年级。

在 Ivy 中,我能够拥有一个包含所有依赖项版本的属性文件。

同样在发布时我更新了这个文件。

这是对版本的一种集中控制。非常舒服。例如:

版本.属性:

  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')
}

语法,但我希望依赖项灵活。如果项目在工作区中,请解决它。否则,请从文件中下载。

如何实现这种行为?

谢谢

最佳答案

这应该是两个不同的问题。反正:

ad 1) 不推荐使用的只是动态属性,即使用 foo = "bar" 引入新属性.相反,它现在是 def foo = "bar" ,或者,如果需要从其他构建脚本访问该属性,ext.foo = "bar" . (如果属性拼写错误,此更改将允许 Gradle 2.x 失败;Gradle 1.x 至少会给出弃用警告。)

请注意,消费者方面没有任何变化,即仍然可以通过其简单名称访问该属性(例如 println foo )。请注意,不应通过 ext.foo 访问它。 ,尽管这在某些情况下会起作用。

广告 2)这目前不是一流的功能,但可以通过一些努力来实现。 (见 https://github.com/pniederw/elastic-deps 了解概念验证,https://github.com/prezi/pride 了解更严肃实现的早期版本)。我希望这将成为 2.x 时间范围内的一流功能。

关于gradle - 从 ivy 迁移到 gradle 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23126639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com