当我阅读Android NDK文档时,有"DSL".我不知道究竟是什么意思.你能告诉我"DSL"的全称吗?
文档:http: //tools.android.com/tech-docs/new-build-system/gradle-experimental#TOC-Samples
std*_*out 24
简单来说,它代表"领域特定语言".IMO,在gradle环境中,DSL为您提供了一种特定于gradle的方式来构建您的构建脚本.更确切地说,它是一个基于插件的构建系统,它定义了一种使用(主要)在各种插件中定义的构建块来设置构建脚本的方法.
例如,gradle脚本通常依赖于使用闭包作为唯一参数的方法(也称为构建块).你把它写成这样的;
apply plugin: 'com.android.library'
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
...
defaultConfig {
minSdkVersion 19
targetSdkVersion 25
Run Code Online (Sandbox Code Playgroud)
所以在上面,我们想使用'android {...}' 构建块(或预定义的任务 - 请参见这里的 Example.89 )来为我们的构建设置一些android属性.但是我不知道在开始时我可以放入哪些构建块.所以,我需要一种从某个地方查找它们的方法.这就是gradle DSL和插件一起发挥作用的地方.我可以转到该特定插件的页面来确定其中定义了哪种构建块,或者是什么使这个插件变得特别.这些将以称为(gradle)DSL的高级语言的形式定义插件的功能.
了解DSL的工作原理可能需要您了解"委托"如何在groovy中工作.这可能会有很大帮助.
您可能想知道的最后一件事是关于如何评估gradle.script.你可以在这里找到一些有用的信息.
| 归档时间: |
|
| 查看次数: |
7155 次 |
| 最近记录: |