New example folder `network` has been introduced in 4ac24549ad to
hold examples related to generic networking, not specifically to
ethernet nor wifi. This change however didn't assign code owners, so
only IDF maintainers could approve MRs.
Assigning code ownership to groups:
* network
* wifi
For matches like **/*.py we need to place the wildcard last, so that
it can override previous directory matches (otherwise the directory
matches override the wildcard). Relax the check_codeowners.py order
check to allow this.
* add esp-phy-lib submodule
* move libphy.a and phy_init.c from esp_wifi to esp_phy
* move librtc.a from esp_wifi to esp_phy
* move libbtbb.a from bt to esp_phy
* corresponding updates to build system
The previous version used an incorrect /dir1/dir2 pattern to match the
content of dir2. The correct pattern should be /dir1/dir2/ (with the
trailing slash). This commit fixes these patterns.
Regarding codeowners.py:
'git ls-files' can not be used to correctly implement the logic of
CODEOWNERS file patterns, since it doesn't distinguish between
/path/* and /path/. The former pattern in CODEOWNERS file should only
match the files inside /path/, while the latter also matches files in
nested directories.
Because of this, the logic for evaluating patterns is re-implemented,
by converting CODEOWNERS patterns into regular expressions.
Gitlab CODEOWNERS parsing code was used as a reference, in addition to
the approach for converting glob patterns into regular expressions
proposed in https://stackoverflow.com/a/29354254.