proomt

Search

Search posts, papers, and topics

All posts

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

Related reading

  1. App Hardening: One Obfuscation Pipeline Across Every Port

    Codename One adds a cloud‑side hardening step that runs on the merged JAR before it is split into Android, iOS, JavaScript, and desktop binaries. It can rename symbols, encrypt string literals, and insert opaque‑predicate control‑flow guards at configurable levels (off → standard → aggressive → paranoid). The transforms are selective per platform to avoid breaking optimizers, and a mapping is kep…

    CodeName Onecodenameone.com6 min
  2. VoIP, VPN, and the Build System Behind Them

    Codename One’s new builder pipeline can automatically generate the native plumbing required for VoIP call integration, managed VPN profiles, and packet‑tunnel extensions on iOS and Android. By inspecting which Java packages an app imports, the builder adds the necessary frameworks, entitlements, services, and even a separate signed Network Extension for iOS, letting developers keep their signalin…

    CodeName Onecodenameone.com10 min
  3. Migrating the GitHub Copilot runtime to Rust, using Copilot

    The Copilot agent runtime was rewritten from a 130‑k‑line TypeScript/Node.js codebase into a native Rust library (~830 k lines of Rust) to reduce startup latency, memory use, and improve reliability. The migration was done incrementally (in‑place) across 128 PRs, with AI‑generated code handling most of the work. The new runtime exposes a C ABI for in‑process embedding by all six Copilot SDK langu…

    GitHub Oldgithub.blog65 minHN188
  4. Cloudflare Introduces the Agent Development Lifecycle to Replace Traditional SDLC

    Cloudflare’s Agent Development Lifecycle (ADLC) replaces the classic SDLC with an autonomous, event‑driven workflow system that lets AI agents handle code generation, testing, deployment, and maintenance. The platform builds on Cloudflare Workflows and the new @cloudflare/ci library to spin up containers, run headless browsers, and chain steps with caching and credential support. Observability is…

    InfoQinfoq.com2 min
  5. Article: Your Next DSL Author Is a Language Model

    Typed Domain Grounding (TDG) embeds a DSL inside a mainstream language the LLM already knows (e.g., Kotlin) and uses the host compiler as an oracle. The author describes five building blocks—embedding, choosing a host language with high training‑data frequency, compiler‑driven type safety, a generate‑compile‑repair loop, and an on‑demand teaching tool—and shows measured results from kUML, a Kotli…

    InfoQinfoq.com18 min