ab914c36b3
Some checks failed
Repo / Label merge conflict / Triage (push) Has been cancelled
SDK / Documentation / Lint (push) Has been cancelled
SDK / Documentation / Build Vitepress (push) Has been cancelled
SDK / Documentation / Build Dokka (push) Has been cancelled
SDK / Lint / Lint (push) Has been cancelled
SDK / Publish / Publish (push) Has been cancelled
SDK / Test / Test (17) (push) Has been cancelled
SDK / Test / Test (21) (push) Has been cancelled
SDK / Test / Validate binary compatibility (push) Has been cancelled
SDK / Test / Verify OpenAPI sources (push) Has been cancelled
SDK / Unstable branch / Update (push) Has been cancelled
SDK / Update OpenAPI / Update (push) Has been cancelled
SDK / Documentation / Deploy (push) Has been cancelled
|
||
---|---|---|
.github/workflows | ||
buildSrc | ||
docs | ||
gradle | ||
jellyfin-api | ||
jellyfin-api-ktor | ||
jellyfin-core | ||
jellyfin-model | ||
openapi-generator | ||
samples | ||
testutils | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.markdownlint.yaml | ||
android-lint.xml | ||
build.gradle.kts | ||
CODEOWNERS | ||
detekt.yaml | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
openapi.json | ||
package-lock.json | ||
package.json | ||
README.md | ||
renovate.json | ||
settings.gradle.kts |
Jellyfin Kotlin SDK
Part of the Jellyfin Project
The Kotlin SDK for Jellyfin implements the Jellyfin API to easily access servers. It is currently available for the JVM and Android. Developer documentation is available at kotlin-sdk.jellyfin.org.
Contributing
We welcome contributions to the SDK. Open an issue or ask in our official chats if you plan to make bigger changes.
To validate binary compatibility we use the Binary compatibility validator tool from the Kotlin team. When creating
pull requests the api files need to be updated. Use the apiDump
Gradle task to generate the api files. Add the changes
from this command to a separate commit to make the review process easier.
Testing
The SDK includes two example projects, the kotlin-cli and java-cli, to test various larger functions like server
discovery. Besides that we use unit tests to test smaller components, these can be executed with the allTests
Gradle
task. We recommend adding new tests for changes to the
code.
Testing in app
It is also possible to test a new version of the SDK in your own app. Use the publishToMavenLocal
Gradle task to
publish the SDK to your local system, afterwards you can add mavenLocal()
as repository and use the latest-SNAPSHOT
version for the SDK. This process is simplified in our official apps by adding an option to the gradle.properties
file.