// 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:logging/logging.dart'; import 'package:native_assets_cli/native_assets_cli.dart'; import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List args) async { await build(args, (BuildConfig config, BuildOutput output) async { final String packageName = config.packageName; final CBuilder cbuilder = CBuilder.library( name: packageName, assetName: 'some_asset_name_that_is_not_used', sources: [ 'src/$packageName.c', ], dartBuildFiles: ['hook/build.dart'], ); final BuildOutput outputCatcher = BuildOutput(); await cbuilder.run( buildConfig: config, buildOutput: outputCatcher, logger: Logger('') ..level = Level.ALL ..onRecord.listen((LogRecord record) => print(record.message)), ); output.addDependencies(outputCatcher.dependencies); // Send the asset to hook/link.dart. output.addAsset( outputCatcher.assets.single, linkInPackage: 'link_hook', ); }); }