flutter/dev/integration_tests/hook_user_defines/hook/build.dart
Daco Harkes 48f87a5fe7
[native assets] Roll dependencies (#168139)
Roll packages to the ones published today.

Note that `native_assets_cli` was split up into `hooks` and
`code_assets`, and `native_assets_builder` was renamed to
`hooks_runner`.
2025-05-02 08:19:21 +00:00

32 lines
1.1 KiB
Dart

// 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<String> 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: <String>['src/$packageName.c'],
defines: <String, String>{'MAGIC_VALUE': magicValue.toString()},
);
await cbuilder.run(
input: input,
output: output,
logger:
Logger('')
..level = Level.ALL
..onRecord.listen((LogRecord record) => print(record.message)),
);
});
}