invertase / invertase/flutterfire_cli

request: support multiple ios-build-config values

Open
#322 4 comments 8 reactions 0 assignees View on GitHub
enhancement keep open Needs Attention
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.