Skip to content

Add opt-in Skip Fuse support for Android transpilation#20

Merged
colemancda merged 2 commits into
masterfrom
skip-fuse-android-support
Jul 14, 2026
Merged

Add opt-in Skip Fuse support for Android transpilation#20
colemancda merged 2 commits into
masterfrom
skip-fuse-android-support

Conversation

@colemancda

Copy link
Copy Markdown
Member

Summary

  • Adds an opt-in SKIP_FUSE=1 build configuration that depends on SkipFuse and attaches the skipstone plugin to the CoreModel target, enabling native Skip Fuse compilation for Android.
  • Adds Sources/CoreModel/Skip/skip.yml configured for mode: 'native'.
  • Normal builds (swift build/swift test) are unaffected since this only activates under SKIP_FUSE=1.

Skip Lite (Kotlin transpilation) was evaluated first but rejected: CoreModel's macros, retroactive Foundation conformances (UUID/String/Optional), and generic initializers aren't representable in Kotlin's type system. Skip Fuse compiles real Swift natively via the Swift Android SDK/JNI bridge, so CoreModel builds for Android unmodified.

Test plan

  • swift build / swift test pass unchanged (17 tests, 6 suites)
  • SKIP_FUSE=1 swift build --target CoreModel succeeds (verified locally)
  • CI run on this PR

Gated behind SKIP_FUSE=1 so normal builds are unaffected. Skip Lite
(Kotlin transpilation) was attempted first but CoreModel's macros,
retroactive Foundation conformances, and generic initializers aren't
representable in Kotlin; Fuse compiles real Swift natively via the
Swift Android SDK, so it builds CoreModel unmodified.
Mirrors the local verification: builds the CoreModel target with
SKIP_FUSE=1 so the new opt-in Fuse dependency wiring in Package.swift
is exercised on every push.
@colemancda colemancda merged commit a277351 into master Jul 14, 2026
31 checks passed
@colemancda colemancda deleted the skip-fuse-android-support branch July 14, 2026 13:27
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.

1 participant