Skip to content

klua 0.2.1

Latest

Choose a tag to compare

@caffeine-mgn caffeine-mgn released this 30 Sep 12:28
· 21 commits to main since this release

klua 0.2.1

Build/CI release: the whole publication now happens on a macOS host, so a single
Maven Central deployment carries every target.

Distribution

  • All published Kotlin/Native targets in one deployment: linuxx64, linuxarm64, mingwx64, macosarm64, androidnativearm64, androidnativex64, plus the klua-android AAR and the JVM jar.
  • pw.binom:klua-macosarm64 is new. The Apple target is now macosArm64; macosx64 was removed (deprecated upstream in Kotlin 2.3.20 and never actually published, even though the root module advertised it — macOS consumers got a broken resolution instead of a clear "unsupported").
  • klua-jvm now really bundles all four host natives: libklua.so for Linux x86_64/AArch64, libklua.dll (MinGW x86_64) and libklua.dylib (macOS Apple silicon). The Windows and macOS libraries were silently missing before, so desktop JVM on those platforms failed at load time.

Fixes

  • Windows JNI build: the MinGW sysroot shipped with Kotlin/Native has no clock_gettime, so the limits core uses QueryPerformanceCounter under _WIN32. The Windows library had never actually been built before, because the cross target silently no-op'ed without the platform's jni_md.h.
  • The Android AAR ABI gate now also runs on the macOS host (GNU readelf does not exist there; greadelf/llvm-readelf is resolved instead).
  • -Pversion= now overrides the tag-derived version, so the release graph can be dry-run without publishing.

CI

  • A separate Ubuntu job runs jvmTest and linuxX64Test (a Linux test binary cannot run on macOS, and Apple targets cannot be built on Linux); the macOS job runs jvmTest + macosArm64Test, builds and gates the AAR, then publishes.
  • The JVM jar payload and the AAR ABI (bionic, not glibc) are asserted before publishing.

No changes to the Lua API in this release.