2016-07-12 5 views

ответ

3

Это означает "Domain Specific Language," больше информации можно найти on Wikipedia.

5

Просто, это означает «Домен специфический язык». IMO, в контексте градиента, DSL дает вам особый способ создания сценариев сборки. Точнее, это плагиновая вещь, которая определяет способ настройки сценария сборки с использованием строительных блоков, определенных в различных плагинах .

Например, сценарии градации обычно основываются на использовании методов (также называемых строительными блоками), принимающих закрытие в качестве единственного параметра. И вы записываете это так:

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.3" 
    ... 

    defaultConfig { 
     minSdkVersion 19 
     targetSdkVersion 25 

Так выше, мы хотели использовать «андроида {...}» строительный блок (или предопределенные задача - пожалуйста Example.89 here), чтобы установить некоторые свойства андроид для нашего строить. Но я не знаю, какие строительные блоки я могу вложить в нее в начале. Итак, мне нужен способ поискать откуда-то. Здесь DSL и плагины вступают в игру вместе. Я могу перейти к плагину DSL, чтобы выяснить, какие в нем встроенные блоки или что делает этот плагин особенным. Это будет то, что определяет DSL этого конкретного плагина.

Понимание того, как работает DSL, может потребовать, чтобы вы знали о том, как «делегаты» работают в groovy. This может помочь довольно много.

Последнее, что вам интересно, это узнать, как оценивается gradle.script. Вы можете найти полезную информацию за here.