spotify / XCRemoteCache

Other
827 stars 50 forks source link

Add irrelevant dependencies property #130

Closed polac24 closed 2 years ago

polac24 commented 2 years ago

Adding an extra .rcinfo property irrelevant_dependencies_paths that defines custom files that shouldn't be considered as target dependencies in meta (and thus fingerprint generation).

Finding a precise list of dependencies is crucial to obtain reliability with XCRemoteCache. In some cases, clang or swift compilers could include some excessive files (e.g. modulemap), even these files are not relevant to the compilation product. If an owner of the project knows with certainty that a given file(s) shouldn't be considered as a dependency, irrelevant_dependencies_paths could be helpful to get rid of these "virtual" dependencies. Note! As written in the docs - adding entries to irrelevant_dependencies_paths should be rare and an extensive consideration of potential repercussions/limitations should always be carried out.

This PR could be helpful to unblock #126.