run method
Future<void>
run({
- required BuildInput input,
- required BuildOutputBuilder output,
- required Logger? logger,
Runs the Lua compilation process.
Scans the sources directories for .lua files, compiles them
according to mode, and writes the output to build/<outputDirName>/.
Implementation
@override
Future<void> run({
required BuildInput input,
required BuildOutputBuilder output,
required Logger? logger,
}) async {
final packageRoot = input.packageRoot;
// Write compiled output into build/<outputDirName>/ within the package.
// This is the "write to build/" pattern used by flutter_scene and others
// until dartDataAssets is enabled by default.
final buildDir = packageRoot.resolve('build/$outputDirName/');
for (final sourcePath in sources) {
final sourceDir = packageRoot.resolve(sourcePath);
if (!await Directory.fromUri(sourceDir).exists()) {
logger?.fine('Source directory not found: $sourcePath');
continue;
}
await _compileDirectory(
packageName: input.packageName,
sourceDir: sourceDir,
buildDir: buildDir,
sourcePath: sourcePath,
input: input,
output: output,
logger: logger,
);
}
}