invertase / invertase/flutterfire_cli
request: support multiple ios-build-config values
- Dominant language
- Dart
- Stars
- 193
- Forks
- 74
- PR merge metrics
- No merged PRs in 30d
Description
### Is there an existing feature request for this?
- [X] I have searched the existing issues.
### Command
`flutterfire configure`
### Description
Currently, if you have more than a single build configuration for your iOs project you are required to run the `flutterfire configure` command multiple times. From the documentation:
> You need to run flutterfire configure for every configuration type. E.g. if you have Debug & Release configurations, you need to run flutterfire configure twice with the relevant arguments documented below.
If you are sharing the same configuration for different iOs build configurations. For example if the project has the following build configurations: `Debug-dev`, `Profile-dev` and `Release-dev`. Then, it would be very convenient to simply run once:
```sh
flutterfire configure --project my_project --ios-build-config Debug-dev,Profile-dev,Release-dev --ios-bundle-id com.example.project.dev --ios-out ios/Runner/development --platforms ios
```
Hence, I would expect the above command to create three identical entries in the `firebase.json` file, equivalent to when its run multiple times with different `ios-build-config`s:
```json
{
"flutter": {
"platforms": {
"ios": {
"buildConfigurations": {
"Debug-dev": {
"projectId": "my_project",
"appId": "1",
"uploadDebugSymbols": false,
"fileOutput": "ios/Runner/development/GoogleService-Info.plist"
},
"Profile-dev": {
"projectId": "my_project",
"appId": "1",
"uploadDebugSymbols": false,
"fileOutput": "ios/Runner/development/GoogleService-Info.plist"
},
"Release-dev": {
"projectId": "my_project",
"appId": "1",
"uploadDebugSymbols": false,
"fileOutput": "ios/Runner/development/GoogleService-Info.plist"
},
}
}
}
}
}
```
### Reasoning
It is easier to run the command once rather than running it multiple times and changing the `--ios-build-config` each time with the same configuration.
For example, consider projects that have 3 Schemas (production, release, development) each with 3 Build Configurations (Profile, Debug, Release), a user of the FlutterFire CLI would have to run the command 9 times! Each time modifying the `--ios-build-config` instead of simply running it 3 times (one per schema, each schema having its own Firebase project configuration).
### Additional context and comments
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.