# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled.

version:
  revision: 796c8ef79279f9c774545b3771238c3098dbefab
  channel: stable

project_type: app

# Tracks metadata for the flutter migrate command
migration:
  platforms:
    - platform: root
      create_revision: 796c8ef79279f9c774545b3771238c3098dbefab
      base_revision: 796c8ef79279f9c774545b3771238c3098dbefab
    - platform: android
      create_revision: 796c8ef79279f9c774545b3771238c3098dbefab
      base_revision: 796c8ef79279f9c774545b3771238c3098dbefab
    - platform: ios
      create_revision: 796c8ef79279f9c774545b3771238c3098dbefab
      base_revision: 796c8ef79279f9c774545b3771238c3098dbefab
    - platform: linux
      create_revision: 796c8ef79279f9c774545b3771238c3098dbefab
      base_revision: 796c8ef79279f9c774545b3771238c3098dbefab
    - platform: macos
      create_revision: 796c8ef79279f9c774545b3771238c3098dbefab
      base_revision: 796c8ef79279f9c774545b3771238c3098dbefab
    - platform: web
      create_revision: 796c8ef79279f9c774545b3771238c3098dbefab
      base_revision: 796c8ef79279f9c774545b3771238c3098dbefab
    - platform: windows
      create_revision: 796c8ef79279f9c774545b3771238c3098dbefab
      base_revision: 796c8ef79279f9c774545b3771238c3098dbefab

  # User provided section

  # List of Local paths (relative to this file) that should be
  # ignored by the migrate tool.
  #
  # Files that are not part of the templates will be ignored by default.
  unmanaged_files:
    - 'lib/main.dart'
    - 'ios/Runner.xcodeproj/project.pbxproj'
