{"action":"created","issue":{"url":"https://api.github.com/repos/gradle/kotlin-dsl/issues/343","repository_url":"https://api.github.com/repos/gradle/kotlin-dsl","labels_url":"https://api.github.com/repos/gradle/kotlin-dsl/issues/343/labels{/name}","comments_url":"https://api.github.com/repos/gradle/kotlin-dsl/issues/343/comments","events_url":"https://api.github.com/repos/gradle/kotlin-dsl/issues/343/events","html_url":"https://github.com/gradle/kotlin-dsl/issues/343","id":224175617,"number":343,"title":"Provide convenient configuration for SourceSet extensions and conventions","user":{"login":"eskatos","id":132773,"avatar_url":"https://avatars3.githubusercontent.com/u/132773?v=4","gravatar_id":"","url":"https://api.github.com/users/eskatos","html_url":"https://github.com/eskatos","followers_url":"https://api.github.com/users/eskatos/followers","following_url":"https://api.github.com/users/eskatos/following{/other_user}","gists_url":"https://api.github.com/users/eskatos/gists{/gist_id}","starred_url":"https://api.github.com/users/eskatos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eskatos/subscriptions","organizations_url":"https://api.github.com/users/eskatos/orgs","repos_url":"https://api.github.com/users/eskatos/repos","events_url":"https://api.github.com/users/eskatos/events{/privacy}","received_events_url":"https://api.github.com/users/eskatos/received_events","type":"User","site_admin":false},"labels":[{"id":385108493,"url":"https://api.github.com/repos/gradle/kotlin-dsl/labels/a:feature","name":"a:feature","color":"0e8a16","default":false},{"id":385184095,"url":"https://api.github.com/repos/gradle/kotlin-dsl/labels/in:gradle-api","name":"in:gradle-api","color":"c2e0c6","default":false},{"id":385177178,"url":"https://api.github.com/repos/gradle/kotlin-dsl/labels/in:kotlin-dsl-api","name":"in:kotlin-dsl-api","color":"c5def5","default":false},{"id":385246361,"url":"https://api.github.com/repos/gradle/kotlin-dsl/labels/re:ease-of-use","name":"re:ease-of-use","color":"ffffff","default":false},{"id":385246404,"url":"https://api.github.com/repos/gradle/kotlin-dsl/labels/re:groovy-parity","name":"re:groovy-parity","color":"ffffff","default":false}],"state":"open","locked":false,"assignee":{"login":"eskatos","id":132773,"avatar_url":"https://avatars3.githubusercontent.com/u/132773?v=4","gravatar_id":"","url":"https://api.github.com/users/eskatos","html_url":"https://github.com/eskatos","followers_url":"https://api.github.com/users/eskatos/followers","following_url":"https://api.github.com/users/eskatos/following{/other_user}","gists_url":"https://api.github.com/users/eskatos/gists{/gist_id}","starred_url":"https://api.github.com/users/eskatos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eskatos/subscriptions","organizations_url":"https://api.github.com/users/eskatos/orgs","repos_url":"https://api.github.com/users/eskatos/repos","events_url":"https://api.github.com/users/eskatos/events{/privacy}","received_events_url":"https://api.github.com/users/eskatos/received_events","type":"User","site_admin":false},"assignees":[{"login":"eskatos","id":132773,"avatar_url":"https://avatars3.githubusercontent.com/u/132773?v=4","gravatar_id":"","url":"https://api.github.com/users/eskatos","html_url":"https://github.com/eskatos","followers_url":"https://api.github.com/users/eskatos/followers","following_url":"https://api.github.com/users/eskatos/following{/other_user}","gists_url":"https://api.github.com/users/eskatos/gists{/gist_id}","starred_url":"https://api.github.com/users/eskatos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eskatos/subscriptions","organizations_url":"https://api.github.com/users/eskatos/orgs","repos_url":"https://api.github.com/users/eskatos/repos","events_url":"https://api.github.com/users/eskatos/events{/privacy}","received_events_url":"https://api.github.com/users/eskatos/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/gradle/kotlin-dsl/milestones/33","html_url":"https://github.com/gradle/kotlin-dsl/milestone/33","labels_url":"https://api.github.com/repos/gradle/kotlin-dsl/milestones/33/labels","id":3103136,"number":33,"title":"0.17.x","description":"Accessors all the way down!","creator":{"login":"bamboo","id":51689,"avatar_url":"https://avatars1.githubusercontent.com/u/51689?v=4","gravatar_id":"","url":"https://api.github.com/users/bamboo","html_url":"https://github.com/bamboo","followers_url":"https://api.github.com/users/bamboo/followers","following_url":"https://api.github.com/users/bamboo/following{/other_user}","gists_url":"https://api.github.com/users/bamboo/gists{/gist_id}","starred_url":"https://api.github.com/users/bamboo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bamboo/subscriptions","organizations_url":"https://api.github.com/users/bamboo/orgs","repos_url":"https://api.github.com/users/bamboo/repos","events_url":"https://api.github.com/users/bamboo/events{/privacy}","received_events_url":"https://api.github.com/users/bamboo/received_events","type":"User","site_admin":false},"open_issues":17,"closed_issues":20,"state":"open","created_at":"2018-02-09T16:43:08Z","updated_at":"2018-04-28T19:28:29Z","due_on":"2018-05-11T07:00:00Z","closed_at":null},"comments":8,"created_at":"2017-04-25T15:19:25Z","updated_at":"2018-04-30T08:47:25Z","closed_at":null,"author_association":"MEMBER","body":"One frequent example is configuring source set directories.\r\n\r\nIn Groovy:\r\n```groovy\r\nsourceSets.main.kotlin.srcDirs += 'src/main/myKotlin'\r\n```\r\n\r\nIn Kotlin today:\r\n```kotlin\r\njava.sourceSets[\"main\"].withConvention(KotlinSourceSet::class) {\r\n    kotlin.srcDir(file(\"src/main/myKotlin\"))\r\n}\r\n\r\n```\r\n\r\nDesired solution:\r\n```kotlin\r\njava.sourceSets[\"main\"].kotlin {\r\n    kotlin.srcDirs += file(\"src/main/myKotlin\")\r\n}\r\n```\r\n\r\nAlternate (working) solution:\r\n```kotlin\r\nval kotlin: KotlinSourceSet by java.sourceSets[\"main\"].extensions\r\nkotlin.kotlin.srcDirs += file(\"src/main/myKotlin\")\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/gradle/kotlin-dsl/issues/comments/385342030","html_url":"https://github.com/gradle/kotlin-dsl/issues/343#issuecomment-385342030","issue_url":"https://api.github.com/repos/gradle/kotlin-dsl/issues/343","id":385342030,"user":{"login":"eskatos","id":132773,"avatar_url":"https://avatars3.githubusercontent.com/u/132773?v=4","gravatar_id":"","url":"https://api.github.com/users/eskatos","html_url":"https://github.com/eskatos","followers_url":"https://api.github.com/users/eskatos/followers","following_url":"https://api.github.com/users/eskatos/following{/other_user}","gists_url":"https://api.github.com/users/eskatos/gists{/gist_id}","starred_url":"https://api.github.com/users/eskatos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eskatos/subscriptions","organizations_url":"https://api.github.com/users/eskatos/orgs","repos_url":"https://api.github.com/users/eskatos/repos","events_url":"https://api.github.com/users/eskatos/events{/privacy}","received_events_url":"https://api.github.com/users/eskatos/received_events","type":"User","site_admin":false},"created_at":"2018-04-30T08:47:25Z","updated_at":"2018-04-30T08:47:25Z","author_association":"MEMBER","body":"One thing to note is that most extensions of `SourceSet`s are done via the convention mechanism Today, exposing the convention implementation type."}}
{"actor":{"display_login":"eskatos"}}