gpt4 book ai didi

gradle - gradt中的 “DSL”是什么意思?

转载 作者:行者123 更新时间:2023-12-03 21:19:53 24 4
gpt4 key购买 nike

在阅读Android NDK文档时,出现了“DSL”。我不知道这到底是什么意思。您能告诉我“DSL”的全名吗?

文件在这里:
http://tools.android.com/tech-docs/new-build-system/gradle-experimental#TOC-Samples

最佳答案

简单来说,它代表“特定于域的语言”。 IMO,在gradle上下文中,DSL为您提供了gradle特定的方式来构建构建脚本。更准确地说,这是一个基于插件的构建系统,它定义了一种(主要)使用在各种插件中定义的构建块来设置构建脚本的方法。

例如,gradle脚本通常依赖于使用将闭包作为唯一参数的方法(也称为构件块)。然后像这样写下来;

apply plugin: 'com.android.library'

android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
...

defaultConfig {
minSdkVersion 19
targetSdkVersion 25

因此,在上面,我们想使用'android {...}' 构建块(或预定义的 任务-请参阅Example.89 here)来为我们的构 build 置一些android属性。但是我不知道一开始可以放入哪些构建基块。因此,我需要一种从某处查找内容的方法。这是gradle DSL和插件一起发挥作用的地方。我可以转到该特定插件的 page,以确定其中定义了哪种构建基块,或者是什么使该插件特别。这些将以称为(gradle)DSL的高级语言的形式定义插件功能。

了解DSL的工作方式可能需要您了解groovy中“代理”的工作方式。 This可能会很有帮助。

您可能想知道的最后一件事是有关gradle.script的评估方式。您可以在 here上找到一些有用的信息。

关于gradle - gradt中的 “DSL”是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38336576/

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