Skip to content

[art:build-info] Include metadata files into build info#226

Open
danimtb wants to merge 6 commits intomainfrom
danimtb/bi-metadata
Open

[art:build-info] Include metadata files into build info#226
danimtb wants to merge 6 commits intomainfrom
danimtb/bi-metadata

Conversation

@danimtb
Copy link
Member

@danimtb danimtb commented Nov 27, 2025

closes #76
Tested with Artifactory as well

@danimtb danimtb requested a review from czoido November 27, 2025 11:52
@danimtb danimtb marked this pull request as ready for review December 1, 2025 09:42
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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make sure buildInfo support new metadata files

3 participants