Commit 3e2ba4b
committed
Blog: build-time codegen (router, ORM, mappers, binder, SVG/Lottie)
Final consolidated follow-up to the May 29 weekly index. Pulls
together six PRs that share the same architectural shape: emit Java
at build time, validate at build time, fail fast, and let R8 /
ParparVM rename the generated code together with the rest of the app.
- PR #5037: bytecode AnnotationProcessor SPI in the Maven plugin,
the declarative router that is its first consumer (@route with
guards, redirects, per-tab navigation shell, location listeners),
the unified cold + warm DeepLink API, iOS Universal Links /
Android App Links JSON generators, and the JavaScript-port
window.history bridge.
- PR #5047: three more processors on the same SPI -- SQLite ORM
(@entity / @id / @column), JSON / XML mapping (@mapped /
@JsonProperty / @xmlelement), and component binding (@bindable /
@Bind with the new BindAttr enum).
- PR #5062: validation annotations (@required, @Length, @regex,
@Email, @url, @Numeric, @existin, @Validate) that compose with
@Bind and surface through Binding.getValidator().
- PR #5055: the Immich-port baseline -- Map default methods,
BiFunction, atomics, Rest.fetchAsJsonList / fetchAsMapped(List),
URLImage.RequestDecorator / setDefaultBearerToken, JSONWriter,
modern animated tab indicator + arc-spinner pull-to-refresh,
MorphTransition.snapshotMode, WebSocket in core, and the new
cn1:generate-openapi-client mojo.
- PR #5042: build-time SVG transcoder that lowers SVG (and SMIL
animations) into Codename One Image subclasses via the shape API.
- PR #5066: Lottie / Bodymovin transcoder reusing the same
SVGDocument model, JavaCodeGenerator, and SVGRegistry.
- PR #5049: the iOS Metal stencil-clip + drawString and Android
LinearGradientPaint fixes the SVG screenshot tests exposed.
Calls out the Metal-only caveat on iOS for SVG / Lottie (the GL ES 2
path does not have the shape coverage) -- a non-issue on most apps
now that Metal is the default.1 parent c9ee822 commit 3e2ba4b
1 file changed
Lines changed: 211 additions & 0 deletions
0 commit comments