Skip to content

Commit 475d0ff

Browse files
committed
Add glob restrictions for skipped files
<section id="quibbler-autodescription"> #### Добавление ограничений на пропущенные файлы в glob-шаблонах 📝 - 🔧 Добавлены параметры `SKIPPED_MIN_MATCHES` и `SKIPPED_ERROR_PERCENT` в макросах `_GLOB` и `_LATE_GLOB` для контроля количества пропущенных файлов при сборке. Это позволяет избежать ситуаций, когда значительная часть файлов находится на диске, но отбрасывается. - ⚙️ Для большинства конфигурационных файлов установлены единые значения: минимальное количество файлов — 2000, порог ошибки — 90%. Это означает, что если пропущено более 90% от количества файлов (если найдено минимум 2000 файлов), сборка завершится с ошибкой по ограничениям глоба. - 🧪 Для фронтовых макросов, в которых всё в кучу (стили, тесты, картинки) ограничения смягчены, а местами выключены, потому что может отбрасываться более 99% найденных файлов. - 📄 В паре модулей уточнены глобы, чтобы не отбрасывать более 90% файлов в глобах. Параметры позволяют запретить создание в Аркадии глобов с большим количеством пропущенных файлов, что впустую расходует ресурсы кластера сборки. <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a> </section> commit_hash:992c0828a6a4a3b4133262f8fd28afca43c13362
1 parent eb80be8 commit 475d0ff

File tree

9 files changed

+29
-34
lines changed

9 files changed

+29
-34
lines changed

build/conf/custom_lint.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ YAML_LINTER_DEFAULT_CONFIGS=build/config/tests/yaml_style/default_configs.json
44

