Skip to content

Publica el SDK Java en Maven Central como py.com.ith:tu-ruc-client - #3

Merged
mijhaels merged 4 commits into
mainfrom
build/maven-central
Oct 12, 2026
Merged

mijhaels merged 4 commits into
mainfrom
build/maven-central

Conversation

@mijhaels

Copy link
Copy Markdown
Contributor

Summary

Maven Central exige un groupId verificado. org.ith corresponde a ith.org, que está estacionado en Sedo y no es de ITH, así que se usa py.com.ith (ith.com.py). Los paquetes Java org.ith.* no cambian.

 build.gradle
-  group = "org.ith"
+  group = "py.com.ith"
+  id("com.vanniktech.maven.publish") version "0.37.0"
+  mavenPublishing { Central Portal · sources + javadoc · firmas PGP · POM completo }
+  signing.required solo al publicar en Maven Central
 .github/workflows/ci.yml
   test (17, 21, 25)
+  publish   # solo en tags == version → publishAndReleaseToMavenCentral
+LICENSE     # MIT
-gradle.properties   # solo tenía gpr.user/gpr.token de ejemplo
 README.md          # instalación con coordenadas de Maven Central (Gradle y Maven)
 CONTRIBUTING.md    # includeBuild para pruebas locales, pasos de publicación y secretos

Evidence

  • Before: no había forma de publicar; el README solo ofrecía includeBuild del checkout.
    After: ./gradlew build publishToMavenLocal genera jar, sources, javadoc, .module y .pom. El POM incluye licencia, SCM y dependencias (retrofit en compile; fastjson2-extension, okhttp y logging-interceptor en runtime; okhttp-bom importado).
  • Con una clave PGP descartable, los cinco .asc dan Good signature.
  • Sin clave, publishToMavenCentral falla en signMavenPublication antes de subir nada.
  • clean build pasa con JDK 21 en local; CI cubre 17, 21 y 25.

Merge Danger

Door: two-way

Mergear no publica nada; solo un tag lo hace. Lo que no tiene vuelta es la primera publicación: Maven Central no permite borrar ni reemplazar versiones, y py.com.ith:tu-ruc-client queda fijo desde ahí.

Blast Radius: Consumidores

Quienes usaban includeBuild con org.ith:tu-ruc-client deben cambiar la dependencia a py.com.ith:tu-ruc-client. Antes de crear el tag hacen falta el namespace py.com.ith verificado en Central Portal y los secretos MAVEN_CENTRAL_USERNAME, MAVEN_CENTRAL_PASSWORD, SIGNING_KEY y SIGNING_KEY_PASSWORD.

🤖 Generated with Claude Code

mijhaels and others added 2 commits October 12, 2026 19:48
Maven Central requires a verified namespace. org.ith maps to ith.org,
which ITH does not own, so the groupId moves to py.com.ith (ith.com.py).
Java packages stay org.ith.*.

Add the vanniktech maven-publish plugin with sources, Javadoc and PGP
signatures, a complete POM, an MIT LICENSE, and a CI job that publishes
tags matching the project version after the Java 17/21/25 matrix
passes. Signing is only required when publishing to Maven Central.
Drop gradle.properties, which only held placeholder GitHub Packages
credentials.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mijhaels and others added 2 commits October 12, 2026 20:17
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mijhaels
mijhaels merged commit f11fe92 into main Oct 12, 2026
8 checks passed
@mijhaels
mijhaels deleted the build/maven-central branch October 27, 2026 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant