plugin migrar from bom groovy gradle

groovy - migrar - Entendiendo mavenDeployer de Gradle



gradle publish (1)

Soy un novato en Gradle y Groovy en general, y trato de entender el siguiente ejemplo de la guía de usuario de Gradle , y especialmente cómo pude encontrar, en la documentación de DSL, donde se pueden encontrar todas estas opciones:

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

Lo que yo entiendo:

  • uploadArchives es una tarea de tipo Upload , agregada al proyecto por el plugin de Java
  • repositories es una propiedad de la tarea de Upload , de tipo RepositoryHandler

Lo que no entiendo

  • mavenDeployer no aparece en ninguna parte de la documentación de RepositoryHandler . ¿De dónde viene? ¿Cómo se supone que debemos saber que existe ese método?
  • Al buscar en el índice, encuentro que mavenDeployer es un método de MavenRepositoryHandlerConvention que se mezcla en RepositoryHandler asociado con cada tarea de tipo Upload. Lástima que esto no se menciona en la documentación de RepositoryHandler ni en la documentación de Subida.
  • Aunque podría ser más claro, entiendo que el cierre debe configurar un objeto de tipo GroovyMavenDeployer . Pero al leer el javadoc, la propiedad del repository , por ejemplo, es de tipo Object . ¿Cómo puedo saber que puedo configurarlo usando lo siguiente?

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


La documentación de Gradle DSL no es especialmente completa. No siempre está claro dónde se detiene la API pública y comienza la impl. Privada y, a menudo, el código fuente es el único lugar para obtener una vista completa (por lo que generalmente es más fácil vincular el código src a mi IDE).

En su caso específico, la guía de usuario + el código fuente es la mejor manera de navegar.