{"action":"opened","issue":{"url":"https://api.github.com/repos/gradle/gradle-native/issues/458","repository_url":"https://api.github.com/repos/gradle/gradle-native","labels_url":"https://api.github.com/repos/gradle/gradle-native/issues/458/labels{/name}","comments_url":"https://api.github.com/repos/gradle/gradle-native/issues/458/comments","events_url":"https://api.github.com/repos/gradle/gradle-native/issues/458/events","html_url":"https://github.com/gradle/gradle-native/issues/458","id":297615811,"number":458,"title":"Create tasks for a binary lazily or do not use `Provider` as the return type on task accessor methods","user":{"login":"adammurdoch","id":99316,"avatar_url":"https://avatars2.githubusercontent.com/u/99316?v=4","gravatar_id":"","url":"https://api.github.com/users/adammurdoch","html_url":"https://github.com/adammurdoch","followers_url":"https://api.github.com/users/adammurdoch/followers","following_url":"https://api.github.com/users/adammurdoch/following{/other_user}","gists_url":"https://api.github.com/users/adammurdoch/gists{/gist_id}","starred_url":"https://api.github.com/users/adammurdoch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adammurdoch/subscriptions","organizations_url":"https://api.github.com/users/adammurdoch/orgs","repos_url":"https://api.github.com/users/adammurdoch/repos","events_url":"https://api.github.com/users/adammurdoch/events{/privacy}","received_events_url":"https://api.github.com/users/adammurdoch/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-15T22:14:38Z","updated_at":"2018-02-15T22:14:38Z","closed_at":null,"author_association":"OWNER","body":"Currently, the tasks attached to a binary are exposed using query methods with return type `Provider<T>`. These tasks are created eagerly, so that calls to `get()` on these methods never fail and the return value never changes. This is basically the worst of all worlds, as it would be a breaking change to make the creation of the tasks lazy _plus_ there's extra ceremony that configuration code needs to use for no reason. We should either defer creation, so that configuration code needs to deal with the fact that these tasks are lazily created, or change these query methods to return the task instance rather than a provider."}}
{"actor":{"display_login":"adammurdoch"}}