Skip to content

chore: remove tvOS and watchOS support - #2394

Merged
jobe-m merged 2 commits into
mainfrom
chore/remove-tvos-watchos-support
Sep 19, 2026
Merged

jobe-m merged 2 commits into
mainfrom
chore/remove-tvos-watchos-support

Conversation

@ygdrasil-io

@ygdrasil-io ygdrasil-io commented Sep 14, 2026 •

Copy link
Copy Markdown
Member

Scope

Drop tvOS and watchOS support. The tvos*/watchos* Kotlin targets are removed from korge and korge-core, the shared iOS implementation moves from iosTvosMain into iosMain, and the tvOS wiring is removed from the Gradle plugin.

Changes

  • korge-core/build.gradle.kts, korge/build.gradle.kts: remove tvos*/watchos* targets and the iosTvosMain source set; iosMain now depends on appleMain.
  • korge-core/src/iosTvosMain/**, korge/src/iosTvosMain/**: move shared iOS code into iosMain/**; merge the expect/actual iosTools into a single iosTools/IosToolsImpl declaration.
  • korge-core/src/tvosMain/**, korge-core/src/watchosMain/**: delete.
  • gradle.properties: drop enableKotlinMobileTvos.
  • korge-gradle-plugin: remove tvOS targets/storyboard handling and rename iosTvos* identifiers to ios*.

Validation

  • ./gradlew build --continue (macOS) → 491 tasks; 1750 tests, 57 skipped, 0 failures/errors (jvm, js, jsBrowser, wasmJs, macosArm64, iosSimulatorArm64).
  • iOS compilation for korge-core and korge (compileKotlinIosSimulatorArm64).
  • Only remaining failure is the pre-existing :korge-sandbox:webApp:compileProductionExecutableKotlinWasmJsOptimize (binaryen wasm-opt "duplicate export name"), reproduced identically on unmodified main — unrelated.
  • CI required: yes

Notes

  • watchOS/tvOS rendering was already unsupported (OpenGL/window stubs that just error(...)).
  • iosX64 tests are skipped on Apple Silicon (unchanged).

- Drop tvos*/watchos* Kotlin targets from korge and korge-core.
- Move the shared iOS implementation from iosTvosMain into iosMain and merge the expect/actual iosTools pair into a single declaration.
- Delete the now-orphaned tvosMain/watchosMain sources.
- Remove enableKotlinMobileTvos from gradle.properties.
- Strip tvOS wiring from the Gradle plugin (tvos targets, storyboard handling, deploy extension identifiers renamed to ios*).
- Ios.kt: drop the now-constant targetName parameter from configureNativeIosTarget/configureNativeIosRun, hardcode "ios", remove the obsolete when/else->TODO branch and the duplicated target declarations.
- IosProjectTools.kt: drop the targetName parameter from the storyboard/project helpers, inline the iOS constants and remove the unused targetNameCapitalized val.
- korge/korge-core build.gradle.kts: drop the redundant iosMain { dependsOn(appleMain) } block (already handled by applyDefaultHierarchyTemplate()).
@ygdrasil-io
ygdrasil-io marked this pull request as ready for review September 14, 2026 23:18
@ygdrasil-io
ygdrasil-io requested a review from jobe-m September 17, 2026 22:43

@jobe-m jobe-m left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

@jobe-m
jobe-m merged commit cb3f416 into main Sep 19, 2026
5 checks passed
@jobe-m
jobe-m deleted the chore/remove-tvos-watchos-support branch September 19, 2026 15:57
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