Почему Gradle ищет мой плагин не в том месте? - PullRequest
0 голосов
/ 06 августа 2020

В верхней части моего файла build.gradle я поместил это:

buildscript
{
    repositories 
    {
        mavenLocal()
    }
    dependencies
    {
        classpath(group: 'com.telenav.tdk.core.gradle', name: 'tdk-core-gradle-plugin', version: '1.0')
    }
}

Ниже я пытаюсь применить плагин, но это не имеет значения, потому что он не ищет в локальном репозитории maven для правильный артефакт. Вместо этого я получаю эту ошибку:

* What went wrong:
Plugin [id: 'tdk-core-gradle-plugin', version: '1.0'] was not found in any of the following sources:

- Gradle Core Plugins (not a core plugin, please see https://docs.gradle.org/6.5.1/userguide/standard_plugins.html for available core plugins)
- Plugin Repositories (could not resolve plugin artifact 'tdk-core-gradle-plugin:tdk-core-gradle-plugin.gradle.plugin:1.0')
  Searched in the following repositories:
    Gradle Central Plugin Repository

Я нахожу это странным, потому что (1) он не выполнял поиск в моем локальном репозитории maven и (2) он выглядел из совершенно другого дескриптора артефакта:

'tdk-core-gradle-plugin:tdk-core-gradle-plugin.gradle.plugin:1.0

, чем тот, который я явно указал:

com.telenav.tdk.core.gradle:tdk-core-gradle-plugin:1.0

Это довольно противоречиво для меня, но я уверен, что есть какое-то объяснение. Кто-нибудь знает, что происходит?

Спасибо,

Jon

1 Ответ

0 голосов
/ 06 августа 2020
  1. Репозитории плагинов - посмотрите, как установить такие же https://docs.gradle.org/current/userguide/plugins.html#sec: plugin_management

    settings.gradle

    pluginManagement { репозитории { } }

  2. есть 2 способа применить плагин, и разрешение отличается, подробнее см.

DSL https://docs.gradle.org/current/userguide/plugins.html#sec: plugin_markers buildscript https://docs.gradle.org/current/userguide/plugins.html#sec: old_plugin_application

...