Skip to content

Commit 212d7d8

Browse files
[native assets] Add the native asset manifest to the bundle dependencies in non-debug modes (#165023)
Fixes flutter/flutter#164149
1 parent edbdafd commit 212d7d8

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

packages/flutter_tools/lib/src/build_system/targets/common.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ class ReleaseCopyFlutterBundle extends CopyFlutterBundle {
123123
List<String> get depfiles => const <String>['flutter_assets.d'];
124124

125125
@override
126-
List<Target> get dependencies => const <Target>[];
126+
List<Target> get dependencies => const <Target>[InstallCodeAssets()];
127127
}
128128

129129
/// Generate a snapshot of the dart code used in the program.

packages/flutter_tools/test/general.shard/bundle_builder_test.dart

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,35 @@ void main() {
266266
'build/95b595cca01caa5f0ca0a690339dd7f6.cache.dill.track.dill',
267267
);
268268
});
269+
270+
testUsingContext(
271+
'Release bundle includes native assets',
272+
() async {
273+
final List<String> dependencies = <String>[];
274+
final BuildSystem buildSystem = TestBuildSystem.all(BuildResult(success: true), (
275+
Target target,
276+
Environment environment,
277+
) {
278+
for (final Target dep in target.dependencies) {
279+
dependencies.add(dep.name);
280+
}
281+
});
282+
await BundleBuilder().build(
283+
platform: TargetPlatform.ios,
284+
buildInfo: BuildInfo.release,
285+
project: FlutterProject.fromDirectoryTest(globals.fs.currentDirectory),
286+
mainPath: globals.fs.path.join('lib', 'main.dart'),
287+
assetDirPath: 'example',
288+
depfilePath: 'example.d',
289+
buildSystem: buildSystem,
290+
);
291+
expect(dependencies, contains('install_code_assets'));
292+
},
293+
overrides: <Type, Generator>{
294+
FileSystem: () => MemoryFileSystem.test(),
295+
ProcessManager: () => FakeProcessManager.any(),
296+
},
297+
);
269298
}
270299

271300
class FakeAssetBundle extends Fake implements AssetBundle {

0 commit comments

Comments
 (0)