@@ -460,7 +460,7 @@ class IosProject extends FlutterProjectPlatform implements XcodeBasedProject {
460
460
Map <String , String > _buildSettings;
461
461
462
462
Future <void > ensureReadyForPlatformSpecificTooling () async {
463
- _regenerateFromTemplateIfNeeded ();
463
+ await _regenerateFromTemplateIfNeeded ();
464
464
if (! _flutterLibRoot.existsSync ()) {
465
465
return ;
466
466
}
@@ -477,7 +477,7 @@ class IosProject extends FlutterProjectPlatform implements XcodeBasedProject {
477
477
}
478
478
}
479
479
480
- void _regenerateFromTemplateIfNeeded () {
480
+ Future < void > _regenerateFromTemplateIfNeeded () async {
481
481
if (! isModule) {
482
482
return ;
483
483
}
@@ -491,18 +491,18 @@ class IosProject extends FlutterProjectPlatform implements XcodeBasedProject {
491
491
}
492
492
493
493
_deleteIfExistsSync (ephemeralDirectory);
494
- _overwriteFromTemplate (
494
+ await _overwriteFromTemplate (
495
495
globals.fs.path.join ('module' , 'ios' , 'library' ),
496
496
ephemeralDirectory,
497
497
);
498
498
// Add ephemeral host app, if a editable host app does not already exist.
499
499
if (! _editableDirectory.existsSync ()) {
500
- _overwriteFromTemplate (
500
+ await _overwriteFromTemplate (
501
501
globals.fs.path.join ('module' , 'ios' , 'host_app_ephemeral' ),
502
502
ephemeralDirectory,
503
503
);
504
504
if (hasPlugins (parent)) {
505
- _overwriteFromTemplate (
505
+ await _overwriteFromTemplate (
506
506
globals.fs.path.join ('module' , 'ios' , 'host_app_ephemeral_cocoapods' ),
507
507
ephemeralDirectory,
508
508
);
@@ -542,19 +542,19 @@ class IosProject extends FlutterProjectPlatform implements XcodeBasedProject {
542
542
throwToolExit ('iOS host app is already editable. To start fresh, delete the ios/ folder.' );
543
543
}
544
544
_deleteIfExistsSync (ephemeralDirectory);
545
- _overwriteFromTemplate (
545
+ await _overwriteFromTemplate (
546
546
globals.fs.path.join ('module' , 'ios' , 'library' ),
547
547
ephemeralDirectory,
548
548
);
549
- _overwriteFromTemplate (
549
+ await _overwriteFromTemplate (
550
550
globals.fs.path.join ('module' , 'ios' , 'host_app_ephemeral' ),
551
551
_editableDirectory,
552
552
);
553
- _overwriteFromTemplate (
553
+ await _overwriteFromTemplate (
554
554
globals.fs.path.join ('module' , 'ios' , 'host_app_ephemeral_cocoapods' ),
555
555
_editableDirectory,
556
556
);
557
- _overwriteFromTemplate (
557
+ await _overwriteFromTemplate (
558
558
globals.fs.path.join ('module' , 'ios' , 'host_app_editable_cocoapods' ),
559
559
_editableDirectory,
560
560
);
@@ -579,8 +579,8 @@ class IosProject extends FlutterProjectPlatform implements XcodeBasedProject {
579
579
: hostAppRoot.childDirectory (_hostAppBundleName);
580
580
}
581
581
582
- void _overwriteFromTemplate (String path, Directory target) {
583
- final Template template = Template .fromName (path);
582
+ Future < void > _overwriteFromTemplate (String path, Directory target) async {
583
+ final Template template = await Template .fromName (path, fileSystem : globals.fs );
584
584
template.render (
585
585
target,
586
586
< String , dynamic > {
@@ -679,11 +679,11 @@ class AndroidProject extends FlutterProjectPlatform {
679
679
680
680
Future <void > ensureReadyForPlatformSpecificTooling () async {
681
681
if (isModule && _shouldRegenerateFromTemplate ()) {
682
- _regenerateLibrary ();
682
+ await _regenerateLibrary ();
683
683
// Add ephemeral host app, if an editable host app does not already exist.
684
684
if (! _editableHostAppDirectory.existsSync ()) {
685
- _overwriteFromTemplate (globals.fs.path.join ('module' , 'android' , 'host_app_common' ), ephemeralDirectory);
686
- _overwriteFromTemplate (globals.fs.path.join ('module' , 'android' , 'host_app_ephemeral' ), ephemeralDirectory);
685
+ await _overwriteFromTemplate (globals.fs.path.join ('module' , 'android' , 'host_app_common' ), ephemeralDirectory);
686
+ await _overwriteFromTemplate (globals.fs.path.join ('module' , 'android' , 'host_app_ephemeral' ), ephemeralDirectory);
687
687
}
688
688
}
689
689
if (! hostAppGradleRoot.existsSync ()) {
@@ -704,10 +704,10 @@ class AndroidProject extends FlutterProjectPlatform {
704
704
if (_editableHostAppDirectory.existsSync ()) {
705
705
throwToolExit ('Android host app is already editable. To start fresh, delete the android/ folder.' );
706
706
}
707
- _regenerateLibrary ();
708
- _overwriteFromTemplate (globals.fs.path.join ('module' , 'android' , 'host_app_common' ), _editableHostAppDirectory);
709
- _overwriteFromTemplate (globals.fs.path.join ('module' , 'android' , 'host_app_editable' ), _editableHostAppDirectory);
710
- _overwriteFromTemplate (globals.fs.path.join ('module' , 'android' , 'gradle' ), _editableHostAppDirectory);
707
+ await _regenerateLibrary ();
708
+ await _overwriteFromTemplate (globals.fs.path.join ('module' , 'android' , 'host_app_common' ), _editableHostAppDirectory);
709
+ await _overwriteFromTemplate (globals.fs.path.join ('module' , 'android' , 'host_app_editable' ), _editableHostAppDirectory);
710
+ await _overwriteFromTemplate (globals.fs.path.join ('module' , 'android' , 'gradle' ), _editableHostAppDirectory);
711
711
gradle.gradleUtils.injectGradleWrapperIfNeeded (_editableHostAppDirectory);
712
712
gradle.writeLocalProperties (_editableHostAppDirectory.childFile ('local.properties' ));
713
713
await injectPlugins (parent);
@@ -717,19 +717,19 @@ class AndroidProject extends FlutterProjectPlatform {
717
717
718
718
Directory get pluginRegistrantHost => _flutterLibGradleRoot.childDirectory (isModule ? 'Flutter' : 'app' );
719
719
720
- void _regenerateLibrary () {
720
+ Future < void > _regenerateLibrary () async {
721
721
_deleteIfExistsSync (ephemeralDirectory);
722
- _overwriteFromTemplate (globals.fs.path.join (
722
+ await _overwriteFromTemplate (globals.fs.path.join (
723
723
'module' ,
724
724
'android' ,
725
725
featureFlags.isAndroidEmbeddingV2Enabled ? 'library_new_embedding' : 'library' ,
726
726
), ephemeralDirectory);
727
- _overwriteFromTemplate (globals.fs.path.join ('module' , 'android' , 'gradle' ), ephemeralDirectory);
727
+ await _overwriteFromTemplate (globals.fs.path.join ('module' , 'android' , 'gradle' ), ephemeralDirectory);
728
728
gradle.gradleUtils.injectGradleWrapperIfNeeded (ephemeralDirectory);
729
729
}
730
730
731
- void _overwriteFromTemplate (String path, Directory target) {
732
- final Template template = Template .fromName (path);
731
+ Future < void > _overwriteFromTemplate (String path, Directory target) async {
732
+ final Template template = await Template .fromName (path, fileSystem : globals.fs );
733
733
template.render (
734
734
target,
735
735
< String , dynamic > {
0 commit comments