63 lines
2.5 KiB
PowerShell
63 lines
2.5 KiB
PowerShell
|
|
$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
|