diff --git a/pkgs/code_assets/example/mini_audio/hook/build.dart b/pkgs/code_assets/example/mini_audio/hook/build.dart index 764f65d411..f3d3cb55ce 100644 --- a/pkgs/code_assets/example/mini_audio/hook/build.dart +++ b/pkgs/code_assets/example/mini_audio/hook/build.dart @@ -4,7 +4,6 @@ import 'package:code_assets/code_assets.dart'; import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List args) async { @@ -20,13 +19,7 @@ void main(List args) async { 'MA_API': '__declspec(dllexport)', }, ); - await builder.run( - input: input, - output: output, - logger: Logger('') - ..level = Level.ALL - ..onRecord.listen((record) => print(record.message)), - ); + await builder.run(input: input, output: output); } }); } diff --git a/pkgs/code_assets/example/sqlite/hook/build.dart b/pkgs/code_assets/example/sqlite/hook/build.dart index cba107c0e6..ce719ac653 100644 --- a/pkgs/code_assets/example/sqlite/hook/build.dart +++ b/pkgs/code_assets/example/sqlite/hook/build.dart @@ -4,7 +4,6 @@ import 'package:code_assets/code_assets.dart'; import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List args) async { @@ -20,13 +19,7 @@ void main(List args) async { 'SQLITE_API': '__declspec(dllexport)', }, ); - await builder.run( - input: input, - output: output, - logger: Logger('') - ..level = Level.ALL - ..onRecord.listen((record) => print(record.message)), - ); + await builder.run(input: input, output: output); } }); } diff --git a/pkgs/code_assets/example/stb_image/hook/build.dart b/pkgs/code_assets/example/stb_image/hook/build.dart index 03a17a7912..715e49d81d 100644 --- a/pkgs/code_assets/example/stb_image/hook/build.dart +++ b/pkgs/code_assets/example/stb_image/hook/build.dart @@ -4,7 +4,6 @@ import 'package:code_assets/code_assets.dart'; import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List args) async { @@ -20,13 +19,7 @@ void main(List args) async { 'STBIDEF': '__declspec(dllexport)', }, ); - await builder.run( - input: input, - output: output, - logger: Logger('') - ..level = Level.ALL - ..onRecord.listen((record) => print(record.message)), - ); + await builder.run(input: input, output: output); } }); } diff --git a/pkgs/hooks/example/api/build_snippet_1.dart b/pkgs/hooks/example/api/build_snippet_1.dart index 5bab61cc0c..f6fea17fec 100644 --- a/pkgs/hooks/example/api/build_snippet_1.dart +++ b/pkgs/hooks/example/api/build_snippet_1.dart @@ -8,7 +8,6 @@ // snippet-start import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List args) async { @@ -19,13 +18,7 @@ void main(List args) async { assetName: '$packageName.dart', sources: ['src/$packageName.c'], ); - await cbuilder.run( - input: input, - output: output, - logger: Logger('') - ..level = Level.ALL - ..onRecord.listen((record) => print(record.message)), - ); + await cbuilder.run(input: input, output: output); }); } diff --git a/pkgs/hooks/example/api/builder_snippet.dart b/pkgs/hooks/example/api/builder_snippet.dart index 5bab61cc0c..f6fea17fec 100644 --- a/pkgs/hooks/example/api/builder_snippet.dart +++ b/pkgs/hooks/example/api/builder_snippet.dart @@ -8,7 +8,6 @@ // snippet-start import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List args) async { @@ -19,13 +18,7 @@ void main(List args) async { assetName: '$packageName.dart', sources: ['src/$packageName.c'], ); - await cbuilder.run( - input: input, - output: output, - logger: Logger('') - ..level = Level.ALL - ..onRecord.listen((record) => print(record.message)), - ); + await cbuilder.run(input: input, output: output); }); } diff --git a/pkgs/hooks/example/build/download_asset/lib/src/hook_helpers/c_build.dart b/pkgs/hooks/example/build/download_asset/lib/src/hook_helpers/c_build.dart index b36717c826..eca030361a 100644 --- a/pkgs/hooks/example/build/download_asset/lib/src/hook_helpers/c_build.dart +++ b/pkgs/hooks/example/build/download_asset/lib/src/hook_helpers/c_build.dart @@ -4,7 +4,6 @@ import 'package:code_assets/code_assets.dart'; import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; /// Builds the C code for the native_add example. @@ -21,13 +20,7 @@ Future runBuild(BuildInput input, BuildOutputBuilder output) async { assetName: 'native_add.dart', sources: ['src/native_add.c'], ); - await cbuilder.run( - input: input, - output: output, - logger: Logger('') - ..level = Level.ALL - ..onRecord.listen((record) => print(record.message)), - ); + await cbuilder.run(input: input, output: output); } /// Creates a target name based on the OS, architecture, and iOS SDK. diff --git a/pkgs/hooks/example/build/native_add_library/hook/build.dart b/pkgs/hooks/example/build/native_add_library/hook/build.dart index c2add42bb3..a4e3bf8180 100644 --- a/pkgs/hooks/example/build/native_add_library/hook/build.dart +++ b/pkgs/hooks/example/build/native_add_library/hook/build.dart @@ -3,7 +3,6 @@ // BSD-style license that can be found in the LICENSE file. import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List args) async { @@ -14,12 +13,6 @@ void main(List args) async { assetName: '$packageName.dart', sources: ['src/$packageName.c'], ); - await cbuilder.run( - input: input, - output: output, - logger: Logger('') - ..level = Level.ALL - ..onRecord.listen((record) => print(record.message)), - ); + await cbuilder.run(input: input, output: output); }); } diff --git a/pkgs/hooks/example/build/native_dynamic_linking/hook/build.dart b/pkgs/hooks/example/build/native_dynamic_linking/hook/build.dart index 54f229dc0d..696dcfc607 100644 --- a/pkgs/hooks/example/build/native_dynamic_linking/hook/build.dart +++ b/pkgs/hooks/example/build/native_dynamic_linking/hook/build.dart @@ -3,15 +3,10 @@ // BSD-style license that can be found in the LICENSE file. import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List args) async { await build(args, (input, output) async { - final logger = Logger('') - ..level = Level.ALL - ..onRecord.listen((record) => print(record.message)); - final builders = [ CBuilder.library( name: 'debug', @@ -35,7 +30,7 @@ void main(List args) async { // Note: These builders need to be run sequentially because they depend on // each others output. for (final builder in builders) { - await builder.run(input: input, output: output, logger: logger); + await builder.run(input: input, output: output); } }); } diff --git a/pkgs/hooks/example/build/use_dart_api/hook/build.dart b/pkgs/hooks/example/build/use_dart_api/hook/build.dart index ac90012294..3263aa2c2b 100644 --- a/pkgs/hooks/example/build/use_dart_api/hook/build.dart +++ b/pkgs/hooks/example/build/use_dart_api/hook/build.dart @@ -3,7 +3,6 @@ // BSD-style license that can be found in the LICENSE file. import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List arguments) async { @@ -14,14 +13,6 @@ void main(List arguments) async { assetName: 'src/${packageName}_bindings_generated.dart', sources: ['src/$packageName.c', 'src/dart_api_dl.c'], ); - await cbuilder.run( - input: input, - output: output, - logger: Logger('') - ..level = Level.ALL - ..onRecord.listen((record) { - print('${record.level.name}: ${record.time}: ${record.message}'); - }), - ); + await cbuilder.run(input: input, output: output); }); } diff --git a/pkgs/hooks/lib/src/api/build_and_link.dart b/pkgs/hooks/lib/src/api/build_and_link.dart index 7982a12737..3f83e511f2 100644 --- a/pkgs/hooks/lib/src/api/build_and_link.dart +++ b/pkgs/hooks/lib/src/api/build_and_link.dart @@ -23,7 +23,6 @@ import '../validation.dart'; /// /// ```dart /// import 'package:hooks/hooks.dart'; -/// import 'package:logging/logging.dart'; /// import 'package:native_toolchain_c/native_toolchain_c.dart'; /// /// void main(List args) async { @@ -34,13 +33,7 @@ import '../validation.dart'; /// assetName: '$packageName.dart', /// sources: ['src/$packageName.c'], /// ); -/// await cbuilder.run( -/// input: input, -/// output: output, -/// logger: Logger('') -/// ..level = Level.ALL -/// ..onRecord.listen((record) => print(record.message)), -/// ); +/// await cbuilder.run(input: input, output: output); /// }); /// } /// ``` diff --git a/pkgs/hooks/lib/src/api/builder.dart b/pkgs/hooks/lib/src/api/builder.dart index 55bc82b26f..51b9f650ef 100644 --- a/pkgs/hooks/lib/src/api/builder.dart +++ b/pkgs/hooks/lib/src/api/builder.dart @@ -26,7 +26,6 @@ import 'linker.dart'; /// /// ```dart /// import 'package:hooks/hooks.dart'; -/// import 'package:logging/logging.dart'; /// import 'package:native_toolchain_c/native_toolchain_c.dart'; /// /// void main(List args) async { @@ -37,13 +36,7 @@ import 'linker.dart'; /// assetName: '$packageName.dart', /// sources: ['src/$packageName.c'], /// ); -/// await cbuilder.run( -/// input: input, -/// output: output, -/// logger: Logger('') -/// ..level = Level.ALL -/// ..onRecord.listen((record) => print(record.message)), -/// ); +/// await cbuilder.run(input: input, output: output); /// }); /// } /// ``` diff --git a/pkgs/hooks_runner/test_data/add_asset_link/hook/build.dart b/pkgs/hooks_runner/test_data/add_asset_link/hook/build.dart index de502cce86..94d7efdc9a 100644 --- a/pkgs/hooks_runner/test_data/add_asset_link/hook/build.dart +++ b/pkgs/hooks_runner/test_data/add_asset_link/hook/build.dart @@ -4,7 +4,6 @@ import 'package:code_assets/code_assets.dart'; import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List arguments) async { @@ -12,11 +11,6 @@ void main(List arguments) async { if (!input.config.linkingEnabled) { throw Exception('Link hook must be run!'); } - 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', @@ -25,7 +19,6 @@ void main(List arguments) async { ).run( input: input, output: output, - logger: logger, routing: const [ToLinkHook('add_asset_link')], ); }); diff --git a/pkgs/hooks_runner/test_data/drop_dylib_link/hook/build.dart b/pkgs/hooks_runner/test_data/drop_dylib_link/hook/build.dart index f27ad72448..e635d65a0e 100644 --- a/pkgs/hooks_runner/test_data/drop_dylib_link/hook/build.dart +++ b/pkgs/hooks_runner/test_data/drop_dylib_link/hook/build.dart @@ -4,16 +4,10 @@ import 'package:code_assets/code_assets.dart'; import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List arguments) async { await build(arguments, (input, output) async { - final logger = Logger('') - ..level = Level.ALL - ..onRecord.listen((record) { - print('${record.level.name}: ${record.time}: ${record.message}'); - }); final routing = input.config.linkingEnabled ? [ToLinkHook(input.packageName)] : [const ToAppBundle()]; @@ -22,13 +16,13 @@ void main(List arguments) async { assetName: 'dylib_add', sources: ['src/native_add.c'], linkModePreference: LinkModePreference.dynamic, - ).run(input: input, output: output, logger: logger, routing: routing); + ).run(input: input, output: output, routing: routing); await CBuilder.library( name: 'multiply', assetName: 'dylib_multiply', sources: ['src/native_multiply.c'], linkModePreference: LinkModePreference.dynamic, - ).run(input: input, output: output, logger: logger, routing: routing); + ).run(input: input, output: output, routing: routing); }); } diff --git a/pkgs/hooks_runner/test_data/native_add/hook/build.dart b/pkgs/hooks_runner/test_data/native_add/hook/build.dart index 0f44a71923..9f52f9af9b 100644 --- a/pkgs/hooks_runner/test_data/native_add/hook/build.dart +++ b/pkgs/hooks_runner/test_data/native_add/hook/build.dart @@ -5,7 +5,6 @@ import 'dart:io'; import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List arguments) async { @@ -16,15 +15,7 @@ void main(List arguments) async { assetName: 'src/${packageName}_bindings_generated.dart', sources: ['src/$packageName.c'], ); - await cbuilder.run( - input: input, - output: output, - logger: Logger('') - ..level = Level.ALL - ..onRecord.listen((record) { - print('${record.level.name}: ${record.time}: ${record.message}'); - }), - ); + await cbuilder.run(input: input, output: output); stdout.writeln('Some stdout.'); stderr.writeln('Some stderr.'); }); diff --git a/pkgs/hooks_runner/test_data/native_add_add_source/hook/build.dart b/pkgs/hooks_runner/test_data/native_add_add_source/hook/build.dart index 3e9de14b8a..293df8ff03 100644 --- a/pkgs/hooks_runner/test_data/native_add_add_source/hook/build.dart +++ b/pkgs/hooks_runner/test_data/native_add_add_source/hook/build.dart @@ -3,7 +3,6 @@ // BSD-style license that can be found in the LICENSE file. import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List arguments) async { @@ -14,14 +13,6 @@ void main(List arguments) async { assetName: '${packageName}_bindings_generated.dart', sources: ['src/$packageName.c', 'src/native_multiply.c'], ); - await cbuilder.run( - input: input, - output: output, - logger: Logger('') - ..level = Level.ALL - ..onRecord.listen((record) { - print('${record.level.name}: ${record.time}: ${record.message}'); - }), - ); + await cbuilder.run(input: input, output: output); }); } diff --git a/pkgs/hooks_runner/test_data/native_add_duplicate/hook/build.dart b/pkgs/hooks_runner/test_data/native_add_duplicate/hook/build.dart index eb8d36c22a..f6ec1dc348 100644 --- a/pkgs/hooks_runner/test_data/native_add_duplicate/hook/build.dart +++ b/pkgs/hooks_runner/test_data/native_add_duplicate/hook/build.dart @@ -4,7 +4,6 @@ import 'package:code_assets/code_assets.dart'; import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List arguments) async { @@ -18,15 +17,7 @@ void main(List arguments) async { ); // Temp output to prevent outputting the dylib for bundling. final outputBuilder = BuildOutputBuilder(); - await cbuilder.run( - input: input, - output: outputBuilder, - logger: Logger('') - ..level = Level.ALL - ..onRecord.listen((record) { - print('${record.level.name}: ${record.time}: ${record.message}'); - }), - ); + await cbuilder.run(input: input, output: outputBuilder); final tempBuildOutput = outputBuilder.build(); output.assets.code.add( tempBuildOutput.assets.code.single, diff --git a/pkgs/hooks_runner/test_data/native_dynamic_linking/hook/build.dart b/pkgs/hooks_runner/test_data/native_dynamic_linking/hook/build.dart index ea7acf2fd2..afde33fa3e 100644 --- a/pkgs/hooks_runner/test_data/native_dynamic_linking/hook/build.dart +++ b/pkgs/hooks_runner/test_data/native_dynamic_linking/hook/build.dart @@ -3,15 +3,10 @@ // BSD-style license that can be found in the LICENSE file. import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List args) async { await build(args, (input, output) async { - final logger = Logger('') - ..level = Level.ALL - ..onRecord.listen((record) => print(record.message)); - final builders = [ CBuilder.library( name: 'debug', @@ -38,7 +33,7 @@ void main(List args) async { // Note: These builders need to be run sequentially because they depend on // each others output. for (final builder in builders) { - await builder.run(input: input, output: output, logger: logger); + await builder.run(input: input, output: output); } }); } diff --git a/pkgs/hooks_runner/test_data/native_subtract/hook/build.dart b/pkgs/hooks_runner/test_data/native_subtract/hook/build.dart index e68de680e2..0406ba4190 100644 --- a/pkgs/hooks_runner/test_data/native_subtract/hook/build.dart +++ b/pkgs/hooks_runner/test_data/native_subtract/hook/build.dart @@ -3,7 +3,6 @@ // BSD-style license that can be found in the LICENSE file. import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List arguments) async { @@ -14,14 +13,6 @@ void main(List arguments) async { assetName: 'src/${packageName}_bindings_generated.dart', sources: ['src/$packageName.c'], ); - await cbuilder.run( - input: input, - output: output, - logger: Logger('') - ..level = Level.ALL - ..onRecord.listen((record) { - print('${record.level.name}: ${record.time}: ${record.message}'); - }), - ); + await cbuilder.run(input: input, output: output); }); } diff --git a/pkgs/hooks_runner/test_data/reusable_dynamic_library/hook/build.dart b/pkgs/hooks_runner/test_data/reusable_dynamic_library/hook/build.dart index f7631087c9..2a676e17cb 100644 --- a/pkgs/hooks_runner/test_data/reusable_dynamic_library/hook/build.dart +++ b/pkgs/hooks_runner/test_data/reusable_dynamic_library/hook/build.dart @@ -3,15 +3,10 @@ // BSD-style license that can be found in the LICENSE file. import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List args) async { await build(args, (input, output) async { - final logger = Logger('') - ..level = Level.ALL - ..onRecord.listen((record) => print(record.message)); - final builder = CBuilder.library( name: 'add', assetName: 'add.dart', @@ -22,7 +17,6 @@ void main(List args) async { await builder.run( input: input, output: output, - logger: logger, routing: const [ // Bundle the dylib in the app, someone might use it. ToAppBundle(), diff --git a/pkgs/hooks_runner/test_data/reuse_dynamic_library/hook/build.dart b/pkgs/hooks_runner/test_data/reuse_dynamic_library/hook/build.dart index f9d88640db..1a81c85764 100644 --- a/pkgs/hooks_runner/test_data/reuse_dynamic_library/hook/build.dart +++ b/pkgs/hooks_runner/test_data/reuse_dynamic_library/hook/build.dart @@ -3,16 +3,11 @@ // BSD-style license that can be found in the LICENSE file. import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; import 'package:reusable_dynamic_library/hook.dart'; void main(List args) async { await build(args, (input, output) async { - final logger = Logger('') - ..level = Level.ALL - ..onRecord.listen((record) => print(record.message)); - final addLibrary = AddLibrary(input); final builder = CBuilder.library( name: 'my_add', @@ -27,7 +22,6 @@ void main(List args) async { await builder.run( input: input, output: output, - logger: logger, routing: const [ToAppBundle()], ); }); diff --git a/pkgs/hooks_runner/test_data/treeshaking_native_libs/hook/build.dart b/pkgs/hooks_runner/test_data/treeshaking_native_libs/hook/build.dart index fb9d1ae2a7..d4c7edd975 100644 --- a/pkgs/hooks_runner/test_data/treeshaking_native_libs/hook/build.dart +++ b/pkgs/hooks_runner/test_data/treeshaking_native_libs/hook/build.dart @@ -4,7 +4,6 @@ import 'package:code_assets/code_assets.dart'; import 'package:hooks/hooks.dart'; -import 'package:logging/logging.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List arguments) async { @@ -23,11 +22,6 @@ void main(List arguments) async { routing: input.config.linkingEnabled ? [ToLinkHook(input.packageName)] : [const ToAppBundle()], - logger: Logger('') - ..level = Level.ALL - ..onRecord.listen((record) { - print('${record.level.name}: ${record.time}: ${record.message}'); - }), ); }); } diff --git a/pkgs/native_toolchain_c/CHANGELOG.md b/pkgs/native_toolchain_c/CHANGELOG.md index 7dd6df9635..c565a60bcd 100644 --- a/pkgs/native_toolchain_c/CHANGELOG.md +++ b/pkgs/native_toolchain_c/CHANGELOG.md @@ -1,3 +1,9 @@ +## 0.17.2 + +- Made `CBuilder.run` `Logger` argument optional. It now defaults to a logger + printing to stdout and stderr. (Technically this is a breaking change on + passing `null` explicitly, but I doubt anyone is using it like that.) + ## 0.17.1 - Bump `package:hooks` and `package:code_assets`to 0.20.0. diff --git a/pkgs/native_toolchain_c/lib/src/cbuilder/cbuilder.dart b/pkgs/native_toolchain_c/lib/src/cbuilder/cbuilder.dart index 4ee9f81827..b714d6e255 100644 --- a/pkgs/native_toolchain_c/lib/src/cbuilder/cbuilder.dart +++ b/pkgs/native_toolchain_c/lib/src/cbuilder/cbuilder.dart @@ -13,6 +13,7 @@ import 'build_mode.dart'; import 'ctool.dart'; import 'language.dart'; import 'linkmode.dart'; +import 'logger.dart'; import 'optimization_level.dart'; import 'output_type.dart'; import 'run_cbuilder.dart'; @@ -115,15 +116,19 @@ class CBuilder extends CTool implements Builder { /// Runs the C Compiler with on this C build spec. /// /// Completes with an error if the build fails. + /// + /// If provided, uses [logger] to output logs. Otherwise, uses a default + /// logger that streams [Level.WARNING] to stdout and higher levels to stderr. @override Future run({ required BuildInput input, required BuildOutputBuilder output, - required Logger? logger, + Logger? logger, List routing = const [ToAppBundle()], }) async { + logger ??= createDefaultLogger(); if (!input.config.buildCodeAssets) { - logger?.info( + logger.info( 'config.buildAssetTypes did not contain CodeAssets, ' 'skipping CodeAsset $assetName build.', ); diff --git a/pkgs/native_toolchain_c/lib/src/cbuilder/logger.dart b/pkgs/native_toolchain_c/lib/src/cbuilder/logger.dart new file mode 100644 index 0000000000..666a485063 --- /dev/null +++ b/pkgs/native_toolchain_c/lib/src/cbuilder/logger.dart @@ -0,0 +1,27 @@ +// Copyright (c) 2025, 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 'dart:io'; + +import 'package:logging/logging.dart'; + +/// Creates a default logger that logs to stdout and stderr. +Logger createDefaultLogger() { + final logger = Logger.detached('CBuilder'); + logger.level = Level.INFO; + logger.onRecord.listen((record) { + if (record.level >= Level.WARNING) { + stderr.writeln(record.message); + } else { + stdout.writeln(record.message); + } + if (record.error != null) { + stderr.writeln(record.error); + } + if (record.stackTrace != null) { + stderr.writeln(record.stackTrace); + } + }); + return logger; +} diff --git a/pkgs/native_toolchain_c/pubspec.yaml b/pkgs/native_toolchain_c/pubspec.yaml index 3e5c41518b..dc271e0803 100644 --- a/pkgs/native_toolchain_c/pubspec.yaml +++ b/pkgs/native_toolchain_c/pubspec.yaml @@ -1,7 +1,7 @@ name: native_toolchain_c description: >- A library to invoke the native C compiler installed on the host machine. -version: 0.17.1 +version: 0.17.2 repository: https://github.com/dart-lang/native/tree/main/pkgs/native_toolchain_c topics: