{"action":"opened","issue":{"url":"https://api.github.com/repos/gradle/gradle-native/issues/475","repository_url":"https://api.github.com/repos/gradle/gradle-native","labels_url":"https://api.github.com/repos/gradle/gradle-native/issues/475/labels{/name}","comments_url":"https://api.github.com/repos/gradle/gradle-native/issues/475/comments","events_url":"https://api.github.com/repos/gradle/gradle-native/issues/475/events","html_url":"https://github.com/gradle/gradle-native/issues/475","id":298121886,"number":475,"title":"Cryptic error message when component depends on another project that produces no binaries","user":{"login":"big-guy","id":5387972,"avatar_url":"https://avatars0.githubusercontent.com/u/5387972?v=4","gravatar_id":"","url":"https://api.github.com/users/big-guy","html_url":"https://github.com/big-guy","followers_url":"https://api.github.com/users/big-guy/followers","following_url":"https://api.github.com/users/big-guy/following{/other_user}","gists_url":"https://api.github.com/users/big-guy/gists{/gist_id}","starred_url":"https://api.github.com/users/big-guy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/big-guy/subscriptions","organizations_url":"https://api.github.com/users/big-guy/orgs","repos_url":"https://api.github.com/users/big-guy/repos","events_url":"https://api.github.com/users/big-guy/events{/privacy}","received_events_url":"https://api.github.com/users/big-guy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-18T21:54:00Z","updated_at":"2018-02-18T21:54:00Z","closed_at":null,"author_association":"MEMBER","body":"I modified the [operating-system-specific-dependencies sample](https://github.com/gradle/native-samples/tree/master/cpp/operating-system-specific-dependencies) to define `operatingSystem` for `ansiConsole` to be Linux and macOS and `winConsole` to be Windows.\r\n\r\nI then modified `app` to incorrectly depend on `winConsole` for all variants and tried to build (on macOS).  I expected this to fail during configuration/task graph calculation, but the message is very cryptic.\r\n\r\nThere are a few reasons this is cryptic:\r\n- the `winConsole` project only creates a single configuration (for API headers).  No other binaries or configurations are created.\r\n- the `app` project depends on a shared library, so the `winConsole` dependency is only needed for compilation (which works) and installation.  The link task doesn't need anything from `winConsole`.\r\n- the failure occurs while trying to get the dependencies for installation and lists the only available configuration (API headers)\r\n\r\nError below:\r\n```\r\n* What went wrong:\r\nCould not determine the dependencies of task ':app:installDebugMacos'.\r\n> Could not resolve all task dependencies for configuration ':app:nativeRuntimeDebugMacos'.\r\n   > Could not resolve project :winConsole.\r\n     Required by:\r\n         project :app\r\n      > Unable to find a matching configuration of project :winConsole: Configuration 'cppApiElements':\r\n          - Required org.gradle.native.debuggable 'true' but no value provided.\r\n          - Required org.gradle.native.operatingSystem 'macos' but no value provided.\r\n          - Required org.gradle.native.optimized 'false' but no value provided.\r\n          - Required org.gradle.usage 'native-runtime' and found incompatible value 'cplusplus-api'.\r\n```"}}
{"actor":{"display_login":"big-guy"}}