gpt4 book ai didi

gradle - Gradle 编译文件和复制 fileTree 的工作原理是什么

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

这是工作 gradle build 脚本代码:

dependencies {
compile files("dir/libs", "dir/libs2")
compile fileTree(dir: "libs", include: "*.jar")
}

据我了解,

依赖 是一个采用闭包的方法,将其委托(delegate)属性设置为 DependencyHandler 对象并执行它。

编译是属于项目的配置对象

但是 是什么?文件 文件树 ?

最佳答案

首先要知道的是,Gradle 将 AST 用于 dependecies闭包语法 this answer here does a good job of explaining what AST is.
我将讨论上面的代码片段,您对委托(delegate)给 DependencyHandler 的代码块是正确的。 , 线
定义here作为

To declare a specific dependency for a configuration you can use the following syntax:

dependencies {
configurationName dependencyNotation1, dependencyNotation2, ...
}

这里要注意的重要一点是上面的代码是 语法 由 Gradle 提供以使代码简洁明了。您也可以使用方法 DependencyHandler.add(String,Object)
例如
dependencies {
add('compile', fileTree(dir: "libs", include: "*.jar"))
}
与上面的语法相比,top 语法允许您在单个语句中添加多个依赖项,并且更加简洁。 fileTree() , files()等是在 Project 中定义的方法.来自 DependencyHandler.add(String,Object) ,第二个参数的类型为 Object ,因此该方法和依赖语法可以接受许多类型的依赖,例如 ProjectDependency , 其他 Configuration s 和 FileCollection及其子类型,正如您提到的 ConfigurableFileCollection .

关于gradle - Gradle 编译文件和复制 fileTree 的工作原理是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53402649/

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