WIP Lua 5.5 bindings for Java applications on desktop, web, and Android.
jLua 5.5.0.0 is a breaking upgrade and does not provide deprecated or
compatibility aliases:
- Replace
lua_resetthread(index)withlua_closethread(LuaState.NULL), or pass the originating state when closing a coroutine. - Replace
lua_setuservalue(index)withlua_setiuservalue(index, 1). - Replace
lua_concat(op, count)withlua_concat(count). lua_absindexnow returns the absolute index.- Lua integers and native sizes now use Java
long. - Replace the removed format-only
lua_pushfstringbinding withlua_pushstringfor plain strings.
TeaVM C bindings and native libraries can be generated for each supported desktop target with:
.\gradlew.bat :lua:builder:jParser_build_windows64_teavm_c
.\gradlew.bat :lua:builder:jParser_build_linux64_teavm_c
.\gradlew.bat :lua:builder:jParser_build_mac64_teavm_c
.\gradlew.bat :lua:builder:jParser_build_macArm_teavm_cThe basic sample lives under samples/basic, with its shared Lua implementation and separate fdx and gdx backend branches kept inside that folder. Both integrations use OpenGL/OpenGL ES/WebGL; no WebGPU sample is included.
Run the desktop JNI and FFM samples for 60 frames with:
.\gradlew.bat "--project-prop=jlua.sample.exitAfterFrames=60" "--project-prop=jlua.sample.failFast=true" :samples:basic:fdx:platforms:desktop-jni:lua_fdx_desktop_gl_jni_run
.\gradlew.bat "--project-prop=jlua.sample.exitAfterFrames=60" "--project-prop=jlua.sample.failFast=true" :samples:basic:fdx:platforms:desktop-ffm:lua_fdx_desktop_gl_ffm_run
.\gradlew.bat "--project-prop=jlua.sample.exitAfterFrames=60" "--project-prop=jlua.sample.failFast=true" :samples:basic:gdx:gl:platforms:desktop-jni:lua_gdx_desktop_jni_run
.\gradlew.bat "--project-prop=jlua.sample.exitAfterFrames=60" "--project-prop=jlua.sample.failFast=true" :samples:basic:gdx:gl:platforms:desktop-ffm:lua_gdx_desktop_ffm_runThe remaining OpenGL targets are available through:
.\gradlew.bat :samples:basic:fdx:platforms:desktop-c:lua_fdx_desktop_gl_c_run
.\gradlew.bat :samples:basic:fdx:platforms:web:lua_fdx_webgl_js_run
.\gradlew.bat :samples:basic:fdx:platforms:web:lua_fdx_webgl_wasm_run
.\gradlew.bat :samples:basic:fdx:platforms:android:lua_fdx_android_gles_run
.\gradlew.bat :samples:basic:gdx:gl:platforms:desktop-c:lua_gdx_desktop_c_run
.\gradlew.bat :samples:basic:gdx:gl:platforms:web:lua_gdx_webgl_js_run
.\gradlew.bat :samples:basic:gdx:gl:platforms:web:lua_gdx_webgl_wasm_run
.\gradlew.bat :samples:basic:gdx:gl:platforms:android:lua_gdx_android_jni_run