2016-09-22 4 views
7

Android Studioプロジェクトのファイルbuild.gradleの先頭または末尾に「apply plugin」を追加するのと同じ効果がありますか?Gradle:上または下に「apply plugin」

たとえば、 'com.google.gms.google-services'プラグインを追加するには、Firebaseの公式ドキュメントで最後に追加することをおすすめしますが、最初に他のコードを追加したことがあります。

私は問題は無関係だと思うが、私は依存関係を管理し、この疑問を持っているAndroid Studio用のプラグインを開発している。順序が重要になることができますので、事前

+0

は、あなたがこれをアドバイスfirebaseドキュメントにリンクすることはできますか? – RaGe

+0

https://firebase.google.com/docs/android/setup –

答えて

5

のGradleスクリプトで

Apply Plugin botton or top

おかげ上から下に解釈されます。 gradleには設定フェーズと実行フェーズがあるので、時には順序は重要ではないことに注意してください。プラグインは多くの場合、extension objectsとタスクをgradleモデルに追加するので、スクリプトの上部でプラグインを適用するのが一般的です。これはビルドスクリプトの下位に設定することができます。例えば

testタスクがjavaプラグインによって追加されているので、あなたは、次の操作を行うませんことができます。

test { 
    include 'org/foo/**' 
} 
apply plugin: 'java' 
+1

これは、いくつかのプラグインをトップまたはその近くに追加する必要がある理由を説明しています。しかし、なぜfirebaseがGoogleサービスを最下部に追加することを推奨するのかを実際に説明していない。 – RaGe

+0

プラグインが 'tasks.withType(...)'やそれに類するものを使用する場合、これは底部に適用する必要があります(または何も返しません)。これを避けるには、プラグインは 'project.afterEvaluate {...}'ブロック内でこれらのタイプのアクションを実行する必要があります。おそらく、プラグインはこれをしないので、順序は重要ですか? –

関連する問題