Cómo subir tu librería a Maven Central (Java)

Aclaración

Este post es una continuación de Cómo subir tu librería a Maven Central (Android), por tanto habrá pasos que no explique de nuevo

Para poder subir tu librería Java a Maven Central los pasos son algo distintos a los que hay que hacer para subir una librería Android.

Deberás hacer los pasos de:

  • Obtención de un Group ID
  • Creación de claves PGP

Preparar los archivos de configuración

Proyecto

En el build.gradle del proyecto, debajo del apply plugin: 'java' deberemos añadir lo siguiente:

buildscript {
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.bmuschko:gradle-nexus-plugin:2.3'
        
    }
}
group = 'Vuestro Group Id'
version = 'Version.de.la.libreria'

Ya está, en este caso no hay gradle.properties implicado.

Librería

Deberemos editar el build.gradle añadiendo lo siguiente (adaptadlo a vuestro proyecto)

Al inicio del build.gradle:

apply plugin: 'java'
apply plugin: 'com.bmuschko.nexus'

Al final del build.gradle

modifyPom {
    project {
        name 'SimpleSec'
        description 'Descripción de la libreria'
        url 'https://github.com/dexafree/SimpleSec'
        inceptionYear '2015'

        scm {
            url 'https://github.com/dexafree/SimpleSec'
            connection 'scm:https://git@github.com/dexafree/SimpleSec.git'
            developerConnection 'scm:git://github.com/dexafree/SimpleSec.git'
        }

        licenses {
            license {
                name 'The Apache Software License, Version 2.0'
                url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                distribution 'repo'
            }
        }

        developers {
            developer {
                id 'dexafree'
                name 'Dexafree'
            }
        }
    }
}

extraArchive {
    sources = true
    tests = true
    javadoc = true
}

nexus {
    sign = true
}

Una vez hecho, tendréis que hacer lo mismo que en el apartado de Android, ejecutar la tarea de gradlew uploadArchives y seguir los mismos pasos en Staging Repositories.