Gradle编译文件和coppile fileTree的工作原理是什么
这是正在运行的gradle生成脚本代码:Gradle编译文件和coppile fileTree的工作原理是什么,gradle,groovy,Gradle,Groovy,这是正在运行的gradle生成脚本代码: dependencies { compile files("dir/libs", "dir/libs2") compile fileTree(dir: "libs", include: "*.jar") } 据我了解, dependencies是一种方法,它接受闭包,将其委托属性设置为DependencyHandler对象并执行它 compile是属于project的配置对象 但是什么是文件和文件树 首先要知道的是Gradle使用AST
dependencies {
compile files("dir/libs", "dir/libs2")
compile fileTree(dir: "libs", include: "*.jar")
}
据我了解,
dependencies是一种方法,它接受闭包,将其委托属性设置为DependencyHandler对象并执行它
compile是属于project的配置对象
但是什么是文件和文件树 首先要知道的是Gradle使用AST作为
依赖项
闭包语法
我将讨论上面的代码片段,关于委派给DependencyHandler
行的代码块,您是对的
定义为
要声明配置的特定依赖项,可以使用以下语法:
dependencies {
configurationName dependencyNotation1, dependencyNotation2, ...
}
这里需要注意的重要一点是,上面的代码是Gradle提供的语法,以使代码简洁明了。你也可以用这个方法
比如说
dependencies {
add('compile', fileTree(dir: "libs", include: "*.jar"))
}
与上面的语法相比,顶层语法允许您在一条语句中添加多个依赖项,并且更加简洁
fileTree()
,files()
等是在项目中定义的方法。从DependencyHandler.add(String,Object)
,第二个参数的类型为Object
,因此方法以及依赖项语法可以接受许多类型的依赖项,如ProjectDependency
,其他Configuration
s和FileCollection
及其子类型,如您提到的ConfigurableFileCollection,附加链接:请参阅此处的Gradle Project DSL文档:。如何将文件返回的集合--(ConfigurableFileCollection)--应用于编译对象?它看起来既不像赋值,也不像方法调用。