fluttercommunity / flutter_launcher_icons

Flutter Launcher Icons - A package which simplifies the task of updating your Flutter app's launcher icon. Fully flexible, allowing you to choose what platform you wish to update the launcher icon for and if you want, the option to keep your old launcher icon in case you want to revert back sometime in the future. Maintainer: @MarkOSullivan94
https://pub.dev/packages/flutter_launcher_icons
MIT License
2.01k stars 406 forks source link

New scheme for flutter_icons_config.yaml file #373

Open RatakondalaArun opened 2 years ago

RatakondalaArun commented 2 years ago

Hi @'MarkOSullivan94, @'bradintheusa

I am thinking about restructuring flutter_icons_config.yaml format

current config

flutter_icons:
  image_path: "assets/images/icon-128x128.png"
  image_path_android: "assets/images/icon-710x599-android.png"
  image_path_ios: "assets/images/icon-1024x1024.png"
  android: true # can specify file name here e.g. "ic_launcher"
  ios: true # can specify file name here e.g. "My-Launcher-Icon"
  adaptive_icon_background: "assets/images/christmas-background.png" # only available for Android 8.0 devices and above
  adaptive_icon_foreground: "assets/images/icon-foreground-432x432.png" # only available for Android 8.0 devices and above
  # if I add support for web
  web: true
  image_path_web: "path/to/web.png"
  background_color_web: "#hexcolor"
  theme_color_web: "#hexcolor"
  # if we add support for linux
  linux true
  image_path_linux: "path/to/image.png"
  #if we add support for windows
  windows: true
  image_path_windows: true
  # ... and so on with other platforms

My suggestion

image_path: "path/to/image.png" # fallback if not specified for platform
android:
  generate: true # specifies weather to generate icons for this platform or not
  image_path: "path/to/image.png"
  adaptive_icon_background: "path/to/image.png"
  adaptive_icon_foreground: "path/to/image.png"
ios:
  generate: true
  image_path: "path/to/image.png"
web:
  generate: true
  image_path: "path/to/image.png"
  background_color: "#hexcode"
  theme_color: "#hexcode"
linux:
  generate: true
  image_path: "path/to/image.png"
windows:
  generate: true
  image_path: "path/to/image.png"
macos:
 generate: true
 image_path: "path/to/image.png"

What this will bring to the table?

Let me know what you guys think

_Originally posted by @RatakondalaArun in https://github.com/fluttercommunity/flutter_launcher_icons/issues/363#issuecomment-1173132953_

MarkOSullivan94 commented 2 years ago

I think this should arrive once support for all the other platforms has been added and then we update the major version for flutter_launcher_icons to indicate a breaking change in the config