From 25144536883981d061397a69d4c15390c806485e Mon Sep 17 00:00:00 2001 From: Rick Casson <4932864+rickcasson@users.noreply.github.com> Date: Thu, 16 Jun 2022 13:53:27 -0700 Subject: [PATCH 1/7] add ability to customize Plist file names --- lib/parser/models/config/ios.dart | 7 ++- lib/processors/processor.dart | 19 ++++++-- pubspec.lock | 76 +++++++++++++++---------------- 3 files changed, 60 insertions(+), 42 deletions(-) diff --git a/lib/parser/models/config/ios.dart b/lib/parser/models/config/ios.dart index d407e8b5..734297ab 100644 --- a/lib/parser/models/config/ios.dart +++ b/lib/parser/models/config/ios.dart @@ -30,10 +30,15 @@ part 'ios.g.dart'; @JsonSerializable(anyMap: true, createToJson: false) class IOS with BuildSettingsMixin { - IOS({Map buildSettings = const {}}) { + IOS( + {Map buildSettings = const {}, + List iOSPListFiles = const []}) { this.buildSettings = BuildSettingsMixin.defaultBuildSettings; this.buildSettings.addAll(buildSettings); } + @JsonKey(defaultValue: []) + late List iOSPListFiles; + factory IOS.fromJson(Map json) => _$IOSFromJson(json); } diff --git a/lib/processors/processor.dart b/lib/processors/processor.dart index ca7393e9..8bb5cae5 100644 --- a/lib/processors/processor.dart +++ b/lib/processors/processor.dart @@ -219,9 +219,22 @@ class Processor extends AbstractProcessor { 'ios:icons': IOSIconsProcessor( config: pubspec.flavorizr, ), - 'ios:plist': ExistingFileStringProcessor( - K.iOSPListPath, - IOSPListProcessor(config: pubspec.flavorizr), + 'ios:plist': QueueProcessor( + pubspec.flavorizr.app?.ios != null && + pubspec.flavorizr.app!.ios!.iOSPListFiles.isNotEmpty + ? pubspec.flavorizr.app!.ios!.iOSPListFiles + .map( + (String path) => ExistingFileStringProcessor( + path, + IOSPListProcessor(config: pubspec.flavorizr), + config: pubspec.flavorizr, + )) + .toList() + : pubspec.flavorizr.app?.ios != null && + pubspec.flavorizr.app!.ios!.buildSettings + .containsKey('INFOPLIST_FILE') + ? pubspec.flavorizr.app?.ios?.buildSettings['INFOPLIST_FILE'] + : K.iOSPListPath, config: pubspec.flavorizr, ), 'ios:launchScreen': IOSTargetsLaunchScreenFileProcessor( diff --git a/pubspec.lock b/pubspec.lock index 83d079bd..7b7bd5dd 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,14 +7,14 @@ packages: name: _fe_analyzer_shared url: "https://pub.dartlang.org" source: hosted - version: "38.0.0" + version: "40.0.0" analyzer: dependency: transitive description: name: analyzer url: "https://pub.dartlang.org" source: hosted - version: "3.4.1" + version: "4.1.0" archive: dependency: "direct main" description: @@ -28,7 +28,7 @@ packages: name: args url: "https://pub.dartlang.org" source: hosted - version: "2.3.0" + version: "2.3.1" async: dependency: transitive description: @@ -49,7 +49,7 @@ packages: name: build url: "https://pub.dartlang.org" source: hosted - version: "2.2.1" + version: "2.3.0" build_config: dependency: transitive description: @@ -63,21 +63,21 @@ packages: name: build_daemon url: "https://pub.dartlang.org" source: hosted - version: "3.0.1" + version: "3.1.0" build_resolvers: dependency: transitive description: name: build_resolvers url: "https://pub.dartlang.org" source: hosted - version: "2.0.6" + version: "2.0.9" build_runner: dependency: "direct dev" description: name: build_runner url: "https://pub.dartlang.org" source: hosted - version: "2.1.8" + version: "2.1.11" build_runner_core: dependency: transitive description: @@ -98,7 +98,7 @@ packages: name: built_value url: "https://pub.dartlang.org" source: hosted - version: "8.1.4" + version: "8.3.2" characters: dependency: transitive description: @@ -140,35 +140,35 @@ packages: name: collection url: "https://pub.dartlang.org" source: hosted - version: "1.15.0" + version: "1.16.0" convert: dependency: transitive description: name: convert url: "https://pub.dartlang.org" source: hosted - version: "3.0.1" + version: "3.0.2" crypto: dependency: transitive description: name: crypto url: "https://pub.dartlang.org" source: hosted - version: "3.0.1" + version: "3.0.2" dart_style: dependency: transitive description: name: dart_style url: "https://pub.dartlang.org" source: hosted - version: "2.2.2" + version: "2.2.3" fake_async: dependency: transitive description: name: fake_async url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.3.0" file: dependency: transitive description: @@ -182,7 +182,7 @@ packages: name: fixnum url: "https://pub.dartlang.org" source: hosted - version: "1.0.0" + version: "1.0.1" flutter: dependency: "direct main" description: flutter @@ -206,14 +206,14 @@ packages: name: frontend_server_client url: "https://pub.dartlang.org" source: hosted - version: "2.1.2" + version: "2.1.3" glob: dependency: transitive description: name: glob url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.1.0" graphs: dependency: transitive description: @@ -227,14 +227,14 @@ packages: name: http_multi_server url: "https://pub.dartlang.org" source: hosted - version: "3.2.0" + version: "3.2.1" http_parser: dependency: transitive description: name: http_parser url: "https://pub.dartlang.org" source: hosted - version: "4.0.0" + version: "4.0.1" image: dependency: "direct main" description: @@ -262,14 +262,14 @@ packages: name: json_annotation url: "https://pub.dartlang.org" source: hosted - version: "4.4.0" + version: "4.5.0" json_serializable: dependency: "direct dev" description: name: json_serializable url: "https://pub.dartlang.org" source: hosted - version: "6.1.5" + version: "6.2.0" lints: dependency: transitive description: @@ -297,7 +297,7 @@ packages: name: material_color_utilities url: "https://pub.dartlang.org" source: hosted - version: "0.1.3" + version: "0.1.4" meta: dependency: transitive description: @@ -311,35 +311,35 @@ packages: name: mime url: "https://pub.dartlang.org" source: hosted - version: "1.0.1" + version: "1.0.2" package_config: dependency: transitive description: name: package_config url: "https://pub.dartlang.org" source: hosted - version: "2.0.2" + version: "2.1.0" path: dependency: transitive description: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.8.0" + version: "1.8.1" petitparser: dependency: transitive description: name: petitparser url: "https://pub.dartlang.org" source: hosted - version: "4.4.0" + version: "5.0.0" pool: dependency: transitive description: name: pool url: "https://pub.dartlang.org" source: hosted - version: "1.5.0" + version: "1.5.1" pub_semver: dependency: transitive description: @@ -360,14 +360,14 @@ packages: name: shelf url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.1" shelf_web_socket: dependency: transitive description: name: shelf_web_socket url: "https://pub.dartlang.org" source: hosted - version: "1.0.1" + version: "1.0.2" sky_engine: dependency: transitive description: flutter @@ -379,21 +379,21 @@ packages: name: source_gen url: "https://pub.dartlang.org" source: hosted - version: "1.2.1" + version: "1.2.2" source_helper: dependency: transitive description: name: source_helper url: "https://pub.dartlang.org" source: hosted - version: "1.3.1" + version: "1.3.2" source_span: dependency: transitive description: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.1" + version: "1.8.2" sprintf: dependency: "direct main" description: @@ -442,7 +442,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.8" + version: "0.4.9" timing: dependency: transitive description: @@ -456,14 +456,14 @@ packages: name: typed_data url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.1" vector_math: dependency: transitive description: name: vector_math url: "https://pub.dartlang.org" source: hosted - version: "2.1.1" + version: "2.1.2" watcher: dependency: transitive description: @@ -477,20 +477,20 @@ packages: name: web_socket_channel url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.2.0" xml: dependency: "direct main" description: name: xml url: "https://pub.dartlang.org" source: hosted - version: "5.3.1" + version: "5.4.1" yaml: dependency: "direct main" description: name: yaml url: "https://pub.dartlang.org" source: hosted - version: "3.1.0" + version: "3.1.1" sdks: - dart: ">=2.16.0 <3.0.0" + dart: ">=2.17.0-0 <3.0.0" From 008e145b0ec9a6dce27dcc29b4b8aa71542133db Mon Sep 17 00:00:00 2001 From: Rick Casson <4932864+rickcasson@users.noreply.github.com> Date: Thu, 16 Jun 2022 14:17:25 -0700 Subject: [PATCH 2/7] generate files and fix errors --- lib/parser/mixins/build_settings_mixin.dart | 3 --- lib/parser/models/config/ios.dart | 1 - lib/parser/models/config/ios.g.dart | 6 +++++- lib/parser/models/flavors/commons/os.dart | 1 - lib/parser/models/flavors/ios.dart | 2 +- lib/parser/models/flavors/ios.g.dart | 4 ++-- pubspec.yaml | 2 +- 7 files changed, 9 insertions(+), 10 deletions(-) diff --git a/lib/parser/mixins/build_settings_mixin.dart b/lib/parser/mixins/build_settings_mixin.dart index e3dabeb5..aac77262 100644 --- a/lib/parser/mixins/build_settings_mixin.dart +++ b/lib/parser/mixins/build_settings_mixin.dart @@ -1,5 +1,3 @@ -import 'package:json_annotation/json_annotation.dart'; - mixin BuildSettingsMixin { static final Map defaultBuildSettings = { "ASSETCATALOG_COMPILER_APPICON_NAME": "\$(ASSET_PREFIX)AppIcon", @@ -11,6 +9,5 @@ mixin BuildSettingsMixin { "INFOPLIST_FILE": "Runner/Info.plist", }; - @JsonKey(defaultValue: {}) late Map buildSettings; } diff --git a/lib/parser/models/config/ios.dart b/lib/parser/models/config/ios.dart index 734297ab..f46643b7 100644 --- a/lib/parser/models/config/ios.dart +++ b/lib/parser/models/config/ios.dart @@ -37,7 +37,6 @@ class IOS with BuildSettingsMixin { this.buildSettings.addAll(buildSettings); } - @JsonKey(defaultValue: []) late List iOSPListFiles; factory IOS.fromJson(Map json) => _$IOSFromJson(json); diff --git a/lib/parser/models/config/ios.g.dart b/lib/parser/models/config/ios.g.dart index 8beaa98b..607be6e9 100644 --- a/lib/parser/models/config/ios.g.dart +++ b/lib/parser/models/config/ios.g.dart @@ -10,5 +10,9 @@ IOS _$IOSFromJson(Map json) => IOS( buildSettings: (json['buildSettings'] as Map?)?.map( (k, e) => MapEntry(k as String, e), ) ?? - {}, + const {}, + iOSPListFiles: (json['iOSPListFiles'] as List?) + ?.map((e) => e as String) + .toList() ?? + const [], ); diff --git a/lib/parser/models/flavors/commons/os.dart b/lib/parser/models/flavors/commons/os.dart index 88f200e8..fd0d0d96 100644 --- a/lib/parser/models/flavors/commons/os.dart +++ b/lib/parser/models/flavors/commons/os.dart @@ -27,7 +27,6 @@ import 'package:flutter_flavorizr/parser/models/flavors/google/firebase/firebase import 'package:json_annotation/json_annotation.dart'; class OS { - @JsonKey(defaultValue: true) final bool generateDummyAssets; @JsonKey(disallowNullValue: true) diff --git a/lib/parser/models/flavors/ios.dart b/lib/parser/models/flavors/ios.dart index fa1d68e9..f3160fba 100644 --- a/lib/parser/models/flavors/ios.dart +++ b/lib/parser/models/flavors/ios.dart @@ -36,7 +36,7 @@ class IOS extends OS with BuildSettingsMixin { @JsonKey(required: true, disallowNullValue: true) final String bundleId; - @JsonKey(disallowNullValue: true, defaultValue: {}) + @JsonKey(disallowNullValue: true) final Map variables; IOS({ diff --git a/lib/parser/models/flavors/ios.g.dart b/lib/parser/models/flavors/ios.g.dart index 7ab30d14..2e9cf496 100644 --- a/lib/parser/models/flavors/ios.g.dart +++ b/lib/parser/models/flavors/ios.g.dart @@ -18,11 +18,11 @@ IOS _$IOSFromJson(Map json) { (k, e) => MapEntry(k as String, Variable.fromJson(Map.from(e as Map))), ) ?? - {}, + const {}, buildSettings: (json['buildSettings'] as Map?)?.map( (k, e) => MapEntry(k as String, e), ) ?? - {}, + const {}, generateDummyAssets: json['generateDummyAssets'] as bool? ?? true, firebase: json['firebase'] == null ? null diff --git a/pubspec.yaml b/pubspec.yaml index 759bf555..b1d8cbc7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -17,7 +17,7 @@ dependencies: collection: ^1.15.0 image: ^3.1.0 io: ^1.0.3 - json_annotation: ^4.4.0 + json_annotation: ^4.5.0 sprintf: ^6.0.0 xml: ^5.3.1 yaml: ^3.1.0 From 3b491d8eb6bbb7744b5ad702f5871af562ec5456 Mon Sep 17 00:00:00 2001 From: Rick Casson <4932864+rickcasson@users.noreply.github.com> Date: Thu, 16 Jun 2022 21:04:15 -0700 Subject: [PATCH 3/7] fix ios Object --- lib/parser/mixins/build_settings_mixin.dart | 3 ++ lib/parser/models/config/ios.dart | 5 +-- lib/parser/models/config/ios.g.dart | 26 ++++++++------ lib/parser/models/flavors/ios.g.dart | 2 +- lib/processors/processor.dart | 40 +++++++++++---------- 5 files changed, 45 insertions(+), 31 deletions(-) diff --git a/lib/parser/mixins/build_settings_mixin.dart b/lib/parser/mixins/build_settings_mixin.dart index aac77262..e3dabeb5 100644 --- a/lib/parser/mixins/build_settings_mixin.dart +++ b/lib/parser/mixins/build_settings_mixin.dart @@ -1,3 +1,5 @@ +import 'package:json_annotation/json_annotation.dart'; + mixin BuildSettingsMixin { static final Map defaultBuildSettings = { "ASSETCATALOG_COMPILER_APPICON_NAME": "\$(ASSET_PREFIX)AppIcon", @@ -9,5 +11,6 @@ mixin BuildSettingsMixin { "INFOPLIST_FILE": "Runner/Info.plist", }; + @JsonKey(defaultValue: {}) late Map buildSettings; } diff --git a/lib/parser/models/config/ios.dart b/lib/parser/models/config/ios.dart index f46643b7..acf7750c 100644 --- a/lib/parser/models/config/ios.dart +++ b/lib/parser/models/config/ios.dart @@ -32,12 +32,13 @@ part 'ios.g.dart'; class IOS with BuildSettingsMixin { IOS( {Map buildSettings = const {}, - List iOSPListFiles = const []}) { + this.iOSPListFiles = const []}) { this.buildSettings = BuildSettingsMixin.defaultBuildSettings; this.buildSettings.addAll(buildSettings); } - late List iOSPListFiles; + @JsonKey(disallowNullValue: true, defaultValue: []) + final List iOSPListFiles; factory IOS.fromJson(Map json) => _$IOSFromJson(json); } diff --git a/lib/parser/models/config/ios.g.dart b/lib/parser/models/config/ios.g.dart index 607be6e9..704f7c3a 100644 --- a/lib/parser/models/config/ios.g.dart +++ b/lib/parser/models/config/ios.g.dart @@ -6,13 +6,19 @@ part of 'ios.dart'; // JsonSerializableGenerator // ************************************************************************** -IOS _$IOSFromJson(Map json) => IOS( - buildSettings: (json['buildSettings'] as Map?)?.map( - (k, e) => MapEntry(k as String, e), - ) ?? - const {}, - iOSPListFiles: (json['iOSPListFiles'] as List?) - ?.map((e) => e as String) - .toList() ?? - const [], - ); +IOS _$IOSFromJson(Map json) { + $checkKeys( + json, + disallowNullValues: const ['iOSPListFiles'], + ); + return IOS( + buildSettings: (json['buildSettings'] as Map?)?.map( + (k, e) => MapEntry(k as String, e), + ) ?? + {}, + iOSPListFiles: (json['iOSPListFiles'] as List?) + ?.map((e) => e as String) + .toList() ?? + [], + ); +} diff --git a/lib/parser/models/flavors/ios.g.dart b/lib/parser/models/flavors/ios.g.dart index 2e9cf496..f2a85b0d 100644 --- a/lib/parser/models/flavors/ios.g.dart +++ b/lib/parser/models/flavors/ios.g.dart @@ -22,7 +22,7 @@ IOS _$IOSFromJson(Map json) { buildSettings: (json['buildSettings'] as Map?)?.map( (k, e) => MapEntry(k as String, e), ) ?? - const {}, + {}, generateDummyAssets: json['generateDummyAssets'] as bool? ?? true, firebase: json['firebase'] == null ? null diff --git a/lib/processors/processor.dart b/lib/processors/processor.dart index 8bb5cae5..72fc49f8 100644 --- a/lib/processors/processor.dart +++ b/lib/processors/processor.dart @@ -219,24 +219,28 @@ class Processor extends AbstractProcessor { 'ios:icons': IOSIconsProcessor( config: pubspec.flavorizr, ), - 'ios:plist': QueueProcessor( - pubspec.flavorizr.app?.ios != null && - pubspec.flavorizr.app!.ios!.iOSPListFiles.isNotEmpty - ? pubspec.flavorizr.app!.ios!.iOSPListFiles - .map( - (String path) => ExistingFileStringProcessor( - path, - IOSPListProcessor(config: pubspec.flavorizr), - config: pubspec.flavorizr, - )) - .toList() - : pubspec.flavorizr.app?.ios != null && - pubspec.flavorizr.app!.ios!.buildSettings - .containsKey('INFOPLIST_FILE') - ? pubspec.flavorizr.app?.ios?.buildSettings['INFOPLIST_FILE'] - : K.iOSPListPath, - config: pubspec.flavorizr, - ), + 'ios:plist': pubspec.flavorizr.app?.ios?.iOSPListFiles != null && + pubspec.flavorizr.app!.ios!.iOSPListFiles!.isNotEmpty + ? QueueProcessor( + pubspec.flavorizr.app!.ios!.iOSPListFiles! + .map( + (String path) => ExistingFileStringProcessor( + path, + IOSPListProcessor(config: pubspec.flavorizr), + config: pubspec.flavorizr, + )) + .toList(), + config: pubspec.flavorizr, + ) + : ExistingFileStringProcessor( + pubspec.flavorizr.app?.ios != null && + pubspec.flavorizr.app!.ios!.buildSettings + .containsKey('INFOPLIST_FILE') + ? pubspec.flavorizr.app?.ios?.buildSettings['INFOPLIST_FILE'] + : K.iOSPListPath, + IOSPListProcessor(config: pubspec.flavorizr), + config: pubspec.flavorizr, + ) as AbstractProcessor, 'ios:launchScreen': IOSTargetsLaunchScreenFileProcessor( 'ruby', K.tempiOSAddFileScriptPath, From 0adfbeaa9243d0ff1aaad649876c60e42ce863f9 Mon Sep 17 00:00:00 2001 From: Rick Casson <4932864+rickcasson@users.noreply.github.com> Date: Thu, 16 Jun 2022 21:16:50 -0700 Subject: [PATCH 4/7] only change files relevant to PR --- lib/parser/models/flavors/commons/os.dart | 1 + lib/parser/models/flavors/ios.dart | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/parser/models/flavors/commons/os.dart b/lib/parser/models/flavors/commons/os.dart index fd0d0d96..88f200e8 100644 --- a/lib/parser/models/flavors/commons/os.dart +++ b/lib/parser/models/flavors/commons/os.dart @@ -27,6 +27,7 @@ import 'package:flutter_flavorizr/parser/models/flavors/google/firebase/firebase import 'package:json_annotation/json_annotation.dart'; class OS { + @JsonKey(defaultValue: true) final bool generateDummyAssets; @JsonKey(disallowNullValue: true) diff --git a/lib/parser/models/flavors/ios.dart b/lib/parser/models/flavors/ios.dart index f3160fba..fa1d68e9 100644 --- a/lib/parser/models/flavors/ios.dart +++ b/lib/parser/models/flavors/ios.dart @@ -36,7 +36,7 @@ class IOS extends OS with BuildSettingsMixin { @JsonKey(required: true, disallowNullValue: true) final String bundleId; - @JsonKey(disallowNullValue: true) + @JsonKey(disallowNullValue: true, defaultValue: {}) final Map variables; IOS({ From 49160a9b5e7ad8c6a3767408149630088c570256 Mon Sep 17 00:00:00 2001 From: Rick Casson <4932864+rickcasson@users.noreply.github.com> Date: Thu, 16 Jun 2022 21:18:19 -0700 Subject: [PATCH 5/7] Update ios.g.dart --- lib/parser/models/flavors/ios.g.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/parser/models/flavors/ios.g.dart b/lib/parser/models/flavors/ios.g.dart index f2a85b0d..7ab30d14 100644 --- a/lib/parser/models/flavors/ios.g.dart +++ b/lib/parser/models/flavors/ios.g.dart @@ -18,7 +18,7 @@ IOS _$IOSFromJson(Map json) { (k, e) => MapEntry(k as String, Variable.fromJson(Map.from(e as Map))), ) ?? - const {}, + {}, buildSettings: (json['buildSettings'] as Map?)?.map( (k, e) => MapEntry(k as String, e), ) ?? From 39020f9488c5968e55dadbcca54b7870aab72690 Mon Sep 17 00:00:00 2001 From: Rick Casson <4932864+rickcasson@users.noreply.github.com> Date: Thu, 16 Jun 2022 21:33:35 -0700 Subject: [PATCH 6/7] Update README.md --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 7acdc635..7c0979ba 100644 --- a/README.md +++ b/README.md @@ -139,6 +139,19 @@ flavorizr: | key | type | default | required | description | |:--------------|:-----------|:--------|:---------|:-----------------------------------------------------------------------------------------------| | buildSettings | Dictionary | {} | false | An XCode build configuration dictionary [XCode Build Settings](https://xcodebuildsettings.com) | +| iOSPListFiles | List | [] | false | A list of custom iOS plist files (including paths) | + +```yaml +flavorizr: + app: + android: + flavorDimensions: "flavor-type" + ios: + iOSPListFiles: + - "ios/Runner/Info-Debug.plist" + - "ios/Runner/Info-Profile.plist" + - "ios/Runner/Info-Release.plist" +``` #### app (under *flavorname*) From 163f94fffae05bf1f79dadc81ecdb445ff36f56e Mon Sep 17 00:00:00 2001 From: Rick Casson <4932864+rickcasson@users.noreply.github.com> Date: Tue, 12 Mar 2024 10:25:14 -0700 Subject: [PATCH 7/7] Update processor.dart --- lib/src/processors/processor.dart | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/lib/src/processors/processor.dart b/lib/src/processors/processor.dart index 468e881d..95ca4f0e 100644 --- a/lib/src/processors/processor.dart +++ b/lib/src/processors/processor.dart @@ -250,11 +250,28 @@ class Processor extends AbstractProcessor { 'ios:icons': () => IOSIconsProcessor( config: flavorizr, ), - 'ios:plist': () => ExistingFileStringProcessor( - K.iOSPListPath, - IOSPListProcessor(config: flavorizr), - config: flavorizr, - ), + 'ios:plist': () => (flavorizr.app?.ios?.iOSPListFiles != null && + flavorizr.app!.ios!.iOSPListFiles.isNotEmpty + ? QueueProcessor( + flavorizr.app!.ios!.iOSPListFiles + .map( + (String path) => ExistingFileStringProcessor( + path, + IOSPListProcessor(config: flavorizr), + config: flavorizr, + )) + .toList(), + config: flavorizr, + ) + : ExistingFileStringProcessor( + flavorizr.app?.ios != null && + flavorizr.app!.ios!.buildSettings + .containsKey('INFOPLIST_FILE') + ? flavorizr.app?.ios?.buildSettings['INFOPLIST_FILE'] + : K.iOSPListPath, + IOSPListProcessor(config: flavorizr), + config: flavorizr, + )) as AbstractProcessor, 'ios:launchScreen': () => IOSTargetsLaunchScreenFileProcessor( 'ruby', K.tempDarwinAddFileScriptPath,