This commit is contained in:
dutchie031
2026-04-07 22:40:54 +02:00
parent d75f424b6a
commit 31a5a99d0f
7 changed files with 58 additions and 4 deletions
+60
View File
@@ -0,0 +1,60 @@
import * as core from '@actions/core';
import { ScriptCompiler, ScriptCompilerOptions, CompilationError, ICompilationLogger } from 'dcs-script-compiler';
class Logger implements ICompilationLogger {
info(message: string): void {
core.info(message);
}
error(message: string): void {
core.error(message);
}
writeLine(message: string): void {
core.info(message);
}
}
async function run() {
try {
const sourceRoot = core.getInput('source-root');
if (!sourceRoot) {
core.setFailed('Source root is required.');
return;
}
const outputFile = core.getInput('output-file');
if (!outputFile) {
core.setFailed('Output file path is required.');
return;
}
const logger = new Logger();
const outputFileName = outputFile.split('/').pop() || 'compiled.lua';
const outputFolderPath = outputFile.substring(0, outputFile.lastIndexOf('/'));
const options: ScriptCompilerOptions = {
sourcePath: sourceRoot,
outputPath: outputFolderPath,
outputFileName: outputFileName,
minify: false,
onError: (error: CompilationError) => {
logger.error(`Error in file ${error.filePath} at line ${error.line}: ${error.message}`);
core.setFailed(`Compilation error in file ${error.filePath} at line ${error.line}: ${error.message}`);
}
}
const compiler = new ScriptCompiler(options, logger);
await compiler.compile(false);
core.info('Compilation completed successfully.');
} catch (error) {
if (error instanceof Error) {
core.setFailed(error.message);
} else {
core.setFailed('An unknown error occurred.');
}
}
}
run();