$ErrorActionPreference = 'Stop' $root = Resolve-Path (Join-Path $PSScriptRoot '../..') Push-Location $root try { & mvn -o -pl ruoyi-admin -am test-compile -DskipTests -q if ($LASTEXITCODE -ne 0) { throw 'test-compile failed' } $cpFile = Join-Path $root 'ruoyi-admin/target/audit-classpath.txt' & mvn -o -q -pl ruoyi-admin dependency:build-classpath "-Dmdep.outputFile=$cpFile" if ($LASTEXITCODE -ne 0) { throw 'classpath generation failed' } $classes = @('ruoyi-admin/target/test-classes','ruoyi-admin/target/classes','ruoyi-common/target/classes','ruoyi-framework/target/classes','ruoyi-system/target/classes','skins-model/target/classes','skins-service/service-admin/target/classes') $cp = (($classes -join ';') + ';' + (Get-Content $cpFile -Raw).Trim()).Replace('\','/') $argFile = Join-Path $root 'ruoyi-admin/target/audit-java.args' $arguments = @('-Dfile.encoding=UTF-8', '-cp', ('"' + $cp + '"'), 'com.ruoyi.audit.UserOperationAuditTest') [System.IO.File]::WriteAllLines($argFile, $arguments, (New-Object System.Text.UTF8Encoding($false))) & java "@$argFile" if ($LASTEXITCODE -ne 0) { throw 'audit regression failed' } } finally { Pop-Location }