# Copyright 2013 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# See https://github.com/actions/labeler/blob/main/README.md for docs.
'affects: desktop':
  - shell/platform/darwin/common/**/*
  - shell/platform/darwin/macos/**/*
  - shell/platform/linux/**/*
  - shell/platform/windows/**/*

embedder:
  - shell/platform/embedder

'e: impeller':
  - impeller/**/*

platform-android:
  - shell/platform/android/**/*

platform-ios:
  - shell/platform/darwin/common/**/*
  - shell/platform/darwin/ios/**/*

platform-fuchsia:
  - shell/platform/fuchsia/**/*

platform-linux:
  - shell/platform/linux/**/*

platform-macos:
  - shell/platform/darwin/common/**/*
  - shell/platform/darwin/macos/**/*

platform-web:
  - lib/web_ui/**/*
  - '**/web_sdk/**/*'

platform-windows:
  - shell/platform/windows/**/*
