[art:build-info] Include metadata files into build info#226
[art:build-info] Include metadata files into build info#226
Conversation
| metadata_folder_files = [file for file in metadata_folder.rglob("*") if file.is_file()] | ||
| artifacts_folder_files = [file for file in artifacts_folder.glob("*") if file.name in artifacts_names] | ||
| all_files = dl_folder_files + artifacts_folder_files | ||
| all_files = dl_folder_files + metadata_folder_files + artifacts_folder_files |
There was a problem hiding this comment.
I think it would be cleaner to separate processing of metadata files from other files? then you don't have to do the if "metadata" in file_path.parts: later that may lead to false positives
There was a problem hiding this comment.
There is another aspect to consider with metadata files. The correspondence between Conan cache and server is not guaranteed. While it is guaranteed for package files, like headers and libs, which are guaranteed to be identical in Conan cache and server for the same revision, this is not the case for metadata files.
The server can have metadata files that are not in the client side. This is often the case for dependencies that are installed from the server, because metadata files are not installed by default. And that is an example, but there could be more.
There was a problem hiding this comment.
@czoido, I have separated the logic for regular artifacts and metadata ones, so it is clearer in the code.
@memsharded, regarding those cases, I understand that metadata files are not downloaded on install and that there might be differences between the server and client. However, the first step is to support metadata files on the package that is being built locally, and we have the information in the local cache. Right now, we only check Artifactory for possible Conan sources that might be missing, so we could include the metadata folder there as well.
closes #76
Tested with Artifactory as well