gpt4 book ai didi

gradle - 如何在 build.gradle 脚本中调用 DependencyHandler.add

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

所以 build.gradle 文件基本上是一个 Groovy 闭包,它的委托(delegate)是一个 Project 对象,并且它具有诸如依赖项和存储库之类的方法,我们将附加闭包传递给这些方法。怎么会有这样的声明:

dependencies{
testCompile 'junit:junit:4.12'
}

触发 DependencyHandler.add​(String configurationName, Object dependencyNotation) 调用?这是一些特殊的 Groovy 功能​​吗?

最佳答案

继我建议的评论部分 this explanation Groovy 脚本中一些常见的“魔法”

在早期版本的 Gradle 中,他们使用 methodMissing拦截缺失的方法。看看最近的资料,我相信他们现在正在使用 Groovy 的一些动态类特性来实现类似的行为。

如果你想追踪 Gradle 源代码中的魔法,你应该看看

  • DefaultDependencyHandler.java
  • MethodMixIn.java
  • DynamicAddDependencyMethods.java
  • 关于gradle - 如何在 build.gradle 脚本中调用 DependencyHandler.add,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57619678/

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