Skip to content

Commit 966aea1

Browse files
janedbalondrejmirtes
authored andcommitted
ResultCacheManager: support dots in parametersNotInvalidatingCache
1 parent 596696f commit 966aea1

File tree

3 files changed

+18
-14
lines changed

3 files changed

+18
-14
lines changed

Diff for: conf/config.neon

+11-11
Original file line numberDiff line numberDiff line change
@@ -191,17 +191,17 @@ parameters:
191191
tmpDir: %sysGetTempDir%/phpstan-fixer
192192
__validate: true
193193
parametersNotInvalidatingCache:
194-
- parameters.editorUrl
195-
- parameters.editorUrlTitle
196-
- parameters.errorFormat
197-
- parameters.ignoreErrors
198-
- parameters.reportUnmatchedIgnoredErrors
199-
- parameters.tipsOfTheDay
200-
- parameters.parallel
201-
- parameters.internalErrorsCountLimit
202-
- parameters.cache
203-
- parameters.memoryLimitFile
204-
- parameters.pro
194+
- [parameters, editorUrl]
195+
- [parameters, editorUrlTitle]
196+
- [parameters, errorFormat]
197+
- [parameters, ignoreErrors]
198+
- [parameters, reportUnmatchedIgnoredErrors]
199+
- [parameters, tipsOfTheDay]
200+
- [parameters, parallel]
201+
- [parameters, internalErrorsCountLimit]
202+
- [parameters, cache]
203+
- [parameters, memoryLimitFile]
204+
- [parameters, pro]
205205
- parametersSchema
206206

207207
extensions:

Diff for: conf/parametersSchema.neon

+4-1
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,10 @@ parametersSchema:
167167
])
168168
env: arrayOf(string(), anyOf(int(), string()))
169169
sysGetTempDir: string()
170-
parametersNotInvalidatingCache: listOf(string())
170+
parametersNotInvalidatingCache: listOf(schema(anyOf(
171+
string(),
172+
listOf(string()),
173+
)))
171174

172175
# playground mode
173176
sourceLocatorPlaygroundMode: bool()

Diff for: src/Analyser/ResultCache/ResultCacheManager.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ final class ResultCacheManager
6767
* @param string[] $bootstrapFiles
6868
* @param string[] $scanFiles
6969
* @param string[] $scanDirectories
70-
* @param list<string> $parametersNotInvalidatingCache
70+
* @param list<string|non-empty-list<string>> $parametersNotInvalidatingCache
7171
*/
7272
public function __construct(
7373
private Container $container,
@@ -886,7 +886,8 @@ private function getMeta(array $allAnalysedFiles, ?array $projectConfigArray): a
886886

887887
if ($projectConfigArray !== null) {
888888
foreach ($this->parametersNotInvalidatingCache as $parameterPath) {
889-
ArrayHelper::unsetKeyAtPath($projectConfigArray, explode('.', $parameterPath));
889+
$pathAsArray = is_array($parameterPath) ? $parameterPath : explode('.', $parameterPath);
890+
ArrayHelper::unsetKeyAtPath($projectConfigArray, $pathAsArray);
890891
}
891892

892893
ksort($projectConfigArray);

0 commit comments

Comments
 (0)