# Copyright (c) 2020 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

############################################################
#  Top Level Labels
############################################################
repo:
    - ./*

############################################################
#  Examples
############################################################
examples:
    - examples/*
    - examples/**/*

############################################################
#  Documentation
############################################################
documentation:
    - docs/*
    - docs/**/*
    - "*.md"

############################################################
#  Tools + Development Items
############################################################
scripts:
    - scripts/*
    - scripts/**/*

integrations:
    - integrations/*
    - integrations/**/*

vscode:
    - .vscode/*
    - .vscode/**/*
    - .devcontainer/*
    - .devcontainer/**/*

gn:
    - build/*
    - build/**/*
    - build_overrides/*
    - build_overrides/**/*
    - .gn
    - "*.gn"
    - "*.gni"

github:
    - .github
    - .github/*
    - .github/**/*

workflows:
    - .github/workflows/*
    - .github/workflows/**/*

tools:
    - src/tools/*
    - src/tools/**/*
    - tools/*
    - tools/**/*
    - examples/chip-tool/*
    - examples/chip-tool/**/*

############################################################
#  Tests
############################################################
tests:
    - src/app/tests/*
    - src/app/tests/**/*

test driver:
    - src/test_driver/*
    - src/test_driver/**/*

############################################################
#  Source Code
############################################################
qr code:
    - src/qrcode/*
    - src/qrcode/**/*
    - src/qrcodetool/*
    - src/qrcodetool/**/*

lwip:
    - src/lwip/*
    - src/lwip/**/*

inet:
    - src/inet/*
    - src/inet/**/*

config:
    - config/*
    - config/**/*

lib:
    - src/lib/*
    - src/lib/**/*

core:
    - src/lib/core/*
    - src/lib/core/**/*

protocols:
    - src/lib/protocols/*
    - src/lib/protocols/**/*

shell:
    - src/lib/shell/*
    - src/lib/shell/**/*

support:
    - src/lib/support/*
    - src/lib/support/**/*

crypto:
    - src/crypto/*
    - src/crypto/**/*

controller:
    - src/controller/*
    - src/controller/**/*

ble:
    - src/ble/*
    - src/ble/**/*

android:
    - src/android/*
    - src/android/**/*

app:
    - src/app/*
    - src/app/**/*

transport:
    - src/transport/*
    - src/transport/**/*

system:
    - src/system/*
    - src/system/**/*

setup payload:
    - src/setup_payload/*
    - src/setup_payload/**/*

############################################################
#  Platforms
############################################################
platform:
    - src/platform/*
    - src/platform/**/*
    - config/tizen/chip-gn/platform/*
    - config/tizen/chip-gn/platform/**/*
    - examples/platform/*
    - examples/platform/**/*
    - scripts/tools/memory/platform/*
    - scripts/tools/memory/platform/**/*
    - src/include/platform/*
    - src/include/platform/**/*
    - src/lib/dnssd/platform/*
    - src/lib/dnssd/platform/**/*

darwin:
    - src/platform/Darwin/*
    - src/platform/Darwin/**/*
    - src/darwin/*
    - src/darwin/**/*
    - examples/darwin-framework-tool/*
    - examples/darwin-framework-tool/**/*

efr32:
    - src/platform/EFR32/*
    - src/platform/EFR32/**/*

esp32:
    - src/platform/ESP32/*
    - src/platform/ESP32/**/*

freeRTOS:
    - src/platform/FreeRTOS/*
    - src/platform/FreeRTOS/**/*

k32w:
    - src/platform/K32W/*
    - src/platform/K32W/**/*

linux:
    - src/platform/Linux/*
    - src/platform/Linux/**/*

nrf connect:
    - src/platform/nrfconnect/*
    - src/platform/nrfconnect/**/*

openthread:
    - src/platform/openthread/*
    - src/platform/openthread/**/*

zephyr:
    - src/platform/Zephyr/*
    - src/platform/Zephyr/**/*

telink:
    - src/platform/telink/*
    - src/platform/telink/**/*
