Подтвердить что ты не робот

Понимание Gradle mavenDeployer

Я новичок в Gradle и Groovy в общем, и я пытаюсь понять следующий пример из Gradle руководство пользователя, и особенно, как я мог найти в документации DSL, где все эти параметры можно найти:

uploadArchives {
    repositories.mavenDeployer {
        name = 'sshDeployer' // optional
        configuration = configurations.deployerJars
        repository(url: "scp://repos.mycompany.com/releases") {
            authentication(userName: "me", password: "myPassword")
        }
    }
}

Что я понимаю:

  • uploadArchives - это задача типа Upload, добавленная в проект плагином Java
  • repositories является свойством задачи Upload типа RepositoryHandler

Что я не понимаю:

  • mavenDeployer не отображается нигде в документации RepositoryHandler. От куда это? Как мы должны знать, что такой метод существует?
  • Поиск в индексе, я обнаружил, что mavenDeployer - это метод из MavenRepositoryHandlerConvention, который смешивается в RepositoryHandler, связанном с каждым задача типа Upload. Жаль, что это не упоминается в документации RepositoryHandler и документации по загрузке.
  • Хотя это может быть яснее, я понимаю, что закрытие должно настроить объект типа GroovyMavenDeployer. Но, читая javadoc, свойство repository, например, имеет тип Object. Как я могу узнать, что я могу настроить его, используя следующее?

    repository(url: "scp://repos.mycompany.com/releases") {
        authentication(userName: "me", password: "myPassword")
    }
    
4b9b3361

Ответ 1

Gradle Документация DSL не является особенно полной. Это не всегда ясно, где public api останавливается, и частный impl запускается, и часто исходный код является единственным местом для получения всеобъемлющего представления (поэтому я считаю, что проще всего связать код src с моей IDE).

В вашем конкретном случае userguide + исходный код - лучший способ навигации.