3a5ffe479e
* Register project structure metadata providers globally, so included builds can access it from the root build. * Rework some dependency management logic so that it doesn't assume that dependencies resolved to projects are safe to access – it is so only if the project is in the same build; also, in dependency handling, use proper keys which distinguish project with same ID in different builds. * Add a separate implementation of `MppDependencyMetadataExtractor` that reads the project structure metadata from the mentioned global storage (as we can't read it from artifacts – those are not yet build at the project configuration phase) but when it comes to artifacts processing, takes real artifacts rather than introspect the project structure. * Register the Kotlin/Native host-specific metadata artifact configurations as consumable, so that a consumer from a different build can properly resolve a dependency to such a configuration and get the artifact.