Files
luaj/run-lua54-luajc-smoke.ps1

63 lines
2.5 KiB
PowerShell
Raw Normal View History

2026-03-03 10:55:46 +01:00
$ErrorActionPreference = "Stop"
$root = Split-Path -Parent $MyInvocation.MyCommand.Path
$outDir = Join-Path $root "build\lua54-luajc-smoke-classes"
$libDir = Join-Path $root "build"
$bcelJar = Join-Path $libDir "bcel-6.12.0.jar"
$commonsJar = Join-Path $libDir "commons-lang3-3.18.0.jar"
function Ensure-Jar {
param(
[string]$Path,
[string]$Url
)
if (-not (Test-Path $Path)) {
New-Item -ItemType Directory -Force (Split-Path -Parent $Path) | Out-Null
& curl.exe -L $Url -o $Path
if ($LASTEXITCODE -ne 0) {
throw "failed to download $Url"
}
}
}
Ensure-Jar $bcelJar "https://repo1.maven.org/maven2/org/apache/bcel/bcel/6.12.0/bcel-6.12.0.jar"
Ensure-Jar $commonsJar "https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.18.0/commons-lang3-3.18.0.jar"
New-Item -ItemType Directory -Force $outDir | Out-Null
$sources = @(
"core\src\main\java\org\luaj\vm2\LuaValue.java",
"core\src\main\java\org\luaj\vm2\LoadState.java",
"core\src\main\java\org\luaj\vm2\LocVars.java",
"core\src\main\java\org\luaj\vm2\LuaClosure.java",
"core\src\main\java\org\luaj\vm2\LuaThread.java",
"core\src\main\java\org\luaj\vm2\Upvaldesc.java",
"core\src\main\java\org\luaj\vm2\compiler\DumpState.java",
"core\src\main\java\org\luaj\vm2\compiler\FuncState.java",
"core\src\main\java\org\luaj\vm2\compiler\LexState.java",
"core\src\main\java\org\luaj\vm2\libs\BaseLib.java",
"core\src\main\java\org\luaj\vm2\libs\CoroutineLib.java",
"core\src\main\java\org\luaj\vm2\libs\MathLib.java",
"core\src\main\java\org\luaj\vm2\libs\StringLib.java",
"jse\src\main\java\org\luaj\vm2\libs\jse\JseMathLib.java",
"jse\src\main\java\org\luaj\vm2\libs\jse\JsePlatform.java",
"jse\src\main\java\org\luaj\vm2\luajc\JavaLoader.java",
"jse\src\main\java\org\luaj\vm2\luajc\LuaJC.java",
"jse\src\main\java\org\luaj\vm2\luajc\LuaJCDelegateSupport.java",
"jse\src\main\java\org\luaj\vm2\luajc\LuaJCDelegateFunction.java",
"jse\src\main\java\org\luaj\vm2\luajc\DelegateJavaGen.java",
"jse\src\test\java\org\luaj\vm2\Lua54LuaJcSmokeTestMain.java"
)
$classpath = "$bcelJar;$commonsJar;core\src\main\java;jse\src\main\java;jse\src\test\java"
$sourceArgs = $sources | ForEach-Object { Join-Path $root $_ }
& javac -encoding UTF-8 -cp $classpath -d $outDir $sourceArgs
if ($LASTEXITCODE -ne 0) {
exit $LASTEXITCODE
}
& java -cp "$outDir;$classpath" org.luaj.vm2.Lua54LuaJcSmokeTestMain
exit $LASTEXITCODE