es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Plugin de Gradle para Artifactory – Diferencia entre Plugin y Bloque de Repositorios

Estoy usando Gradle 7.3.3 con el complemento de Artifactory.

He notado que hay una sección para resolver dependencias en la sección del complemento de artifactory:

artifactory {
  contextUrl = "https://my.repo"
  publish {...}

  resolve {
    repository {
      repoKey = '<mi clave="" de="" repositorio="">'
      maven = true
    }
  }
}

Sin embargo, también está el bloque de repository que contiene una referencia a un repositorio:

repositories {
  maven {
    url "https://my.repo/<mi clave="" de="" repositorio="">"
  }
  mavenLocal()
}

Mi pregunta es, ¿cuál es la diferencia entre estos dos?
¿Necesito usar solo uno de ellos? ¿Necesito poner los mismos valores en ambos?
No vi ninguna documentación en los documentos de JFrog.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El bloque resolve en la sección de complemento artifactory se utiliza para especificar el repositorio de Artifactory desde el cual Gradle debe resolver sus dependencias. Esto es útil cuando tienes varias instancias de Artifactory y necesitas especificar explícitamente el repositorio desde el cual resolver.

    Por otro lado, el bloque repositories se utiliza para especificar los repositorios donde Gradle debe buscar dependencias. Por defecto, incluye el repositorio mavenLocal() y se puede ampliar con otros repositorios.

    Solo necesitas utilizar uno de ellos, dependiendo de tus necesidades. Sin embargo, si usas ambos, el repositorio especificado en el bloque resolve tendrá prioridad sobre el que se encuentra en el bloque repositories.

    En la mayoría de los casos, es suficiente utilizar el bloque repositories con una referencia a tu instancia de Artifactory. Por ejemplo:

    repositories {
      maven {
        url "https://mi.repo/"
        credentials {
          username = "miusuario"
          password = "micontraseña"
        }
      }
      mavenLocal()
    }
    

    Esto buscará dependencias tanto en el repositorio de Artifactory especificado como en el repositorio local de Maven.

Comments are closed.