{"action":"created","issue":{"url":"https://api.github.com/repos/JakeWharton/RxBinding/issues/69","labels_url":"https://api.github.com/repos/JakeWharton/RxBinding/issues/69/labels{/name}","comments_url":"https://api.github.com/repos/JakeWharton/RxBinding/issues/69/comments","events_url":"https://api.github.com/repos/JakeWharton/RxBinding/issues/69/events","html_url":"https://github.com/JakeWharton/RxBinding/pull/69","id":99400398,"number":69,"title":"Kotlingen","user":{"login":"hzsweers","id":1361086,"avatar_url":"https://avatars.githubusercontent.com/u/1361086?v=3","gravatar_id":"","url":"https://api.github.com/users/hzsweers","html_url":"https://github.com/hzsweers","followers_url":"https://api.github.com/users/hzsweers/followers","following_url":"https://api.github.com/users/hzsweers/following{/other_user}","gists_url":"https://api.github.com/users/hzsweers/gists{/gist_id}","starred_url":"https://api.github.com/users/hzsweers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hzsweers/subscriptions","organizations_url":"https://api.github.com/users/hzsweers/orgs","repos_url":"https://api.github.com/users/hzsweers/repos","events_url":"https://api.github.com/users/hzsweers/events{/privacy}","received_events_url":"https://api.github.com/users/hzsweers/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-08-06T09:55:34Z","updated_at":"2015-08-06T09:56:49Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/JakeWharton/RxBinding/pulls/69","html_url":"https://github.com/JakeWharton/RxBinding/pull/69","diff_url":"https://github.com/JakeWharton/RxBinding/pull/69.diff","patch_url":"https://github.com/JakeWharton/RxBinding/pull/69.patch"},"body":"This implements a local gradle plugin for generating the Kotlin bindings with the help of JavaParser!\r\n\r\nFor each module where it's applied, a `generateKotlinFor<module name>` task is created. It doesn't run automatically, and instead can be run by calling it directly.\r\n\r\nUnder the hood, it works by gathering the source files (with some filtering), pumping them through Javaparser, extracting the pertinent info into `KClass` and `KMethod` instances, and finally using them to generate corresponding Kotlin files.\r\n\r\nIt works for the current implementations, and should be relatively robust for future changes. That said, it's not perfect and will undoubtedly need tuning up here and there in the future as new use cases come along.\r\n\r\nThe actual generation-to-output-file stuff is probably really inefficient, so definitely looking for feedback on how to improve that.\r\n\r\nResolves #39"},"comment":{"url":"https://api.github.com/repos/JakeWharton/RxBinding/issues/comments/128312564","html_url":"https://github.com/JakeWharton/RxBinding/pull/69#issuecomment-128312564","issue_url":"https://api.github.com/repos/JakeWharton/RxBinding/issues/69","id":128312564,"user":{"login":"hzsweers","id":1361086,"avatar_url":"https://avatars.githubusercontent.com/u/1361086?v=3","gravatar_id":"","url":"https://api.github.com/users/hzsweers","html_url":"https://github.com/hzsweers","followers_url":"https://api.github.com/users/hzsweers/followers","following_url":"https://api.github.com/users/hzsweers/following{/other_user}","gists_url":"https://api.github.com/users/hzsweers/gists{/gist_id}","starred_url":"https://api.github.com/users/hzsweers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hzsweers/subscriptions","organizations_url":"https://api.github.com/users/hzsweers/orgs","repos_url":"https://api.github.com/users/hzsweers/repos","events_url":"https://api.github.com/users/hzsweers/events{/privacy}","received_events_url":"https://api.github.com/users/hzsweers/received_events","type":"User","site_admin":false},"created_at":"2015-08-06T09:56:49Z","updated_at":"2015-08-06T09:56:49Z","body":"Minor caveat about the kotlin docs that are carried over. Often times, the javadoc will reference the \"view\" passed in as a param, but these params don't exist in the kotlin bindings since they're extensions directly on the class. Not sure how to elegantly handle that. Remove them? Call them \"this\" instead?"}}