overexchange:
以下は、グルーヴィーなDSLのコードスニペットは、次のとおりです。
plugins {
id("com.github.johnrengelman.shadow") version "5.2.0"
}
私が理解するために、対応するスクリプト構文で、以下の場合には、困難です:
plugins({
id(
{
"com.github.johnrengelman.shadow",
version("5.2.0")
}
)
})
スクリプト構文にDSLの構文を変換する方法?スクリプト構文は私のために、より読みやすい構文は次のとおりですので..
レナードBrünings:
id(String)
方法プラグインのブロックを返しPluginDependencySpecImplメソッドをもつversion(String)
としますapply(boolean)
。あなただからそうのようにそれを記述する必要があります。
plugins ({
id("com.github.johnrengelman.shadow").version("5.2.0")
})
職場でのパターンが呼び出されたコマンドチェイン。
Groovyはあなたがトップレベルの文のためのメソッド呼び出しの引数の前後に括弧を省略することができます。「コマンド・チェーン」機能は、連鎖呼び出し間での引数、またドットの周りの括弧どちらを必要とし、チェーンなどの括弧なしのメソッド呼び出しに私たちを可能にすることにより、これを拡張しています。一般的な考え方は、ABCDのような呼び出しが実際に(B).C(D)と同等になるということです。また、これは複数の引数、クロージャの引数、とでも名前付き引数で動作します。
MrHakiは、この作業の理由の素敵な説明があるここに。