CodeName OneShai Almog7 min readintermediate
Why Codename One Is Moving Beyond Maven Central
Summary
Codename One is moving its Maven artifacts from Sonatype’s Maven Central to a self‑hosted Cloudflare R2 bucket. Phase 1 reduces release payloads (from 229 MB to 77 MB) by dropping fat‑JARs and freezing stable deps, adds dual‑publish, and updates generated POMs to include a custom repository for both dependencies and plugins. After a three‑week observation window (ending Aug 28 2026) new releases…
- Maven Central usage limits (2 GB storage, 20 k files) forced a migration; Codename One exceeds them by >20×.
- Payload reduction achieved by removing unused shaded JARs and pinning stable third‑party libs, cutting per‑release size by 66 %.
- R2 static hosting satisfies Maven’s immutable layout; custom scripts enforce atomic release semantics via completion markers and immutable‑path checks.
- Migration plan: dual‑publish (July 31), generated projects get repo config (Aug 7), cutover to R2 only (Aug 28).
Self‑hosting Maven artifacts can sidestep costly third‑party limits, improve publish latency, and give tighter control over release semantics. The post is a concrete case study of moving a high‑volume Java library ecosystem to cheap object storage while preserving Maven’s expectations.
7/10
