Vamos a ver que son los repositorios y las dependencias en Gradle, y como añadir librerías.
Repositorios
Un repositorio es un servidor específicamente para servir librerías. Cuando queramos incluir alguna librería en nuestro proyecto de Gradle, necesitaremos incluir el repositorio en el que esté.
Para declarar repositorios lo haremos en el bloque de configuración repositories
. Dentro de este bloque, podemos especificar con la configuración maven
la url (y opcionalmente el nombre) del repositorio. El repositorio principal donde están la mayoría de librerías se le llama Maven Central
, y este se puede añadir con la función mavenCentral()
.
repositories {
// El repositorio de Maven Central
mavenCentral()
// Un repositorio añadido por nosotros
maven {
url "url del repositorio"
name "Repositorio de ejemplo" // opcional
}
}
Dependencias
Una dependencia es una librería que podemos incluir en nuestro proyecto, para poder interactuar con ella, como ejecutar código o instanciar objetos que esta contenga.
Para declarar que queremos incluir una librería lo haremos en el bloque de configuración dependencies
. Dentro de este bloque podemos usar dos configuraciones específicas:
implementation
: La librería es necesaria para compilar y ejecutar el programa.compileOnly
: La librería es necesaria para compilar, pero no para ejecutar el programa.
La declaración de una dependencia tiene tres partes:
group
: Es el grupo al que pertenece la librería. Podríamos decir que es como el package.name
: El nombre de la librería.version
: La versión que queramos usar de la librería.
dependencies {
implementation group: "grupo", name: "nombre", version: "version"
// o de manera simplificada (más común)
implementation "{grupo}:{nombre}:{version}"
}
Ejemplo
Supongamos que queremos necesitamos generar IDs únicas en nuestro programa. Para ello podemos usar jnanoid-enhanced. Si entramos en el repo de Github, vemos que hay instrucciones de como incluir esta librería. Vamos a seguirlas.
Primero añadiremos el repo de jitpack:
repositories {
maven {
url "https://jitpack.io"
}
}
Luego declararemos la dependencia:
dependencies {
implementation "com.soundicly:jnanoid-enhanced:main-SNAPSHOT"
}
Y ya está. Ahora esperamos a que Gradle la descargue y la configure, y listo. Si vamos a Main.java
, podemos usarla sin problema.
import com.soundicly.jnanoidenhanced.jnanoid.NanoIdUtils;
public class Main {
public static void main(String[] args) {
String id = NanoIdUtils.randomNanoId();
System.out.println(id); // "ku-qLNv1wDmIS5_EcT3j7"
}
}