`conandata.yml` only contains the `version` and `download_url` use the conanfile.py to enhance the package metadata.
(
cls, package_data, resource, codebase, package_adder=models.add_to_package
)
| 218 | |
| 219 | @classmethod |
| 220 | def assemble( |
| 221 | cls, package_data, resource, codebase, package_adder=models.add_to_package |
| 222 | ): |
| 223 | """ |
| 224 | `conandata.yml` only contains the `version` and `download_url` use the conanfile.py |
| 225 | to enhance the package metadata. |
| 226 | """ |
| 227 | siblings = resource.siblings(codebase) |
| 228 | conanfile_package_resource = [r for r in siblings if r.name == "conanfile.py"] |
| 229 | package_data_dict = package_data.to_dict() |
| 230 | |
| 231 | if conanfile_package_resource: |
| 232 | conanfile_package_resource = conanfile_package_resource[0] |
| 233 | |
| 234 | conanfile_package_data = conanfile_package_resource.package_data |
| 235 | if conanfile_package_data: |
| 236 | conanfile_package_data = conanfile_package_data[0] |
| 237 | |
| 238 | package_data_dict["name"] = conanfile_package_data.get("name") |
| 239 | package_data_dict["description"] = conanfile_package_data.get( |
| 240 | "description" |
| 241 | ) |
| 242 | package_data_dict["homepage_url"] = conanfile_package_data.get( |
| 243 | "homepage_url" |
| 244 | ) |
| 245 | package_data_dict["keywords"] = conanfile_package_data.get("keywords") |
| 246 | package_data_dict[ |
| 247 | "extracted_license_statement" |
| 248 | ] = conanfile_package_data.get("extracted_license_statement") |
| 249 | |
| 250 | datafile_path = resource.path |
| 251 | pkg_data = models.PackageData.from_data(package_data_dict) |
| 252 | |
| 253 | if pkg_data.purl: |
| 254 | package = models.Package.from_package_data( |
| 255 | package_data=pkg_data, |
| 256 | datafile_path=datafile_path, |
| 257 | ) |
| 258 | package.datafile_paths.append(conanfile_package_resource.path) |
| 259 | package.datasource_ids.append(ConanFileHandler.datasource_id) |
| 260 | |
| 261 | package.populate_license_fields() |
| 262 | yield package |
| 263 | |
| 264 | cls.assign_package_to_resources( |
| 265 | package=package, |
| 266 | resource=resource, |
| 267 | codebase=codebase, |
| 268 | package_adder=package_adder, |
| 269 | ) |
| 270 | yield resource |
| 271 | |
| 272 | |
| 273 | def is_constraint_pinned(constraint): |
nothing calls this directly
no test coverage detected