# See Dependabot documentation for all configuration options:
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
    groups:
      all-github-actions:
        patterns: [ "*" ]
    reviewers:
      - "stuartmorgan"
    labels:
      - "team"
      - "team: infra"
      - "autosubmit"
    # Updating patch versions for "github-actions" is too chatty.
    # See https://github.com/flutter/flutter/issues/158350.
    ignore:
      - dependency-name: "*"
        update-types: ["version-update:semver-patch"]

  # Android example apps.
  - package-ecosystem: "gradle"
    directories:
      - /packages/animations/example/android/app
      - /packages/camera/camera_android/example/android/app
      - /packages/camera/camera_android_camerax/example/android/app
      - /packages/camera/camera/example/android/app
      - /packages/espresso/example/android/app
      - /packages/extension_google_sign_in_as_googleapis_auth/example/android/app
      - /packages/file_selector/file_selector/example/android/app
      - /packages/file_selector/file_selector_android/example/android/app
      - /packages/flutter_plugin_android_lifecycle/example/android/app
      - /packages/go_router/example/android/app
      - /packages/google_maps_flutter/google_maps_flutter/example/android/app
      - /packages/google_maps_flutter/google_maps_flutter_android/example/android/app
      - /packages/google_sign_in/google_sign_in/example/android/app
      - /packages/google_sign_in/google_sign_in_android/example/android/app
      - /packages/in_app_purchase/in_app_purchase_android/example/android/app
      - /packages/in_app_purchase/in_app_purchase/example/android/app
      - /packages/interactive_media_ads/example/android/app
      - /packages/image_picker/image_picker/example/android/app
      - /packages/image_picker/image_picker_android/example/android/app
      - /packages/local_auth/local_auth_android/example/android/app
      - /packages/local_auth/local_auth/example/android/app
      - /packages/path_provider/path_provider/example/android/app
      - /packages/path_provider/path_provider_android/example/android/app
      - /packages/pigeon/example/app/android/app
      - /packages/pigeon/platform_tests/test_plugin/example/android/app
      - /packages/pigeon/platform_tests/alternate_language_test_plugin/example/android/app
      - /packages/quick_actions/quick_actions_android/example/android/app
      - /packages/quick_actions/quick_actions/example/android/app
      - /packages/rfw/example/hello/android/app
      - /packages/rfw/example/local/android/app
      - /packages/rfw/example/remote/android/app
      - /packages/shared_preferences/shared_preferences/example/android/app
      - /packages/shared_preferences/shared_preferences_android/example/android/app
      - /packages/two_dimensional_scrollables/example/android/app
      - /packages/url_launcher/url_launcher_android/example/android/app
      - /packages/url_launcher/url_launcher/example/android/app
      - /packages/video_player/video_player/example/android/app
      - /packages/video_player/video_player_android/example/android/app
      - /packages/webview_flutter/webview_flutter/example/android/app
      - /packages/webview_flutter/webview_flutter_android/example/android/app
      - /third_party/packages/flutter_svg/example/android/app
    commit-message:
      prefix: "[dependabot]"
    schedule:
      interval: "weekly"
    labels:
      - "autosubmit"
    open-pull-requests-limit: 10
    ignore:
      - dependency-name: "*"
        update-types: ["version-update:semver-minor", "version-update:semver-patch"]

  # Android packages (excluding example apps).
  - package-ecosystem: "gradle"
    directories:
      - /packages/camera/camera_android/android
      - /packages/camera/camera_android_camerax/android
      - /packages/espresso/android
      - /packages/file_selector/file_selector_android/android
      - /packages/flutter_plugin_android_lifecycle/android
      - /packages/google_maps_flutter/google_maps_flutter_android/android
      - /packages/google_sign_in/google_sign_in_android/android
      - /packages/in_app_purchase/in_app_purchase_android/android
      - /packages/interactive_media_ads/android
      - /packages/image_picker/image_picker_android/android
      - /packages/local_auth/local_auth_android/android
      - /packages/path_provider/path_provider_android/android
      - /packages/pigeon/platform_tests/test_plugin/android
      - /packages/pigeon/platform_tests/alternate_language_test_plugin/android
      - /packages/quick_actions/quick_actions_android/android
      - /packages/shared_preferences/shared_preferences_android/android
      - /packages/url_launcher/url_launcher_android/android
      - /packages/video_player/video_player_android/android
      - /packages/webview_flutter/webview_flutter_android/android
    commit-message:
      prefix: "[dependabot]"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    labels:
      - "autosubmit"
    groups:
      test-dependencies:
        patterns:
          - "androidx.test:*"
          - "io.mockk:*"
          - "junit:junit"
          - "org.mockito:*"
          - "org.robolectric:*"
      gradle-plugin:
        patterns:
          - "org.jetbrains.kotlin:kotlin-gradle-plugin"
      androidx:
        patterns:
          - "androidx.annotation:annotation"
    ignore:
      - dependency-name: "com.android.tools.build:gradle"
        update-types: ["version-update:semver-patch"]
      - dependency-name: "junit:junit"
        update-types: ["version-update:semver-patch"]
      - dependency-name: "org.mockito:*"
        update-types: ["version-update:semver-patch"]
      - dependency-name: "androidx.test:*"
        update-types: ["version-update:semver-patch"]
      - dependency-name: "org.robolectric:*"
        update-types: ["version-update:semver-patch"]
      - dependency-name: "io.mockk:mockk:*"
        update-types: ["version-update:semver-patch"]