Gradle 什么是;DSL“;你是说格拉德尔?
当我阅读安卓NDK文档时,有一个“DSL”。我不知道这到底是什么意思。请告诉我“DSL”的全名好吗 文件如下:Gradle 什么是;DSL“;你是说格拉德尔?,gradle,dsl,Gradle,Dsl,当我阅读安卓NDK文档时,有一个“DSL”。我不知道这到底是什么意思。请告诉我“DSL”的全名好吗 文件如下: 它代表“领域特定语言”,可以找到更多信息。简单地说,它代表“领域特定语言”。在gradle上下文中,DSL为您提供了一种特定于gradle的方法来形成构建脚本。更准确地说,它是一个基于插件的构建系统,定义了一种使用(主要)各种插件中定义的构建块来设置构建脚本的方法 例如,gradle脚本通常依赖于使用将闭包作为唯一参数的方法(也称为构建块)。你就这样写下来 apply plugin:
它代表“领域特定语言”,可以找到更多信息。简单地说,它代表“领域特定语言”。在gradle上下文中,DSL为您提供了一种特定于gradle的方法来形成构建脚本。更准确地说,它是一个基于插件的构建系统,定义了一种使用(主要)各种插件中定义的构建块来设置构建脚本的方法 例如,gradle脚本通常依赖于使用将闭包作为唯一参数的方法(也称为构建块)。你就这样写下来
apply plugin: 'com.android.library'
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
...
defaultConfig {
minSdkVersion 19
targetSdkVersion 25
因此,在上面,我们想使用“android{…}”构建块(或预定义的任务——请参见示例89)为我们的构建设置一些android属性。但我不知道一开始我能在里面放些什么。所以,我需要一种从某处查找这些内容的方法。这就是GradleDSL和插件一起发挥作用的地方。我可以去那个特定的插件看看它定义了什么样的构建块,或者这个插件有什么特别之处。这些就是以称为(gradle)DSL的高级语言的形式定义插件功能的东西
理解DSL是如何工作的可能需要您了解“委托”在groovy中是如何工作的。可能会有很大帮助
您可能想知道的最后一件事是如何计算gradle.script。你可以在网上找到一些有用的信息