flavors_yaml_merger 1.0.6 copy "flavors_yaml_merger: ^1.0.6" to clipboard
flavors_yaml_merger: ^1.0.6 copied to clipboard

A package to help building flavored apps without the need to manually remove other flavor content from yaml file.

example/README.md

Example: commands #

Run this command to merge flavor file

dart run flavors_yaml_merger --flavor_name <flavor>

Use the -m flag to enable yaml matcher:

dart run flavors_yaml_merger --matcher true

Use the -b flag to disable the backup of pubspec.yaml

dart run flavors_yaml_merger -f <flavor> --enable_backup false

You can also use your own flavor yaml path and naming scheme by using the following command

dart run flavors_yaml_merger -f <flavor> --flavor_path "path_to_flavor_yaml"

Example: pubspec_dev.yaml #

Here's an example of a pubspec_<flavor_name> filer:

dependencies:
  cupertino_icons: ^1.0.2
  dio: ^5.2.1+1
  shared_preferences: ^2.2.2

fonts:
  - family: ibm plex
    fonts:
      - asset: assets/flavor1/fonts/body_label/IBMPlexSansArabic-Regular.ttf
        weight: 300
      - asset: assets/flavor1/fonts/body_label/IBMPlexSansArabic-Regular.ttf
        weight: 400
      - asset: assets/flavor1/fonts/body_label/IBMPlexSansArabic-Medium.ttf
        weight: 500
      - asset: assets/flavor1/fonts/body_label/IBMPlexSansArabic-SemiBold.ttf
        weight: 600
      - asset: assets/flavor1/fonts/body_label/IBMPlexSansArabic-SemiBold.ttf
        weight: 700

assets:
  - assets/flavor1/png/
  - assets/flavor1/png/onboarding/
  - assets/flavor1/animation/

pubspec.yaml #

The pubspec.yaml must include all the sections present in flavor file in case the matcher is enabled. If matcher is enabled you have to add the corresponding comments to define flavor sections for matcher.

dependencies:
  # flavor flavor1_name                  <- Add this line on flavor1 dependencies
  cupertino_icons: ^1.0.2
  dio: ^5.2.1+1
  shared_preferences: ^2.2.2
  # end flavor flavor1_name              <- Add this line on flavor1 dependencies

  # flavor flavor2_name                  <- Add this line on flavor2 dependencies
  connectivity_plus: ^5.0.1
  # end flavor flavor2_name              <- Add this line on flavor2 dependencies


fonts:
  # flavor flavor1_name                  <- Add this line on flavor1 fonts
  - family: ibm plex
    fonts:
      - asset: assets/flavor1/fonts/body_label/IBMPlexSansArabic-Regular.ttf
        weight: 300
      - asset: assets/flavor1/fonts/body_label/IBMPlexSansArabic-Regular.ttf
        weight: 400
      - asset: assets/flavor1/fonts/body_label/IBMPlexSansArabic-Medium.ttf
        weight: 500
      - asset: assets/flavor1/fonts/body_label/IBMPlexSansArabic-SemiBold.ttf
        weight: 600
      - asset: assets/flavor1/fonts/body_label/IBMPlexSansArabic-SemiBold.ttf
        weight: 700
  # end flavor flavor1_name              <- Add this line on flavor1 fonts

assets:
  # flavor flavor1_name                  <- Add this line on flavor1 assets
  - assets/flavor1/png/
  - assets/flavor1/png/onboarding/
  - assets/flavor1/animation/
  # end flavor flavor1_name              <- Add this line on flavor1 assets

  - assets/flavor1/locales/

You need to run this command to restore your main pubspec.yaml if you didn't disable backup.

dart run flavors_yaml_merger:restore_backup_yaml
1
likes
160
points
222
downloads

Publisher

unverified uploader

Weekly Downloads

A package to help building flavored apps without the need to manually remove other flavor content from yaml file.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

args, yaml, yaml_writer

More

Packages that depend on flavors_yaml_merger