Repository navigation
Releases: Kite-Di/kite
Releases · Kite-Di/kite
Release list
v0.1.1
Changed
- The Android artifacts now require
compileSdk 34instead of36.1. The old
floor came from a project template, not from any API the library uses, and it
shut out apps that must target 35 (Wear OS, Automotive) or 34 (Android TV,
XR) and keepcompileSdkin step withtargetSdk. 34 is as low as the
Compose dependencies allow. - The javadoc jars of
rules,graph-core,processor,boardand
gradle-plugincontain the API documentation. In 0.1.0 they were empty: the
stock javadoc tool reads no Kotlin, and Dokka was not applied.
Artifacts: com.kitedi on Maven Central. Documentation: https://kitedi.com
v0.1.0
First public release.
Added
- Inferred graph. A KSP processor reads the graph out of ordinary Kotlin:
implementing a project interface is the binding, constructor parameters are the
edges. No annotations on your classes. - Decisions as code.
@Root/@Bind/@Scopedon a per-moduleGraphRules.kt
holder, written as compile-checked class references.SOURCEretention and
compileOnly, so none of it can reach an APK.@Freshlives on the class. - Singleton by default. Everything in the graph is one shared instance;
"activity"and"fragment"scopes follow the Android lifecycle, and custom
scopes are opened and closed by hand. - Compile-time validation. Missing bindings, ambiguity, duplicates, cycles and
scope violations are build errors carrying the file and line of both sides. - Graph arguments. A leaf nothing provides becomes a parameter of the
generatedGraph.start(…); the parameter name is the identity, replacing
qualifiers and@Providesmodules. - ViewModels and Compose. Generated per-ViewModel adapters, rotation-retained
by androidx, with unprovidable constructor parameters becoming adapter
parameters — no assisted-injection concept. Compose getsremember…forms and
injected<T>(). - The board. A host-side infinite canvas of the graph, started by every debug
build, animating each rebuild and offering decision cards that write
GraphRules.ktfor you. Optionally augmented with live runtime state pulled
from a device overadb. - One Gradle plugin.
id("com.kitedi")applies KSP, wires every Kite
dependency and configures the processor.
Known limitations
Set<I>collects implementations per module; cross-module contributions are not
supported yet.- A graph argument's identity is its parameter name, so unrelated leaves sharing a
name unify. - The board's live runtime needs
adb; there is no Wi-Fi mode.
Artifacts: com.kitedi on Maven Central. Documentation: https://kitedi.com