Use same working directory for preparing cache directory as it used in running analysis #3421
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Imagine the following directory structure
The psalm.xml looks like this:
The
dev-ops/.build
directory is intended to contain every temporary files that should not be versioned and are only used to be a file dump for caches and processing.Like this the cache directory is prepared in
.build/psalm/cachehash1234567890
but every cache writes intodev-ops/.build/psalm/cachehash1234567890
.This is due to the fact that the config prepares the cache folder before the working directory is later changed during processing
psalm/src/psalm.php
Lines 310 to 313 in 9aa4622
The solution is open to discussion as I am unsure whether it should be solved like this on the long run but it works out for me not creating an empty directory at a location it should not write to.