55
# tag:lint tag:internal
66
macro _CUSTOM_LINT_FILES(GLOB_VAR, EXT, DIRS[], DIRS_RECURSE[]) {
7-
_GLOB(${GLOB_VAR} ${suf=/*.(${EXT}):DIRS} ${suf=/**/*.(${EXT}):DIRS_RECURSE} ${suf=/**/ya.make:DIRS_RECURSE} ${suf=/ya.make:DIRS} EXCLUDE ya.make RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
7+
_GLOB(${GLOB_VAR} ${suf=/*.(${EXT}):DIRS} ${suf=/**/*.(${EXT}):DIRS_RECURSE} ${suf=/**/ya.make:DIRS_RECURSE} ${suf=/ya.make:DIRS} EXCLUDE ya.make RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
88
}
99

1010
# tag:lint tag:test

build/conf/docs.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ module DOCS_LIBRARY: _DOCS_BARE_UNIT {
104104
macro _DOCS_SRCS(SRCDIR=".", EXCLUDE[], INCLUDE...) {
105105
SET(_VAR_DOCS_SRCS_SALT __SRCDIR__ $SRCDIR __EXCLUDE__ $EXCLUDE __INCLUDE__ $INCLUDE)
106106
SET(_DOCS_SRCS_GLOB uniq_docs_${hash:_VAR_DOCS_SRCS_SALT})
107-
_GLOB(${_DOCS_SRCS_GLOB} ${pre=${SRCDIR}/:INCLUDE} EXCLUDE ${EXCLUDE} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
107+
_GLOB(${_DOCS_SRCS_GLOB} ${pre=${SRCDIR}/:INCLUDE} EXCLUDE ${EXCLUDE} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
108108
SET_APPEND(_DOCS_SOURCES_VALUE ${input:$_DOCS_SRCS_GLOB})
109109
SET(_YFM_DOCS_DIR_DEFAULT_VALUE __dummy_dir__)
110110
}
@@ -307,7 +307,7 @@ macro _YFM_DOCS_DIR(DIR) {
307307

308308
SET(_VAR_DOCS_DIR_SALT __MODDIR__ $MODDIR __DIR__ $DIR)
309309
SET(_DOCS_DIR_GLOB uniq_docs_dir_${hash:_VAR_DOCS_DIR_SALT})
310-
_LATE_GLOB(${_DOCS_DIR_GLOB} ${ARCADIA_ROOT}/$DIR/**/* RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
310+
_LATE_GLOB(${_DOCS_DIR_GLOB} ${ARCADIA_ROOT}/$DIR/**/* RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
311311
SET_APPEND(_DOCS_IMPLICIT_SRCS_VALUE \${hide;input:$_DOCS_DIR_GLOB})
312312

313313
# We set the value of var _YFM_DOCS_DIR_DEFAULT_VALUE to some non-existing dir. This value

build/conf/go.conf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
###
44
### Recursively collect files for swagger config creation
55
macro COLLECT_GO_SWAGGER_FILES(Varname, Dir) {
6-
_GLOB($Varname $Dir/**/*.go ${ARCADIA_ROOT}/go.mod RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
6+
_GLOB($Varname $Dir/**/*.go ${ARCADIA_ROOT}/go.mod RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
77
}
88

99
# tag:go-specific
@@ -384,10 +384,10 @@ _GO_EMBED_INPUTS=
384384
macro _GO_EMBED_PATTERN(XTEST?"_xtest":"", PATTERN, IMPORT_PATH) {
385385
SET(VAR_SALT1 $XTEST $PATTERN $IMPORT_PATH 1)
386386
SET(_PATTERN_GLOB1 uniq_embed_${hash:VAR_SALT1})
387-
_GLOB($_PATTERN_GLOB1 ${ARCADIA_ROOT}/${IMPORT_PATH}/${PATTERN}/**/* EXCLUDE ${ARCADIA_ROOT}/${IMPORT_PATH}/${PATTERN}/**/_* ${ARCADIA_ROOT}/${IMPORT_PATH}/${PATTERN}/**/.* RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
387+
_GLOB($_PATTERN_GLOB1 ${ARCADIA_ROOT}/${IMPORT_PATH}/${PATTERN}/**/* EXCLUDE ${ARCADIA_ROOT}/${IMPORT_PATH}/${PATTERN}/**/_* ${ARCADIA_ROOT}/${IMPORT_PATH}/${PATTERN}/**/.* RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
388388
SET(VAR_SALT2 $XTEST $PATTERN $IMPORT_PATH 2)
389389
SET(_PATTERN_GLOB2 _uniq_embed_${hash:VAR_SALT2})
390-
_GLOB($_PATTERN_GLOB2 ${ARCADIA_ROOT}/${IMPORT_PATH}/${PATTERN} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
390+
_GLOB($_PATTERN_GLOB2 ${ARCADIA_ROOT}/${IMPORT_PATH}/${PATTERN} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
391391
SET_APPEND(_GO_EMBED_VALUE ++embed$XTEST ${ARCADIA_ROOT}/${IMPORT_PATH} $PATTERN \$$_PATTERN_GLOB1 \$$_PATTERN_GLOB2)
392392
SET_APPEND(_GO_EMBED_INPUTS \$$_PATTERN_GLOB1 \$$_PATTERN_GLOB2)
393393
}
@@ -423,7 +423,7 @@ macro GO_XTEST_EMBED_PATTERN(PATTERN) {
423423
macro _GO_EMBED_DIR(XTEST?"_xtest":"", DIR, IMPORT_PATH, ALL?"all:":"", EXCLUDES...) {
424424
SET(VAR_SALT $XTEST $DIR $IMPORT_PATH)
425425
SET(_PATTERN_GLOB uniq_embed_${hash:VAR_SALT})
426-
_GLOB($_PATTERN_GLOB ${ARCADIA_ROOT}/${IMPORT_PATH}/${DIR}/**/* EXCLUDE ${pre=${ARCADIA_ROOT}/${IMPORT_PATH}/${DIR}/**/:EXCLUDES} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
426+
_GLOB($_PATTERN_GLOB ${ARCADIA_ROOT}/${IMPORT_PATH}/${DIR}/**/* EXCLUDE ${pre=${ARCADIA_ROOT}/${IMPORT_PATH}/${DIR}/**/:EXCLUDES} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
427427
SET_APPEND(_GO_EMBED_VALUE ++embed$XTEST ${ARCADIA_ROOT}/${IMPORT_PATH} $ALL$DIR \$$_PATTERN_GLOB)
428428
SET_APPEND(_GO_EMBED_INPUTS \$$_PATTERN_GLOB)
429429
}

build/conf/java.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,7 @@ macro _JAVA_SRCS(RESOURCES?"yes":"no", SRCDIR=".", PACKAGE_PREFIX="", EXCLUDE[],
490490
SET_APPEND(ALL_SRCDIRS $SRCDIR)
491491
SET(VAR_SALT $SRCDIR $Globs $EXCLUDE $PACKAGE_PREFIX $RESOURCES $FILES)
492492
SET(JAR_SRCS_GLOB uniq_${hash:VAR_SALT})
493-
_LATE_GLOB(${JAR_SRCS_GLOB} ${pre=${SRCDIR}/:Globs} EXCLUDE ${EXCLUDE} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
493+
_LATE_GLOB(${JAR_SRCS_GLOB} ${pre=${SRCDIR}/:Globs} EXCLUDE ${EXCLUDE} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
494494
SET_APPEND(LINT_JAVA_SOURCES \${rootrel;ext=.java;input:${JAR_SRCS_GLOB}})
495495
SET_APPEND(ALL_JAR_SOURCES --jsources ${BINDIR}/misc/${tolower:JAR_SRCS_GLOB}.src.txt --resources ${BINDIR}/misc/${tolower:JAR_SRCS_GLOB}.res.txt --srcdir ${quo:SRCDIR} \${input:${JAR_SRCS_GLOB}} ${pre=\$\{input\:\";suf=\"\}:FILES})
496496
_FILL_JAR_COPY_RESOURCES_CMD(LINK_JAR_RESOURCES ${quo:SRCDIR} ${BINDIR}/cls ${PACKAGE_PREFIX} ${BINDIR}/misc/${tolower:JAR_SRCS_GLOB}.res.txt)
@@ -574,7 +574,7 @@ macro JAVA_IGNORE_CLASSPATH_CLASH_FOR(Args...) {
574574
# tag:java-specific
575575
# Fill semantic by RUN_JAVA_PROGRAM()
576576
macro _DO_2_RUN_JAR_PROGRAM(IN_DIRS_VAR="uniq_", IN_DIRS_INPUTS[], IN{input}[], IN_NOPARSE{input}[], IN_DIR[], OUT_NOAUTO{output}[], OUT{output}[], TOOL{tool}[], OUT_DIR[], CLASSPATH[], ADD_SRCS_TO_CLASSPATH?"yes":"no", CWD="${ARCADIA_BUILD_ROOT}", STDOUT="", STDOUT_NOAUTO="", HASH_SUF="hash_suf", Args...) {
577-
_LATE_GLOB(${IN_DIRS_VAR} ${suf=/**/*:IN_DIR} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
577+
_LATE_GLOB(${IN_DIRS_VAR} ${suf=/**/*:IN_DIR} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
578578
_CHECK_RUN_JAVA_PROG_CLASSPATH($CLASSPATH)
579579
.PEERDIR=build/platform/java/jdk $JDK_RESOURCE_PEERDIR
580580
.CMD=${hide;kv:"p RJ"} ${hide;kv:"pc blue"} ${hide:JAVA_FAKEID} ${cwd:BINDIR} $YMAKE_PYTHON3 ${input:"build/scripts/mkdir.py"} ${OUT_DIR} && ${cwd:CWD} $YMAKE_PYTHON3 ${input:"build/scripts/setup_java_tmpdir.py"} $YMAKE_PYTHON3 ${input:"build/scripts/stdout2stderr.py"} ${pre=--file=:STDOUT} ${hide;output:STDOUT} ${pre=--file=:STDOUT_NOAUTO} ${hide;noauto;output:STDOUT_NOAUTO} $YMAKE_PYTHON3 ${input:"build/scripts/fix_java_command_file_cp.py"} --build-root ${ARCADIA_BUILD_ROOT} $JDK_RESOURCE/bin/java -Dfile.encoding=utf8 -classpath ${RUN_JAR_PROG_CP_PRE}${tool:CLASSPATH}${RUN_JAR_PROG_CP_SUF} ${Args} && $_GENTAR_HELPER(HASH_SUF $HASH_SUF OUT_DIR $OUT_DIR) ${hide;input:IN} ${hide;context=TEXT;input=TEXT:IN_NOPARSE} ${hide;noauto;output:OUT_NOAUTO} ${hide;output:OUT} ${hide;tool:TOOL} ${hide;input:IN_DIRS_INPUTS}

build/conf/python.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1072,7 +1072,7 @@ _ALL_PY_FILES=
10721072

10731073
# tag:python-specific
10741074
macro _ALL_PY_SRCS2(TOP_LEVEL?"TOP_LEVEL":"", RECURSIVE?"/**":"", ONLY_TEST_FILES?"test_*.py":"*.py", ONLY_TEST_FILES2?"*_test.py":"***", NO_TEST_FILES?"**/test_*.py **/*_test.py":"", NAMESPACE[], REST[], REST2[], EAT_TAIL[]) {
1075-
_GLOB(_ALL_PY_FILES ${suf=${RECURSIVE}/${ONLY_TEST_FILES}:REST} ${suf=${RECURSIVE}/${ONLY_TEST_FILES2}:REST2} ${suf=${RECURSIVE}/ya.make:REST} EXCLUDE ya.make ${NO_TEST_FILES} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
1075+
_GLOB(_ALL_PY_FILES ${suf=${RECURSIVE}/${ONLY_TEST_FILES}:REST} ${suf=${RECURSIVE}/${ONLY_TEST_FILES2}:REST2} ${suf=${RECURSIVE}/ya.make:REST} EXCLUDE ya.make ${NO_TEST_FILES} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
10761076
}
10771077

10781078
# tag:python-specific
@@ -1118,7 +1118,7 @@ _PY_EXTRA_LINT_FILES_VALUE=
11181118

11191119
# tag:python-specific
11201120
macro _ALL_PY_EXTRA_LINT_FILES2(Dirs...) {
1121-
_GLOB(_ALL_PY_EXTRA_LINT_FILES_VALUE ${suf=/*.py:Dirs} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
1121+
_GLOB(_ALL_PY_EXTRA_LINT_FILES_VALUE ${suf=/*.py:Dirs} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
11221122
}
11231123

11241124
# tag:python-specific

build/conf/settings.conf

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,6 @@ CONSISTENT_DEBUG=yes
1818
CHECK_GLOB_RESTRICTIONS=yes
1919
MODULES_WITH_EXTENDED_GLOB_RESTRICTIONS=adv/frontend/packages/direct-modules adv/frontend/services/adfox/docs adv/frontend/services/yharnam classifieds/autoru-frontend classifieds/internal-frontend classifieds/realty-frontend cloud/docs/internal-doc-config docs/yateam/diy/external docs/yateam/diy/internal/outstaff docs/yateam/diy/internal/yandex fintech/backend-kotlin/services/mobile-views/src/test sdg/hw/embedded/pytools/ci/check_settings taxi/jotunn docs/support/marketplace docs/support/marketplace/cross-border logos/logs/md_schema docs/selfhost/alice-common/alice alice/quark/docs
2020

21-
# Minimal files in glob, when enabled checking skipped files in glob
22-
GLOB_SKIPPED_MIN_WATCHED=2000
23-
# Percent of skipped files in glob with >=GLOB_SKIPPED_MIN_WATCHED files for generate configure error (0 - don't check skipped files count)
24-
GLOB_SKIPPED_ERROR_PERCENT=0
25-
2621
when ($OS_WINDOWS == "yes") {
2722
USE_GLOBAL_CMD=no
2823
}

build/conf/ts/ts.conf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,10 +141,10 @@ _TS_LINT_SRCS_VALUE=
141141
macro _TS_CONFIG_EPILOGUE() {
142142
### Fill $TS_GLOB_FILES with potential inputs.
143143
### It will be reduced later in _TS_CONFIGURE based on `tsconfig.json` rules.
144-
_GLOB(TS_GLOB_FILES $TS_GLOB_INCLUDE EXCLUDE $TS_GLOB_EXCLUDE RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
145-
_GLOB(TS_GLOB_TEST_FILES $TS_GLOB_TESTS EXCLUDE $TS_EXCLUDE_DIR_GLOB RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
144+
_GLOB(TS_GLOB_FILES $TS_GLOB_INCLUDE EXCLUDE $TS_GLOB_EXCLUDE RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
145+
_GLOB(TS_GLOB_TEST_FILES $TS_GLOB_TESTS EXCLUDE $TS_EXCLUDE_DIR_GLOB RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 99)
146146

147-
_GLOB(_TS_LINT_SRCS_VALUE **/*.(ts|tsx|js|jsx) EXCLUDE $TS_EXCLUDE_DIR_GLOB $TS_COMMON_OUTDIR_GLOB $TS_GLOB_EXCLUDE_ADDITIONAL RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
147+
_GLOB(_TS_LINT_SRCS_VALUE **/*.(ts|tsx|js|jsx) EXCLUDE $TS_EXCLUDE_DIR_GLOB $TS_COMMON_OUTDIR_GLOB $TS_GLOB_EXCLUDE_ADDITIONAL RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
148148

149149
_SETUP_BUILD_ENV()
150150
}
@@ -213,7 +213,7 @@ macro TS_FILES(Files...) {
213213
### Adds files to output by glob, e.g. TS_FILES_GLOB(**/*.css)
214214
### Documentation: https://docs.yandex-team.ru/frontend-in-arcadia/references/TS_PACKAGE#ts-files-glob
215215
macro TS_FILES_GLOB(Glob...) {
216-
_GLOB(FILES_BY_GLOB ${Glob} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
216+
_GLOB(FILES_BY_GLOB ${Glob} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
217217
TS_FILES(${FILES_BY_GLOB})
218218
}
219219

build/conf/ts/ts_test.conf

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -202,18 +202,18 @@ _TS_TEST_EXTRA_SRCS_VALUE=
202202
###
203203
### Macro to define directories where the test source files should be located.
204204
### It does not define the exact scope to run tests for - it is to define the scope for the
205-
### test module configuration.
206-
### For example, changes to test files in these directories will not cause the test to be re-run,
205+
### test module configuration.
206+
### For example, changes to test files in these directories will not cause the test to be re-run,
207207
### and results could be retrieved from the cache.
208208
###
209209
### - DIRS... - directories.
210210
###
211211
### Documentation: https://docs.yandex-team.ru/frontend-in-arcadia/references/macros#ts-test-srcs
212212
macro TS_TEST_SRCS(DIRS...) {
213-
_GLOB(_TS_TEST_SRCS_VALUE ${suf=/**/*.$TS_TEST_EXTENSION:DIRS} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
213+
_GLOB(_TS_TEST_SRCS_VALUE ${suf=/**/*.$TS_TEST_EXTENSION:DIRS} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_ERROR_PERCENT 0)
214214
SRCS($_TS_TEST_SRCS_VALUE)
215215

216-
_GLOB(_TS_TEST_EXTRA_SRCS_VALUE ${suf=$TS_TEST_EXTRA_SRCS_MASK:DIRS} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
216+
_GLOB(_TS_TEST_EXTRA_SRCS_VALUE ${suf=$TS_TEST_EXTRA_SRCS_MASK:DIRS} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_ERROR_PERCENT 0)
217217
SRCS($_TS_TEST_EXTRA_SRCS_VALUE)
218218
}
219219

@@ -233,7 +233,7 @@ _TS_TEST_DATA_DIRS_RENAME_VALUE=
233233
### It is possible to specify multiple renaming rules in the following format "dir1:dir2;dir3/foo:dir4/bar", where "dir1" and "dir3" folders in curdir.
234234
### - GLOBS... - globs to tests data files, symbolic links will be created to their folders. For example - "tests_data/**/*".
235235
macro TS_TEST_DATA(RENAME="", GLOBS...) {
236-
_GLOB(_TS_TEST_DATA_VALUE $GLOBS RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
236+
_GLOB(_TS_TEST_DATA_VALUE $GLOBS RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
237237
SET(_TS_TEST_DATA_DIRS_RENAME_VALUE $RENAME)
238238
}
239239

@@ -305,5 +305,5 @@ macro TS_STYLELINT(_CONFIG) {
305305
ENABLE(_TS_STYLELINT_VALUE)
306306
SET(_TS_STYLELINT_CONFIG $_CONFIG)
307307

308-
_GLOB(_TS_STYLELINT_FILES **/*(.css|.scss|.less) EXCLUDE $TS_EXCLUDE_DIR_GLOB $TS_COMMON_OUTDIR_GLOB $TS_GLOB_EXCLUDE_ADDITIONAL RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
308+
_GLOB(_TS_STYLELINT_FILES **/*(.css|.scss|.less) EXCLUDE $TS_EXCLUDE_DIR_GLOB $TS_COMMON_OUTDIR_GLOB $TS_GLOB_EXCLUDE_ADDITIONAL RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 99)
309309
}

build/ymake.core.conf

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2785,7 +2785,7 @@ macro _ARF_HELPER(Args...) {
27852785
### Note: This macro can be used multiple times per ya.make, but only once for each Ext value
27862786
### Note: Wildcards are not allowed neither as Ext nor in Dirs
27872787
macro ALL_RESOURCE_FILES(EXT, PREFIX="", STRIP="", DIRS...) {
2788-
_GLOB(ALL_RES_$EXT ${suf=/*.$EXT:DIRS} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
2788+
_GLOB(ALL_RES_$EXT ${suf=/*.$EXT:DIRS} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
27892789
_ARF_HELPER(${pre=PREFIX :PREFIX} STRIP ${ARCADIA_ROOT}/${MODDIR}/${STRIP} ${pre=$ALL_RES_:EXT})
27902790
}
27912791

@@ -2800,7 +2800,7 @@ macro ALL_RESOURCE_FILES(EXT, PREFIX="", STRIP="", DIRS...) {
28002800
### Note: This macro can be used only once per ya.make
28012801
### Note: Wildcards are not allowed neither as Ext nor in Dirs
28022802
macro ALL_RESOURCE_FILES_FROM_DIRS(PREFIX="", STRIP="", DIRS...) {
2803-
_GLOB(_ALL_RES_DIRS ${suf=/*:DIRS} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
2803+
_GLOB(_ALL_RES_DIRS ${suf=/*:DIRS} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
28042804
_ARF_HELPER(${pre=PREFIX :PREFIX} STRIP ${ARCADIA_ROOT}/${MODDIR}/${STRIP} ${_ALL_RES_DIRS})
28052805
}
28062806

@@ -4610,7 +4610,7 @@ macro _DECL_IN_DIR_GLOB(var_prefix, pattern_suf, SRCDIR="", EXCLBASE="", EXCLUDE
46104610
_PATTERN=${pre=${SRCDIR};suf=${pattern_suf}:DIRS}
46114611
_EXCLUDES=${EXCLBASE}**/ya.make ${EXCLBASE}**/a.yaml ${pre=${EXCLBASE}:EXCLUDES}
46124612

4613-
_LATE_GLOB(_${var_prefix}_FILES ${_PATTERN} EXCLUDE ${_EXCLUDES} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
4613+
_LATE_GLOB(_${var_prefix}_FILES ${_PATTERN} EXCLUDE ${_EXCLUDES} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
46144614
SET(${var_prefix}_PATTERN ${_PATTERN})
46154615
SET(${var_prefix}_EXCLUDES ${_EXCLUDES})
46164616
}
@@ -4830,7 +4830,7 @@ macro FROM_SANDBOX(Id, OUT{output}[], OUT_NOAUTO{output}[], OUTPUT_INCLUDES[], I
48304830
### Otherwise macro will try to locate <File>.external, parse it retrieve ot during build phase.
48314831
macro LARGE_FILES(AUTOUPDATED?, Files...) {
48324832
# This is needed to correctly switch between remote and local modes
4833-
_GLOB($LF $Files RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
4833+
_GLOB($LF $Files RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
48344834
SET_APPEND(_MAKEFILE_INCLUDE_LIKE_DEPS ${suf=.external:Files})
48354835
}
48364836

@@ -5394,7 +5394,7 @@ module PREBUILT_PROGRAM: _LINK_UNIT {
53945394
### This macro collects all jinja and yaml files in the directory specified by second argument and
53955395
### stores result in the variable with mane specified by first parameter.
53965396
macro COLLECT_JINJA_TEMPLATES(VAR, DIR) {
5397-
_GLOB($VAR ${DIR}/**/*.jinja ${DIR}/**/*.yaml RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
5397+
_GLOB($VAR ${DIR}/**/*.jinja ${DIR}/**/*.yaml RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
53985398
}
53995399

54005400
@import "${CONF_ROOT}/conf/go.conf"
@@ -5501,14 +5501,14 @@ otherwise {
55015501
###
55025502
### Recursively collect files with typical frontend extensions from Dir and save the result into variable Varname
55035503
macro COLLECT_FRONTEND_FILES(Varname, Dir) {
5504-
_GLOB($Varname $Dir/**/*.(css|ejs|jpg|js|jsx|png|styl|svg|ts|tsx|json|html) RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
5504+
_GLOB($Varname $Dir/**/*.(css|ejs|jpg|js|jsx|png|styl|svg|ts|tsx|json|html) RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
55055505
}
55065506

55075507
### @usage: COLLECT_YAML_CONFIG_FILES(Varname, Dir)
55085508
###
55095509
### Recursively collect YAML files except for system-reserved a.yaml ones from Dir and save the result into Varname variable
55105510
macro COLLECT_YAML_CONFIG_FILES(Varname, Dir) {
5511-
_GLOB($Varname $Dir/**/*.yaml EXCLUDE **/a.yaml RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
5511+
_GLOB($Varname $Dir/**/*.yaml EXCLUDE **/a.yaml RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
55125512
}
55135513

55145514
TEST_TOOL_HOST_LOCAL=
@@ -5690,7 +5690,7 @@ macro STYLE_CPP(CONFIG_TYPE="") {
56905690
macro HEADERS(EXCLUDE[], Dirs...) {
56915691
SET(_VAR_HEADERS_SALT __Dirs__ ${Dirs} __EXCLUDE__ ${EXCLUDE})
56925692
SET(_HEADERS_GLOB uniq_headers_${hash:_VAR_HEADERS_SALT})
5693-
_GLOB(${_HEADERS_GLOB} ${suf=/*.(h|H|hh|hpp|hxx|ipp):Dirs} EXCLUDE ${EXCLUDE} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000)
5693+
_GLOB(${_HEADERS_GLOB} ${suf=/*.(h|H|hh|hpp|hxx|ipp):Dirs} EXCLUDE ${EXCLUDE} RESTRICTIONS MAX_MATCHES 10000 MAX_WATCH_DIRS 5000 SKIPPED_MIN_MATCHES 2000 SKIPPED_ERROR_PERCENT 90)
56945694
SRCS(${${_HEADERS_GLOB}})
56955695
}
56965696

0 commit comments

Comments
 (0)