# 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/*

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

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

integrations:
    - integrations/*

vscode:
    - .vscode
    - .devcontainer

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

github:
    - .github

workflows:
    - .github/workflows/*

tools:
    - tools/*

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

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

lwip:
    - src/lwip/*

inet:
    - src/inet/*

config:
    - config/*

lib:
    - src/lib/*

core:
    - src/lib/core/*

protocols:
    - src/lib/protocols/*

shell:
    - src/lib/shell/*

support:
    - src/lib/support/*

crypto:
    - src/crypto/*

controller:
    - src/controller/*

ble:
    - src/ble/*

android:
    - src/android/*

app:
    - src/app/*

transport:
    - src/transport/*

system:
    - src/system/*

setup payload:
    - src/setup_payload/*

############################################################
#  Platforms
############################################################
platform:
    - src/platform/*

darwin:
    - src/platform/Darwin/*
    - src/darwin/*

efr32:
    - src/platform/EFR32/*

esp32:
    - src/platform/ESP32/*

freeRTOS:
    - src/platform/FreeRTOS/*

k32w:
    - src/platform/K32W/*

linux:
    - src/platform/Linux/*

nrf connect:
    - src/platform/nrfconnect/*

openthread:
    - src/platform/openthread/*

zephyr:
    - src/platform/Zephyr/*

telink:
    - src/platform/telink/*
