diff --git a/dev/integration_tests/link_hook/hook/build.dart b/dev/integration_tests/link_hook/hook/build.dart index 66eddc7cc67..9c50b1f2a68 100644 --- a/dev/integration_tests/link_hook/hook/build.dart +++ b/dev/integration_tests/link_hook/hook/build.dart @@ -9,6 +9,10 @@ import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List args) async { await build(args, (BuildConfig config, BuildOutputBuilder output) async { + if (!config.supportedAssetTypes.contains(CodeAsset.type)) { + return; + } + final String assetName; if (config.linkingEnabled) { // The link hook will be run. So emit an asset with a name that is diff --git a/dev/integration_tests/link_hook/hook/link.dart b/dev/integration_tests/link_hook/hook/link.dart index 1a642cf6a28..7793e71410d 100644 --- a/dev/integration_tests/link_hook/hook/link.dart +++ b/dev/integration_tests/link_hook/hook/link.dart @@ -6,6 +6,9 @@ import 'package:native_assets_cli/code_assets.dart'; void main(List args) async { await link(args, (LinkConfig config, LinkOutputBuilder output) async { + if (!config.supportedAssetTypes.contains(CodeAsset.type)) { + return; + } final CodeAsset asset = config.codeAssets.single; final String packageName = config.packageName; output.codeAssets.add( diff --git a/packages/flutter_tools/test/integration.shard/isolated/native_assets_test.dart b/packages/flutter_tools/test/integration.shard/isolated/native_assets_test.dart index cd9b0ce9b20..12709fc33d1 100644 --- a/packages/flutter_tools/test/integration.shard/isolated/native_assets_test.dart +++ b/packages/flutter_tools/test/integration.shard/isolated/native_assets_test.dart @@ -13,6 +13,7 @@ @Timeout(Duration(minutes: 10)) library; +import 'dart:convert'; import 'dart:io'; import 'package:file/file.dart'; @@ -465,14 +466,14 @@ void expectCCompilerIsConfigured(Directory appDirectory) { continue; } - final File config = subDir.childFile('config.json'); - expect(config, exists); - final String contents = config.readAsStringSync(); - // Dry run does not pass compiler info. - if (contents.contains('"dry_run": true')) { + final File configFile = subDir.childFile('config.json'); + expect(configFile, exists); + final Map config = + json.decode(configFile.readAsStringSync()) as Map; + if (!(config['supported_asset_types']! as List).contains(CodeAsset.type)) { continue; } - expect(contents, contains('"cc": ')); + expect((config['c_compiler']! as Map)['cc'], isNotNull); } } diff --git a/packages/flutter_tools/test/integration.shard/isolated/native_assets_test_utils.dart b/packages/flutter_tools/test/integration.shard/isolated/native_assets_test_utils.dart index 32820792c10..0da56e74d49 100644 --- a/packages/flutter_tools/test/integration.shard/isolated/native_assets_test_utils.dart +++ b/packages/flutter_tools/test/integration.shard/isolated/native_assets_test_utils.dart @@ -180,14 +180,18 @@ FFI_PLUGIN_EXPORT intptr_t add(intptr_t a, intptr_t b) { // Update builder to build the native library and link it into the main library. const String builderSource = r''' -import 'package:native_toolchain_c/native_toolchain_c.dart'; + import 'package:logging/logging.dart'; -import 'package:native_assets_cli/native_assets_cli.dart'; +import 'package:native_assets_cli/code_assets.dart'; +import 'package:native_toolchain_c/native_toolchain_c.dart'; void main(List args) async { await build(args, (config, output) async { final packageName = config.packageName; + if (!config.supportedAssetTypes.contains(CodeAsset.type)) { + return; + } final builders = [ CBuilder.library( name: 'add',