Skip to content

Getting ready for KMP - #17

Open
Blatzar wants to merge 4 commits into
recloudstream:masterfrom
Blatzar:master
Open

Getting ready for KMP#17
Blatzar wants to merge 4 commits into
recloudstream:masterfrom
Blatzar:master

Conversation

@Blatzar

@Blatzar Blatzar commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Can compile KMP projects and normal projects. Features a new CompilePluginJsTask to compile and output js files.

From my testing it does not contain any breaking changes.

Future changes may be needed for automatic JsExports annotations.

""".trimIndent()
targetFile.appendText(initText)

// Load a Nuvio bridge to export the necessary Nuvio methods

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commented out until the CloudStream library contains the necessary Nuvio bridge.

}

@ExperimentalMultiplatform
fun KotlinMultiplatformExtension.nuvio() {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Extension maintainers will be able to do:

cloudstream {
    multiplatform {
        nuvio()
    }

    // Rest of normal cloudstream plugin config
}

The idea with early Nuvio support is to trial the experimental JS experience before we implement a JS engine in CloudStream.


val pluginClassName = pluginClassFile.map { it.asFile.readText() }.get()

// Always load the plugin when JS file is loaded.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will need all JS plugins to have a JsExport annotation in addition to their CloudstreamPlugin annotation. This is unavoidable without custom KSP processors.

@NivinCNC

Copy link
Copy Markdown

Can we have something for skystream too @Blatzar ?

@Blatzar

Blatzar commented Jul 20, 2026

Copy link
Copy Markdown
Contributor Author

Yes, the plan is to support as many apps as possible with the least amount of hassle for extension developers.

Nuvio is the first target due to its simple API.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants