summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2026-02-27 21:45:41 +0800
committerGitHub <[email protected]>2026-02-27 21:45:41 +0800
commit95d7fb54eeb5851326244591e7ba656d12228b2b (patch)
treebf7de9cb3fa8409307a46ef2d50caf6767f49420
parent08db45b75bd4354bd40efcdff52bdf917d385f1a (diff)
Enhance Java compilation with release option
-rw-r--r--xmake/rules/swig/build_module_file.lua8
1 files changed, 7 insertions, 1 deletions
diff --git a/xmake/rules/swig/build_module_file.lua b/xmake/rules/swig/build_module_file.lua
index 8aaf29e3f..9dfc9d6e5 100644
--- a/xmake/rules/swig/build_module_file.lua
+++ b/xmake/rules/swig/build_module_file.lua
@@ -66,7 +66,13 @@ function jar_build(target, fileconfig, opt)
-- compile to class file
progress.show(opt.progress, "${color.build.object}compiling.javac %s class file", target:name())
- os.vrunv(javac.program, {"-d", java_class_dir, "@" .. filelistname})
+ local argv = {"-d", java_class_dir, "@" .. filelistname}
+ local java_release = target:extraconf("rules", "swig.c", "java_release") or target:extraconf("rules", "swig.cpp", "java_release")
+ if java_release then
+ table.insert(argv, 1, tostring(java_release))
+ table.insert(argv, 1, "--release")
+ end
+ os.vrunv(javac.program, argv)
-- generate jar file
progress.show(opt.progress, "${color.build.object}compiling.jar %s", target:name() .. ".jar")