Android NDKのドキュメントを読んでいるうちに、「DSL」があります。私はそれが正確に何を意味するのか分からない。あなたは "DSL"の完全な名前を教えてくれませんか?ここ「DSL」とはどのような意味ですか?
文書: http://tools.android.com/tech-docs/new-build-system/gradle-experimental#TOC-Samples
Android NDKのドキュメントを読んでいるうちに、「DSL」があります。私はそれが正確に何を意味するのか分からない。あなたは "DSL"の完全な名前を教えてくれませんか?ここ「DSL」とはどのような意味ですか?
文書: http://tools.android.com/tech-docs/new-build-system/gradle-experimental#TOC-Samples
それはより多くの情報がon Wikipedia見つけることができる "ドメイン固有言語" の略です。
単に「ドメイン固有言語」の略です。 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 –