2016-09-22 1 views
7

Имеет ли такой же эффект добавить «применить плагин» в начале или в конце файла build.gradle в проектах Android Studio?Gradle: «применить плагин» вверху или внизу

Например, чтобы добавить плагин com.google.gms.google-services, официальная документация Firebase рекомендует добавлять в конце, но я видел, что другие коды добавляют его в начале.

Я знаю, что вопрос кажется несущественным, но я разрабатываю плагин для Android Studio для управления зависимостями и сомневаюсь.

Apply Plugin botton or top

Заранее спасибо

+0

Вы можете связать с firebase документации, которая консультирует это? – RaGe

+0

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

ответ

5

Gradle скрипты интерпретируются сверху вниз так, заказ может быть важно. Имейте в виду, что град имеет фазу конфигурации и этап выполнения, поэтому иногда порядок не важен. Обычно ваши плагины применяются в верхней части скрипта, так как плагины часто добавляют extension objects и задачи к модели градильи, которые затем могут быть сконфигурированы ниже в скрипте сборки.

Например, вы не может сделать следующее, поскольку test задача добавляется в java плагин:

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

Это объясняет, почему некоторые плагины могут быть добавлены в/около вершины. Но на самом деле не объясняет, почему firebase рекомендует добавлять google-сервисы внизу. – RaGe

+0

Если плагин должен был использовать 'tasks.withType (...)' или аналогичный, то это может потребоваться применить внизу (или оно ничего не вернет). Чтобы этого избежать, плагин должен выполнять эти действия внутри блока 'project.afterEvaluate {...}'. Возможно, плагин не делает этого, поэтому порядок важен? –