Gradle PluginContext против PluginManager - PullRequest
0 голосов
/ 25 января 2020

В моем коде я применяю сторонний плагин, используя этот синтаксис:

SpotlessPlugin spotless = project.getPlugins().apply(SpotlessPlugin.class);
spotless.getExtension().java(JavaExtension::removeUnusedImports);
spotless.getExtension().java(j -> j.googleJavaFormat("1.7"));
spotless.getExtension().java(j -> j.targetExclude("build/**"));

Как вы видите, я использую project.getPlugins () , который возвращает PluginContainer , а в документации указывается:

Хотя это не рекомендуется, рекомендуется использовать методы этого интерфейса или менеджера плагинов, чем использовать контейнер плагинов.

Использовать один из методов 'apply' в этом интерфейсе или в менеджере плагинов для применения плагинов вместо применения через контейнер плагинов.

Используйте PluginManager.hasPlugin (String) или аналогично запросу для применения плагинов вместо делать это через контейнер плагинов.

Но я вижу, что project.getPluginManager (). apply () возвращает void, поэтому я не уверен, как я могу настроить плагин после применения как я делаю в текущем коде. (https://docs.gradle.org/current/javadoc/org/gradle/api/plugins/PluginManager.html#apply - java .lang.Class- )

Наверное, я задаю 2 вопроса:

  1. Есть ли способ использовать pluginManager (рекомендуемый способ), а затем настройте подключаемый модуль, который я применил?
  2. Почему plugin.getPlugins () (который возвращает PluginContainer) не рекомендуется и не рекомендуется, как PluginManager?
...