fixes
diff --git a/pkgs/swiftgen/example/generate_code.dart b/pkgs/swiftgen/example/generate_code.dart
index 0012126..9f444d5 100644
--- a/pkgs/swiftgen/example/generate_code.dart
+++ b/pkgs/swiftgen/example/generate_code.dart
@@ -15,8 +15,6 @@
stderr.writeln('${record.level.name}: ${record.message}');
});
- final includes = {'AVAudioPlayer'};
-
await SwiftGenerator(
target: Target(
triple: 'x86_64-apple-macosx14.0',
@@ -25,10 +23,7 @@
),
),
inputs: [SwiftModuleInput(module: 'AVFAudio')],
- include: (d) {
- print('>>>>>> ${d.name}');
- return includes.contains(d.name);
- },
+ include: (d) => d.name == 'AVAudioPlayer',
objcSwiftFile: Uri.file('avf_audio_wrapper.swift'),
tempDirectory: Uri.directory('temp'),
outputModule: 'AVFAudioWrapper',
@@ -56,7 +51,7 @@
// coverage:ignore-file
''',
),
- ).generate(logger);
+ ).generate(logger: logger);
final result = Process.runSync('swiftc', [
'-emit-library',
diff --git a/pkgs/swiftgen/lib/src/generator.dart b/pkgs/swiftgen/lib/src/generator.dart
index 461979e..c2f6c3b 100644
--- a/pkgs/swiftgen/lib/src/generator.dart
+++ b/pkgs/swiftgen/lib/src/generator.dart
@@ -13,14 +13,15 @@
import 'util.dart';
extension SwiftGenGenerator on SwiftGenerator {
- Future<void> generate(Logger logger) async {
+ Future<void> generate({required Logger? logger}) async {
+ logger ??= Logger.detached('dev/null')..level = Level.OFF;
Directory(absTempDir).createSync(recursive: true);
final swift2objcConfigs = inputs
.map((input) => input.swift2ObjCConfig)
.nonNulls
.toList();
if (swift2objcConfigs.isNotEmpty) {
- await _generateObjCSwiftFile(swift2objcConfigs);
+ await _generateObjCSwiftFile(swift2objcConfigs, logger);
}
await _generateObjCFile();
_generateDartFile(logger);
@@ -31,15 +32,14 @@
Future<void> _generateObjCSwiftFile(
List<swift2objc.InputConfig> swift2objcConfigs,
- ) => swift2objc.generateWrapper(
- swift2objc.Config(
- inputs: swift2objcConfigs,
- include: include ?? (d) => true,
- outputFile: objcSwiftFile,
- tempDir: tempDir,
- preamble: objcSwiftPreamble,
- ),
- );
+ Logger logger,
+ ) => swift2objc.Swift2ObjCGenerator(
+ inputs: swift2objcConfigs,
+ include: include ?? (d) => true,
+ outputFile: objcSwiftFile,
+ tempDir: tempDir,
+ preamble: objcSwiftPreamble,
+ ).generate(logger: logger);
Future<void> _generateObjCFile() => run('swiftc', [
'-c',
diff --git a/pkgs/swiftgen/test/integration/util.dart b/pkgs/swiftgen/test/integration/util.dart
index f15d8a2..5a62745 100644
--- a/pkgs/swiftgen/test/integration/util.dart
+++ b/pkgs/swiftgen/test/integration/util.dart
@@ -42,7 +42,7 @@
TestGenerator(this.name) {
testDir = path.absolute(path.join(pkgDir, 'test/integration'));
tempDir = path.join(testDir, 'temp');
- inputFile = path.join(testDir, '${name}.swift');
+ inputFile = path.join(testDir, '$name.swift');
wrapperFile = path.join(tempDir, '${name}_wrapper.swift');
outputFile = path.join(tempDir, '${name}_output.dart');
outputObjCFile = path.join(tempDir, '${name}_output.m');
@@ -53,13 +53,14 @@
actualOutputFile = path.join(testDir, '${name}_bindings.dart');
}
- Future<void> generateBindings() async => SwiftGen(
+ Future<void> generateBindings() async => await SwiftGenerator(
target: await hostTarget,
inputs: [
SwiftFileInput(module: name, files: [Uri.file(inputFile)]),
],
objcSwiftFile: Uri.file(wrapperFile),
tempDirectory: Directory(tempDir).uri,
+ outputModule: name,
ffigen: FfiGenConfig(
output: Uri.file(outputFile),
outputObjC: Uri.file(outputObjCFile),
@@ -80,7 +81,7 @@
// coverage:ignore-file
''',
),
- ).generate(Logger.root..level = Level.SEVERE);
+ ).generate(logger: Logger.root..level = Level.SEVERE);
Future<void> generateAndVerifyBindings() async {
// Run the generation pipeline. This produces the swift compatability