Merge branch 'main' into switchNativeToolchainToLink
diff --git a/pkgs/native_assets_builder/test_data/add_asset_link/hook/build.dart b/pkgs/native_assets_builder/test_data/add_asset_link/hook/build.dart
deleted file mode 100644
index 74908a3..0000000
--- a/pkgs/native_assets_builder/test_data/add_asset_link/hook/build.dart
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'package:logging/logging.dart';
-import 'package:native_assets_cli/native_assets_cli.dart';
-import 'package:native_toolchain_c/native_toolchain_c.dart';
-
-void main(List<String> arguments) async {
- await build(arguments, (config, output) async {
- final logger = Logger('')
- ..level = Level.ALL
- ..onRecord.listen((record) {
- print('${record.level.name}: ${record.time}: ${record.message}');
- });
- await CBuilder.library(
- name: 'add',
- assetName: 'dylib_add_build',
- sources: [
- 'src/native_add.c',
- ],
- dartBuildFiles: ['hook/build.dart'],
- linkModePreference: LinkModePreference.dynamic,
- ).run(
- buildConfig: config,
- buildOutput: output,
- logger: logger,
- linkInPackage: 'add_asset_link',
- );
- });
-}
diff --git a/pkgs/native_assets_builder/test_data/add_asset_link/hook/link.dart b/pkgs/native_assets_builder/test_data/add_asset_link/hook/link.dart
index 5cea3b1..2d4d235 100644
--- a/pkgs/native_assets_builder/test_data/add_asset_link/hook/link.dart
+++ b/pkgs/native_assets_builder/test_data/add_asset_link/hook/link.dart
@@ -2,22 +2,30 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+import 'package:logging/logging.dart';
import 'package:native_assets_cli/native_assets_cli.dart';
+import 'package:native_toolchain_c/native_toolchain_c.dart';
void main(List<String> arguments) async {
await link(arguments, (config, output) async {
- final builtDylib = config.assets.first as NativeCodeAsset;
- output
- ..addAsset(
- NativeCodeAsset(
- package: 'add_asset_link',
- name: 'dylib_add_link',
- linkMode: builtDylib.linkMode,
- os: builtDylib.os,
- architecture: builtDylib.architecture,
- file: builtDylib.file,
- ),
- )
- ..addDependency(config.packageRoot.resolve('hook/link.dart'));
+ final logger = Logger('')
+ ..level = Level.ALL
+ ..onRecord.listen((record) {
+ print('${record.level.name}: ${record.time}: ${record.message}');
+ });
+ final (assets, dependencies) = await CBuilder.library(
+ name: 'add',
+ assetName: 'dylib_add_build',
+ sources: [
+ 'src/native_add.c',
+ ],
+ dartBuildFiles: ['hook/link.dart'],
+ linkModePreference: LinkModePreference.dynamic,
+ ).run(
+ hookConfig: config,
+ logger: logger,
+ );
+ output.addAssets(assets);
+ output.addDependencies(dependencies);
});
}
diff --git a/pkgs/native_assets_builder/test_data/drop_dylib_link/hook/build.dart b/pkgs/native_assets_builder/test_data/drop_dylib_link/hook/build.dart
index b7e430c..dfe9d84 100644
--- a/pkgs/native_assets_builder/test_data/drop_dylib_link/hook/build.dart
+++ b/pkgs/native_assets_builder/test_data/drop_dylib_link/hook/build.dart
@@ -15,7 +15,7 @@
..onRecord.listen((record) {
print('${record.level.name}: ${record.time}: ${record.message}');
});
- await CBuilder.library(
+ final (assets, dependencies) = await CBuilder.library(
name: 'add',
assetName: 'dylib_add',
sources: [
@@ -24,13 +24,11 @@
dartBuildFiles: ['hook/build.dart'],
linkModePreference: LinkModePreference.dynamic,
).run(
- buildConfig: config,
- buildOutput: output,
+ hookConfig: config,
logger: logger,
- linkInPackage: packageName,
);
- await CBuilder.library(
+ final (assets2, dependencies2) = await CBuilder.library(
name: 'multiply',
assetName: 'dylib_multiply',
sources: [
@@ -39,10 +37,11 @@
dartBuildFiles: ['hook/build.dart'],
linkModePreference: LinkModePreference.dynamic,
).run(
- buildConfig: config,
- buildOutput: output,
+ hookConfig: config,
logger: logger,
- linkInPackage: packageName,
);
+
+ output.addAssets([...assets, ...assets2], linkInPackage: packageName);
+ output.addDependencies([...dependencies, ...dependencies2]);
});
}
diff --git a/pkgs/native_assets_builder/test_data/native_add/hook/build.dart b/pkgs/native_assets_builder/test_data/native_add/hook/build.dart
index ff2b8b5..f9f9211 100644
--- a/pkgs/native_assets_builder/test_data/native_add/hook/build.dart
+++ b/pkgs/native_assets_builder/test_data/native_add/hook/build.dart
@@ -18,14 +18,15 @@
],
dartBuildFiles: ['hook/build.dart'],
);
- await cbuilder.run(
- buildConfig: config,
- buildOutput: output,
+ final (assets, dependencies) = await cbuilder.run(
+ hookConfig: config,
logger: Logger('')
..level = Level.ALL
..onRecord.listen((record) {
print('${record.level.name}: ${record.time}: ${record.message}');
}),
);
+ output.addAssets(assets);
+ output.addDependencies(dependencies);
});
}
diff --git a/pkgs/native_assets_builder/test_data/native_add_add_source/hook/build.dart b/pkgs/native_assets_builder/test_data/native_add_add_source/hook/build.dart
index f42cd9d..98c9eae 100644
--- a/pkgs/native_assets_builder/test_data/native_add_add_source/hook/build.dart
+++ b/pkgs/native_assets_builder/test_data/native_add_add_source/hook/build.dart
@@ -19,14 +19,15 @@
],
dartBuildFiles: ['hook/build.dart'],
);
- await cbuilder.run(
- buildConfig: config,
- buildOutput: output,
+ final (assets, dependencies) = await cbuilder.run(
+ hookConfig: config,
logger: Logger('')
..level = Level.ALL
..onRecord.listen((record) {
print('${record.level.name}: ${record.time}: ${record.message}');
}),
);
+ output.addAssets(assets);
+ output.addDependencies(dependencies);
});
}
diff --git a/pkgs/native_assets_builder/test_data/native_subtract/hook/build.dart b/pkgs/native_assets_builder/test_data/native_subtract/hook/build.dart
index 7e2a437..0ae255a 100644
--- a/pkgs/native_assets_builder/test_data/native_subtract/hook/build.dart
+++ b/pkgs/native_assets_builder/test_data/native_subtract/hook/build.dart
@@ -18,14 +18,15 @@
],
dartBuildFiles: ['hook/build.dart'],
);
- await cbuilder.run(
- buildConfig: config,
- buildOutput: output,
+ final (assets, dependencies) = await cbuilder.run(
+ hookConfig: config,
logger: Logger('')
..level = Level.ALL
..onRecord.listen((record) {
print('${record.level.name}: ${record.time}: ${record.message}');
}),
);
+ output.addAssets(assets);
+ output.addDependencies(dependencies);
});
}
diff --git a/pkgs/native_assets_cli/example/build/native_add_library/hook/build.dart b/pkgs/native_assets_cli/example/build/native_add_library/hook/build.dart
index d40ba5e..d9759cc 100644
--- a/pkgs/native_assets_cli/example/build/native_add_library/hook/build.dart
+++ b/pkgs/native_assets_cli/example/build/native_add_library/hook/build.dart
@@ -17,12 +17,13 @@
],
dartBuildFiles: ['hook/build.dart'],
);
- await cbuilder.run(
- buildConfig: config,
- buildOutput: output,
+ final (assets, dependencies) = await cbuilder.run(
+ hookConfig: config,
logger: Logger('')
..level = Level.ALL
..onRecord.listen((record) => print(record.message)),
);
+ output.addAssets(assets);
+ output.addDependencies(dependencies);
});
}
diff --git a/pkgs/native_assets_cli/example/build/use_dart_api/hook/build.dart b/pkgs/native_assets_cli/example/build/use_dart_api/hook/build.dart
index fb1a975..7cb919a 100644
--- a/pkgs/native_assets_cli/example/build/use_dart_api/hook/build.dart
+++ b/pkgs/native_assets_cli/example/build/use_dart_api/hook/build.dart
@@ -19,14 +19,15 @@
],
dartBuildFiles: ['hook/build.dart'],
);
- await cbuilder.run(
- buildConfig: config,
- buildOutput: output,
+ final (assets, dependencies) = await cbuilder.run(
+ hookConfig: config,
logger: Logger('')
..level = Level.ALL
..onRecord.listen((record) {
print('${record.level.name}: ${record.time}: ${record.message}');
}),
);
+ output.addAssets(assets);
+ output.addDependencies(dependencies);
});
}
diff --git a/pkgs/native_assets_cli/lib/src/api/build.dart b/pkgs/native_assets_cli/lib/src/api/build.dart
index 7b173d4..31b3e21 100644
--- a/pkgs/native_assets_cli/lib/src/api/build.dart
+++ b/pkgs/native_assets_cli/lib/src/api/build.dart
@@ -28,13 +28,16 @@
/// ],
/// dartBuildFiles: ['hook/build.dart'],
/// );
-/// await cbuilder.run(
-/// buildConfig: config,
-/// buildOutput: output,
+/// final (assets, dependencies) = await cbuilder.run(
+/// hookConfig: config,
/// logger: Logger('')
/// ..level = Level.ALL
-/// ..onRecord.listen((record) => print(record.message)),
+/// ..onRecord.listen((record) {
+/// print('${record.level.name}: ${record.time}: ${record.message}');
+/// }),
/// );
+/// output.addAssets(assets);
+/// output.addDependencies(dependencies);
/// });
/// }
/// ```
diff --git a/pkgs/native_toolchain_c/lib/src/cbuilder/cbuilder.dart b/pkgs/native_toolchain_c/lib/src/cbuilder/cbuilder.dart
index 5bffb92..e47ac0f 100644
--- a/pkgs/native_toolchain_c/lib/src/cbuilder/cbuilder.dart
+++ b/pkgs/native_toolchain_c/lib/src/cbuilder/cbuilder.dart
@@ -11,9 +11,8 @@
import 'run_cbuilder.dart';
abstract class Builder {
- Future<void> run({
- required BuildConfig buildConfig,
- required BuildOutput buildOutput,
+ Future<(List<Asset> assets, Set<Uri> dependencies)> run({
+ required HookConfig hookConfig,
required Logger? logger,
});
}
@@ -199,21 +198,18 @@
///
/// Completes with an error if the build fails.
@override
- Future<void> run({
- required BuildConfig buildConfig,
- required BuildOutput buildOutput,
+ Future<(List<Asset> assets, Set<Uri> dependencies)> run({
+ required HookConfig hookConfig,
required Logger? logger,
- String? linkInPackage,
}) async {
- final outDir = buildConfig.outputDirectory;
- final packageRoot = buildConfig.packageRoot;
+ final outDir = hookConfig.outputDirectory;
+ final packageRoot = hookConfig.packageRoot;
await Directory.fromUri(outDir).create(recursive: true);
final linkMode =
- _linkMode(linkModePreference ?? buildConfig.linkModePreference);
+ _linkMode(linkModePreference ?? hookConfig.linkModePreference);
final libUri =
- outDir.resolve(buildConfig.targetOS.libraryFileName(name, linkMode));
- final exeUri =
- outDir.resolve(buildConfig.targetOS.executableFileName(name));
+ outDir.resolve(hookConfig.targetOS.libraryFileName(name, linkMode));
+ final exeUri = outDir.resolve(hookConfig.targetOS.executableFileName(name));
final sources = [
for (final source in this.sources)
packageRoot.resolveUri(Uri.file(source)),
@@ -225,9 +221,9 @@
final dartBuildFiles = [
for (final source in this.dartBuildFiles) packageRoot.resolve(source),
];
- if (!buildConfig.dryRun) {
+ if (!hookConfig.dryRun) {
final task = RunCBuilder(
- buildConfig: buildConfig,
+ hookConfig: hookConfig,
logger: logger,
sources: sources,
includes: includes,
@@ -244,8 +240,8 @@
flags: flags,
defines: {
...defines,
- if (buildModeDefine) buildConfig.buildMode.name.toUpperCase(): null,
- if (ndebugDefine && buildConfig.buildMode != BuildMode.debug)
+ if (buildModeDefine) hookConfig.buildMode.name.toUpperCase(): null,
+ if (ndebugDefine && hookConfig.buildMode != BuildMode.debug)
'NDEBUG': null,
},
pic: pic,
@@ -256,23 +252,24 @@
await task.run();
}
+ List<NativeCodeAsset> assets;
if (assetName != null) {
- buildOutput.addAssets(
- [
- NativeCodeAsset(
- package: buildConfig.packageName,
- name: assetName!,
- file: libUri,
- linkMode: linkMode,
- os: buildConfig.targetOS,
- architecture:
- buildConfig.dryRun ? null : buildConfig.targetArchitecture,
- )
- ],
- linkInPackage: linkInPackage,
- );
+ assets = [
+ NativeCodeAsset(
+ package: hookConfig.packageName,
+ name: assetName!,
+ file: libUri,
+ linkMode: linkMode,
+ os: hookConfig.targetOS,
+ architecture:
+ hookConfig.dryRun ? null : hookConfig.targetArchitecture,
+ )
+ ];
+ } else {
+ assets = [];
}
- if (!buildConfig.dryRun) {
+ Set<Uri> dependencies;
+ if (!hookConfig.dryRun) {
final includeFiles = await Stream.fromIterable(includes)
.asyncExpand(
(include) => Directory(include.toFilePath())
@@ -282,13 +279,16 @@
)
.toList();
- buildOutput.addDependencies({
+ dependencies = {
// Note: We use a Set here to deduplicate the dependencies.
...sources,
...includeFiles,
...dartBuildFiles,
- });
+ };
+ } else {
+ dependencies = {};
}
+ return (assets, dependencies);
}
}
diff --git a/pkgs/native_toolchain_c/lib/src/cbuilder/compiler_resolver.dart b/pkgs/native_toolchain_c/lib/src/cbuilder/compiler_resolver.dart
index cdc8ee0..3bca1e5 100644
--- a/pkgs/native_toolchain_c/lib/src/cbuilder/compiler_resolver.dart
+++ b/pkgs/native_toolchain_c/lib/src/cbuilder/compiler_resolver.dart
@@ -20,13 +20,13 @@
// TODO(dacoharkes): This should support alternatives.
// For example use Clang or MSVC on Windows.
class CompilerResolver {
- final BuildConfig buildConfig;
+ final HookConfig hookConfig;
final Logger? logger;
final OS hostOS;
final Architecture hostArchitecture;
CompilerResolver({
- required this.buildConfig,
+ required this.hookConfig,
required this.logger,
OS? hostOS, // Only visible for testing.
Architecture? hostArchitecture, // Only visible for testing.
@@ -47,8 +47,8 @@
return result;
}
- final targetOS = buildConfig.targetOS;
- final targetArchitecture = buildConfig.targetArchitecture;
+ final targetOS = hookConfig.targetOS;
+ final targetArchitecture = hookConfig.targetArchitecture;
final errorMessage =
"No tools configured on host '${hostOS}_$hostArchitecture' with target "
"'${targetOS}_$targetArchitecture'.";
@@ -58,8 +58,8 @@
/// Select the right compiler for cross compiling to the specified target.
Tool? _selectCompiler() {
- final targetOS = buildConfig.targetOS;
- final targetArch = buildConfig.targetArchitecture;
+ final targetOS = hookConfig.targetOS;
+ final targetArch = hookConfig.targetArchitecture;
// TODO(dacoharkes): Support falling back on other tools.
if (targetArch == hostArchitecture &&
@@ -97,7 +97,7 @@
}
Future<ToolInstance?> _tryLoadCompilerFromConfig() async {
- final configCcUri = buildConfig.cCompiler.compiler;
+ final configCcUri = hookConfig.cCompiler.compiler;
if (configCcUri != null) {
assert(await File.fromUri(configCcUri).exists());
logger?.finer('Using compiler ${configCcUri.toFilePath()} '
@@ -131,8 +131,8 @@
return result;
}
- final targetOS = buildConfig.targetOS;
- final targetArchitecture = buildConfig.targetArchitecture;
+ final targetOS = hookConfig.targetOS;
+ final targetArchitecture = hookConfig.targetArchitecture;
final errorMessage =
"No tools configured on host '${hostOS}_$hostArchitecture' with target "
"'${targetOS}_$targetArchitecture'.";
@@ -142,8 +142,8 @@
/// Select the right archiver for cross compiling to the specified target.
Tool? _selectArchiver() {
- final targetOS = buildConfig.targetOS;
- final targetArchitecture = buildConfig.targetArchitecture;
+ final targetOS = hookConfig.targetOS;
+ final targetArchitecture = hookConfig.targetArchitecture;
// TODO(dacoharkes): Support falling back on other tools.
if (targetArchitecture == hostArchitecture &&
@@ -182,7 +182,7 @@
}
Future<ToolInstance?> _tryLoadArchiverFromConfig() async {
- final configArUri = buildConfig.cCompiler.archiver;
+ final configArUri = hookConfig.cCompiler.archiver;
if (configArUri != null) {
assert(await File.fromUri(configArUri).exists());
logger?.finer('Using archiver ${configArUri.toFilePath()} '
@@ -195,7 +195,7 @@
}
Future<Uri?> toolchainEnvironmentScript(ToolInstance compiler) async {
- final fromConfig = buildConfig.cCompiler.envScript;
+ final fromConfig = hookConfig.cCompiler.envScript;
if (fromConfig != null) {
logger?.fine('Using envScript from config: $fromConfig');
return fromConfig;
@@ -209,7 +209,7 @@
}
List<String>? toolchainEnvironmentScriptArguments() {
- final fromConfig = buildConfig.cCompiler.envScriptArgs;
+ final fromConfig = hookConfig.cCompiler.envScriptArgs;
if (fromConfig != null) {
logger?.fine('Using envScriptArgs from config: $fromConfig');
return fromConfig;
diff --git a/pkgs/native_toolchain_c/lib/src/cbuilder/run_cbuilder.dart b/pkgs/native_toolchain_c/lib/src/cbuilder/run_cbuilder.dart
index 3ff4560..845fc4d 100644
--- a/pkgs/native_toolchain_c/lib/src/cbuilder/run_cbuilder.dart
+++ b/pkgs/native_toolchain_c/lib/src/cbuilder/run_cbuilder.dart
@@ -19,7 +19,7 @@
import 'compiler_resolver.dart';
class RunCBuilder {
- final BuildConfig buildConfig;
+ final HookConfig hookConfig;
final Logger? logger;
final List<Uri> sources;
final List<Uri> includes;
@@ -43,7 +43,7 @@
final String? cppLinkStdLib;
RunCBuilder({
- required this.buildConfig,
+ required this.hookConfig,
this.logger,
this.sources = const [],
this.includes = const [],
@@ -57,12 +57,12 @@
this.std,
this.language = Language.c,
this.cppLinkStdLib,
- }) : outDir = buildConfig.outputDirectory,
+ }) : outDir = hookConfig.outputDirectory,
assert([executable, dynamicLibrary, staticLibrary]
.whereType<Uri>()
.length ==
1) {
- if (buildConfig.targetOS == OS.windows && cppLinkStdLib != null) {
+ if (hookConfig.targetOS == OS.windows && cppLinkStdLib != null) {
throw ArgumentError.value(
cppLinkStdLib,
'cppLinkStdLib',
@@ -72,7 +72,7 @@
}
late final _resolver =
- CompilerResolver(buildConfig: buildConfig, logger: logger);
+ CompilerResolver(hookConfig: hookConfig, logger: logger);
Future<ToolInstance> compiler() async => await _resolver.resolveCompiler();
@@ -122,8 +122,8 @@
}
final IOSSdk? targetIosSdk;
- if (buildConfig.targetOS == OS.iOS) {
- targetIosSdk = buildConfig.targetIOSSdk;
+ if (hookConfig.targetOS == OS.iOS) {
+ targetIosSdk = hookConfig.targetIOSSdk;
} else {
targetIosSdk = null;
}
@@ -132,15 +132,15 @@
// invoking clang. Mimic that behavior here.
// See https://github.com/dart-lang/native/issues/171.
final int? targetAndroidNdkApi;
- if (buildConfig.targetOS == OS.android) {
+ if (hookConfig.targetOS == OS.android) {
final minimumApi =
- buildConfig.targetArchitecture == Architecture.riscv64 ? 35 : 21;
- targetAndroidNdkApi = max(buildConfig.targetAndroidNdkApi!, minimumApi);
+ hookConfig.targetArchitecture == Architecture.riscv64 ? 35 : 21;
+ targetAndroidNdkApi = max(hookConfig.targetAndroidNdkApi!, minimumApi);
} else {
targetAndroidNdkApi = null;
}
- final architecture = buildConfig.targetArchitecture;
+ final architecture = hookConfig.targetArchitecture;
final sourceFiles = sources.map((e) => e.toFilePath()).toList();
final objectFiles = <Uri>[];
if (staticLibrary != null) {
@@ -190,21 +190,21 @@
await runProcess(
executable: compiler.uri,
arguments: [
- if (buildConfig.targetOS == OS.android) ...[
+ if (hookConfig.targetOS == OS.android) ...[
'--target='
'${androidNdkClangTargetFlags[architecture]!}'
'${targetAndroidNdkApi!}',
'--sysroot=${androidSysroot(compiler).toFilePath()}',
],
- if (buildConfig.targetOS == OS.macOS)
+ if (hookConfig.targetOS == OS.macOS)
'--target=${appleClangMacosTargetFlags[architecture]!}',
- if (buildConfig.targetOS == OS.iOS)
+ if (hookConfig.targetOS == OS.iOS)
'--target=${appleClangIosTargetFlags[architecture]![targetIosSdk]!}',
- if (buildConfig.targetOS == OS.iOS) ...[
+ if (hookConfig.targetOS == OS.iOS) ...[
'-isysroot',
(await iosSdk(targetIosSdk!, logger: logger)).toFilePath(),
],
- if (buildConfig.targetOS == OS.macOS) ...[
+ if (hookConfig.targetOS == OS.macOS) ...[
'-isysroot',
(await macosSdk(logger: logger)).toFilePath(),
],
@@ -239,7 +239,7 @@
'-x',
'c++',
'-l',
- cppLinkStdLib ?? defaultCppLinkStdLib[buildConfig.targetOS]!
+ cppLinkStdLib ?? defaultCppLinkStdLib[hookConfig.targetOS]!
],
...flags,
for (final MapEntry(key: name, :value) in defines.entries)
diff --git a/pkgs/native_toolchain_c/test/cbuilder/cbuilder_build_failure_test.dart b/pkgs/native_toolchain_c/test/cbuilder/cbuilder_build_failure_test.dart
index ae80750..166099a 100644
--- a/pkgs/native_toolchain_c/test/cbuilder/cbuilder_build_failure_test.dart
+++ b/pkgs/native_toolchain_c/test/cbuilder/cbuilder_build_failure_test.dart
@@ -43,8 +43,6 @@
envScriptArgs: envScriptArgs,
),
);
- final buildOutput = BuildOutput();
-
final cbuilder = CBuilder.library(
sources: [addCUri.toFilePath()],
name: name,
@@ -53,8 +51,7 @@
);
expect(
() => cbuilder.run(
- buildConfig: buildConfig,
- buildOutput: buildOutput,
+ hookConfig: buildConfig,
logger: logger,
),
throwsException,
diff --git a/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_android_test.dart b/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_android_test.dart
index 250a72d..88c2739 100644
--- a/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_android_test.dart
+++ b/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_android_test.dart
@@ -136,7 +136,6 @@
? LinkModePreference.dynamic
: LinkModePreference.static,
);
- final buildOutput = BuildOutput();
final cbuilder = CBuilder.library(
name: name,
@@ -145,8 +144,7 @@
dartBuildFiles: ['hook/build.dart'],
);
await cbuilder.run(
- buildConfig: buildConfig,
- buildOutput: buildOutput,
+ hookConfig: buildConfig,
logger: logger,
);
diff --git a/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_ios_test.dart b/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_ios_test.dart
index 574b298..9f12c5e 100644
--- a/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_ios_test.dart
+++ b/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_ios_test.dart
@@ -68,7 +68,6 @@
: LinkModePreference.static,
targetIOSSdk: targetIOSSdk,
);
- final buildOutput = BuildOutput();
final cbuilder = CBuilder.library(
name: name,
@@ -78,8 +77,7 @@
dartBuildFiles: ['hook/build.dart'],
);
await cbuilder.run(
- buildConfig: buildConfig,
- buildOutput: buildOutput,
+ hookConfig: buildConfig,
logger: logger,
);
diff --git a/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_linux_host_test.dart b/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_linux_host_test.dart
index 0bad5ff..0b6f1df 100644
--- a/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_linux_host_test.dart
+++ b/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_linux_host_test.dart
@@ -55,7 +55,6 @@
? LinkModePreference.dynamic
: LinkModePreference.static,
);
- final buildOutput = BuildOutput();
final cbuilder = CBuilder.library(
name: name,
@@ -64,8 +63,7 @@
dartBuildFiles: ['hook/build.dart'],
);
await cbuilder.run(
- buildConfig: buildConfig,
- buildOutput: buildOutput,
+ hookConfig: buildConfig,
logger: logger,
);
diff --git a/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_macos_host_test.dart b/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_macos_host_test.dart
index 3f7a74f..7db010a 100644
--- a/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_macos_host_test.dart
+++ b/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_macos_host_test.dart
@@ -53,7 +53,6 @@
? LinkModePreference.dynamic
: LinkModePreference.static,
);
- final buildOutput = BuildOutput();
final cbuilder = CBuilder.library(
name: name,
@@ -62,8 +61,7 @@
dartBuildFiles: ['hook/build.dart'],
);
await cbuilder.run(
- buildConfig: buildConfig,
- buildOutput: buildOutput,
+ hookConfig: buildConfig,
logger: logger,
);
diff --git a/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_windows_host_test.dart b/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_windows_host_test.dart
index e189f71..06c45a7 100644
--- a/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_windows_host_test.dart
+++ b/pkgs/native_toolchain_c/test/cbuilder/cbuilder_cross_windows_host_test.dart
@@ -65,7 +65,6 @@
? LinkModePreference.dynamic
: LinkModePreference.static,
);
- final buildOutput = BuildOutput();
final cbuilder = CBuilder.library(
name: name,
@@ -74,8 +73,7 @@
dartBuildFiles: ['hook/build.dart'],
);
await cbuilder.run(
- buildConfig: buildConfig,
- buildOutput: buildOutput,
+ hookConfig: buildConfig,
logger: logger,
);
diff --git a/pkgs/native_toolchain_c/test/cbuilder/cbuilder_test.dart b/pkgs/native_toolchain_c/test/cbuilder/cbuilder_test.dart
index b40e73a..f309431 100644
--- a/pkgs/native_toolchain_c/test/cbuilder/cbuilder_test.dart
+++ b/pkgs/native_toolchain_c/test/cbuilder/cbuilder_test.dart
@@ -58,7 +58,6 @@
envScriptArgs: envScriptArgs,
),
);
- final buildOutput = BuildOutput();
final cbuilder = CBuilder.executable(
name: name,
sources: [helloWorldCUri.toFilePath()],
@@ -66,8 +65,7 @@
dartBuildFiles: ['hook/build.dart'],
);
await cbuilder.run(
- buildConfig: buildConfig,
- buildOutput: buildOutput,
+ hookConfig: buildConfig,
logger: logger,
);
@@ -137,7 +135,6 @@
envScriptArgs: envScriptArgs,
),
);
- final buildOutput = BuildOutput();
final cbuilder = CBuilder.library(
sources: [addCUri.toFilePath()],
@@ -147,8 +144,7 @@
dartBuildFiles: ['hook/build.dart'],
);
await cbuilder.run(
- buildConfig: buildConfig,
- buildOutput: buildOutput,
+ hookConfig: buildConfig,
logger: logger,
);
@@ -231,7 +227,6 @@
envScriptArgs: envScriptArgs,
),
);
- final buildOutput = BuildOutput();
final flag = switch (buildConfig.targetOS) {
OS.windows => '/DFOO=USER_FLAG',
@@ -245,8 +240,7 @@
dartBuildFiles: ['hook/build.dart'],
);
await cbuilder.run(
- buildConfig: buildConfig,
- buildOutput: buildOutput,
+ hookConfig: buildConfig,
logger: logger,
);
@@ -289,7 +283,6 @@
envScriptArgs: envScriptArgs,
),
);
- final buildOutput = BuildOutput();
final cbuilder = CBuilder.library(
name: name,
@@ -298,13 +291,12 @@
sources: [includesCUri.toFilePath()],
dartBuildFiles: ['hook/build.dart'],
);
- await cbuilder.run(
- buildConfig: buildConfig,
- buildOutput: buildOutput,
+ final (_, dependencies) = await cbuilder.run(
+ hookConfig: buildConfig,
logger: logger,
);
- expect(buildOutput.dependencies, contains(includesHUri));
+ expect(dependencies, contains(includesHUri));
final dylibUri = tempUri.resolve(OS.current.dylibFileName(name));
final dylib = openDynamicLibraryForTest(dylibUri.toFilePath());
@@ -335,7 +327,6 @@
envScriptArgs: envScriptArgs,
),
);
- final buildOutput = BuildOutput();
final stdFlag = switch (buildConfig.targetOS) {
OS.windows => '/std:$std',
@@ -350,8 +341,7 @@
dartBuildFiles: ['hook/build.dart'],
);
await cbuilder.run(
- buildConfig: buildConfig,
- buildOutput: buildOutput,
+ hookConfig: buildConfig,
logger: logger,
);
@@ -395,7 +385,6 @@
envScriptArgs: envScriptArgs,
),
);
- final buildOutput = BuildOutput();
final defaultStdLibLinkFlag = switch (buildConfig.targetOS) {
OS.windows => null,
@@ -411,8 +400,7 @@
dartBuildFiles: ['hook/build.dart'],
);
await cbuilder.run(
- buildConfig: buildConfig,
- buildOutput: buildOutput,
+ hookConfig: buildConfig,
logger: logger,
);
@@ -460,7 +448,6 @@
envScriptArgs: envScriptArgs,
),
);
- final buildOutput = BuildOutput();
final cbuilder = CBuilder.executable(
name: name,
sources: [helloWorldCppUri.toFilePath()],
@@ -472,16 +459,14 @@
if (buildConfig.targetOS == OS.windows) {
await expectLater(
() => cbuilder.run(
- buildConfig: buildConfig,
- buildOutput: buildOutput,
+ hookConfig: buildConfig,
logger: logger,
),
throwsArgumentError,
);
} else {
await cbuilder.run(
- buildConfig: buildConfig,
- buildOutput: buildOutput,
+ hookConfig: buildConfig,
logger: logger,
);
@@ -532,7 +517,6 @@
envScriptArgs: envScriptArgs,
),
);
- final buildOutput = BuildOutput();
final cbuilder = CBuilder.executable(
name: name,
sources: [definesCUri.toFilePath()],
@@ -545,8 +529,7 @@
dartBuildFiles: ['hook/build.dart'],
);
await cbuilder.run(
- buildConfig: buildConfig,
- buildOutput: buildOutput,
+ hookConfig: buildConfig,
logger: logger,
);
diff --git a/pkgs/native_toolchain_c/test/cbuilder/compiler_resolver_test.dart b/pkgs/native_toolchain_c/test/cbuilder/compiler_resolver_test.dart
index 1a2d408..d80e2a6 100644
--- a/pkgs/native_toolchain_c/test/cbuilder/compiler_resolver_test.dart
+++ b/pkgs/native_toolchain_c/test/cbuilder/compiler_resolver_test.dart
@@ -55,7 +55,7 @@
envScript: envScript,
),
);
- final resolver = CompilerResolver(buildConfig: buildConfig, logger: logger);
+ final resolver = CompilerResolver(hookConfig: buildConfig, logger: logger);
final compiler = await resolver.resolveCompiler();
final archiver = await resolver.resolveArchiver();
expect(compiler.uri, buildConfig.cCompiler.compiler);
@@ -74,7 +74,7 @@
linkModePreference: LinkModePreference.dynamic,
);
final resolver = CompilerResolver(
- buildConfig: buildConfig,
+ hookConfig: buildConfig,
logger: logger,
hostOS: OS.android, // This is never a host.
hostArchitecture: Architecture.arm64, // This is never a host.