Просто, это означает «Домен специфический язык». 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.
https://en.wikipedia.org/wiki/Domain-specific_language –