Installation
org.oblyx:oblyx-ktor is the Kotlin HTML DSL binding for the Oblyx components, plus one call to serve their compiled JS and CSS. Add it as a normal Gradle dependency; no plugin, codegen step, or resource copying required on your side.
Gradle Kotlin DSL
dependencies {
implementation("org.oblyx:oblyx-ktor:0.1.0")
}Not published yet. The org.oblyx namespace is verified on Maven Central, so publishing is unblocked, but publication itself (task-032) is still pending an explicit go-ahead: a Maven Central release cannot be un-published once a version number is used. The dependency above does not resolve today. Consume it locally in the meantime with the composite build below.
Consuming it locally in the meantime
Until publication, resolve the coordinate against a local build with Gradle's composite builds. This is the same setup demo-ktor/ in the Oblyx repo actually uses:includeBuild substitutes any dependency on org.oblyx:oblyx-ktor with the local project, so your code is written exactly the way it will be once the artifact is real, with nothing to rewrite later.
// settings.gradle.kts
rootProject.name = "your-app"
includeBuild("../packages/oblyx-ktor")// build.gradle.kts
dependencies {
implementation("org.oblyx:oblyx-ktor:0.1.0")
}The version string in the dependency coordinate is required by Gradle's syntax but ignored for resolution once a composite build substitutes it in. 0.1.0 matches the local project's actual version in build.gradle.kts so the two stay unsurprising to read side by side.
Version floors
Taken directly from packages/oblyx-ktor/build.gradle.kts, not assumed:
- JVM 21 (
kotlin { jvmToolchain(21) }) - Kotlin 2.4.10
- Ktor 3.5.1
A consumer on an older Ktor or JVM should upgrade before adding the dependency; nothing in oblyx-ktor is written to tolerate an older toolchain.
What the artifact contains
One module, org.oblyx:oblyx-ktor, carries both the generated DSL builders (see Using the DSL) and the compiled oblyx.js / oblyx.iife.js / oblyx.css bundle as packaged resources. See Serving the assets for the one line of Ktor setup that serves them. There is no separate assets artifact to add.