// Copyright 2014 The Flutter Authors. 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: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, (BuildInput input, BuildOutputBuilder output) async { final Object? magicValue = input.userDefines['magic_value']; if (magicValue is! int) { throw ArgumentError('User-define `magic_value` must be an integer, found: $magicValue.'); } final String packageName = input.packageName; final CBuilder cbuilder = CBuilder.library( name: packageName, assetName: '$packageName.dart', sources: ['src/$packageName.c'], defines: {'MAGIC_VALUE': magicValue.toString()}, ); await cbuilder.run( input: input, output: output, logger: Logger('') ..level = Level.ALL ..onRecord.listen((LogRecord record) => print(record.message)), ); }); }