fix build hook

This commit is contained in:
Henry Hiles 2026-01-24 11:36:19 +00:00
commit 66d4ef18b4
No known key found for this signature in database

View file

@ -1,17 +1,34 @@
import "dart:io";
import "package:hooks/hooks.dart"; import "package:hooks/hooks.dart";
import "package:code_assets/code_assets.dart"; import "package:code_assets/code_assets.dart";
import "package:path/path.dart"; import "package:path/path.dart";
import "package:ffigen/ffigen.dart";
Future<void> main(List<String> args) => build(args, (input, output) async { Future<void> main(List<String> args) => build(args, (input, output) async {
final targetOS = input.config.code.targetOS;
String libFileName;
switch (targetOS) {
case OS.linux:
libFileName = "libgomuks.so";
break;
case OS.macOS:
libFileName = "libgomuks.dylib";
break;
case OS.windows:
libFileName = "libgomuks.dll";
break;
default:
throw UnsupportedError("Unsupported OS: $targetOS");
}
final generatedFile = join("src", "third_party", "gomuks.g.dart");
output.assets.code.add( output.assets.code.add(
CodeAsset( CodeAsset(
package: "nexus", package: "nexus",
name: "src/third_party/gomuks.g.dart", name: generatedFile,
linkMode: DynamicLoadingBundled(), linkMode: DynamicLoadingBundled(),
file: libFile.uri, file: input.packageRoot.resolve(join("build", "gomuks", libFileName)),
), ),
); );
output.dependencies.add(libFile.uri); output.dependencies.add(
input.packageRoot.resolve(join("lib", generatedFile)),
);
}); });