Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ jobs:
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
cache-read-only: false

- name: Ensure binary compatibility
# This is to ensure that your code is backwards compatible.
# If this fails you need to add a @Prerelease annotation to new code.
run: ./gradlew library:checkKotlinAbi

- name: Run Gradle
run: ./gradlew assemblePrereleaseDebug lint

Expand Down
15 changes: 15 additions & 0 deletions library/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## CloudStream extension library

This is the official API surface for all CloudStream plugins.

To ensure that all plugins work on both the stable release and pre-release we must have
binary compatibility on all changes. All new changes must be marked with `@Prerelease` to
prevent accidental usage among extension developers.

We use Kotlin binary compatibility validation using:

``./gradlew checkKotlinAbi``

If you for some reason must update the binary compatibility then manually edit `api/jvm/library.api` or use:

``./gradlew updateKotlinAbi``
Loading