Libraries
Dependencies and tools for Spotube plugin development.
Maven Central dependencies
Add these to your build.gradle.kts:
plugin_interfaces
implementation("dev.krtirtho.spotube:plugin_interfaces:0.1.0")
Core library containing all plugin API interfaces (ZiplineService definitions), data models, host APIs (HTTP client, storage, crypto, system info, webview), and the Spotr HTTP client utility.
spotube-gradle-plugin
plugins {
id("dev.krtirtho.spotube.gradle-plugin") version "0.1.0"
}
Gradle plugin that packages compiled Zipline executables with plugin.json into distributable .smplug files. Automatically registers packageDevelopmentPlugin and packageProductionPlugin tasks.
Third-party dependencies
Zipline
plugins {
id("app.cash.zipline") version "1.13.0"
}
Zipline by Cash App is the runtime that executes Kotlin/JS plugins in Spotube. It provides the sandboxed JavaScript environment and the ZiplineService interface that all plugin APIs extend.
Kotlin Multiplatform
plugins {
kotlin("multiplatform") version "2.1.0"
}
Plugins are built as Kotlin Multiplatform projects targeting JS (browser).