{"action":"created","comment":{"url":"https://api.github.com/repos/f2prateek/dart/pulls/comments/154453795","pull_request_review_id":80627341,"id":154453795,"diff_hunk":"@@ -0,0 +1,65 @@\n+apply plugin: 'groovy'\n+apply plugin: 'java-gradle-plugin'\n+\n+\n+sourceSets {\n+    functionalTest {\n+        groovy.srcDir file('src/functTest/groovy')\n+        resources.srcDir file('src/functTest/resources')\n+        compileClasspath += sourceSets.main.output + configurations.testRuntime\n+        runtimeClasspath += output + compileClasspath\n+    }\n+}\n+\n+gradlePlugin {\n+    plugins {\n+        hensonPlugin {\n+            id = 'dart.henson-plugin'\n+            implementationClass = 'dart.henson.plugin.HensonPlugin'\n+        }\n+    }\n+    testSourceSets sourceSets.functionalTest\n+}\n+\n+task functionalTest(type: Test) {\n+    description = 'Runs the functional tests.'\n+    group = 'verification'\n+    testClassesDirs = sourceSets.functionalTest.output.classesDirs\n+    classpath = sourceSets.functionalTest.runtimeClasspath\n+    mustRunAfter test\n+}\n+\n+check.dependsOn functionalTest\n+\n+project.afterEvaluate {\n+    tasks.getByName('compileGroovy').doFirst {\n+        //we create a file in the plugin project containing the current project version\n+        //it will be used later by the plugin to add the proper version of\n+        //dependencies to the project that uses the plugin\n+        def prop = new Properties()\n+        def propFile = new File(\"${project.rootDir}/henson-plugin/src/main/resources/build.properties\")","path":"henson-plugin/build.gradle","position":40,"original_position":40,"commit_id":"3d8d9faaba3ce161837ca2df00ab3fa9cd868d77","original_commit_id":"81237667b1a9b146fe6e2f46ef2f08c361fb0b1a","user":{"login":"kshirsagarps","id":6295504,"avatar_url":"https://avatars1.githubusercontent.com/u/6295504?v=4","gravatar_id":"","url":"https://api.github.com/users/kshirsagarps","html_url":"https://github.com/kshirsagarps","followers_url":"https://api.github.com/users/kshirsagarps/followers","following_url":"https://api.github.com/users/kshirsagarps/following{/other_user}","gists_url":"https://api.github.com/users/kshirsagarps/gists{/gist_id}","starred_url":"https://api.github.com/users/kshirsagarps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kshirsagarps/subscriptions","organizations_url":"https://api.github.com/users/kshirsagarps/orgs","repos_url":"https://api.github.com/users/kshirsagarps/repos","events_url":"https://api.github.com/users/kshirsagarps/events{/privacy}","received_events_url":"https://api.github.com/users/kshirsagarps/received_events","type":"User","site_admin":false},"body":"Does the D&H version go here? If so, would be nice to use it for the composite builds needed for D&H sample.","created_at":"2017-12-01T21:34:27Z","updated_at":"2017-12-01T21:40:23Z","html_url":"https://github.com/f2prateek/dart/pull/185#discussion_r154453795","pull_request_url":"https://api.github.com/repos/f2prateek/dart/pulls/185","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/f2prateek/dart/pulls/comments/154453795"},"html":{"href":"https://github.com/f2prateek/dart/pull/185#discussion_r154453795"},"pull_request":{"href":"https://api.github.com/repos/f2prateek/dart/pulls/185"}}},"pull_request":{"url":"https://api.github.com/repos/f2prateek/dart/pulls/185","id":154296054,"html_url":"https://github.com/f2prateek/dart/pull/185","diff_url":"https://github.com/f2prateek/dart/pull/185.diff","patch_url":"https://github.com/f2prateek/dart/pull/185.patch","issue_url":"https://api.github.com/repos/f2prateek/dart/issues/185","number":185,"state":"open","locked":false,"title":"create henson plugin","user":{"login":"stephanenicolas","id":1832925,"avatar_url":"https://avatars3.githubusercontent.com/u/1832925?v=4","gravatar_id":"","url":"https://api.github.com/users/stephanenicolas","html_url":"https://github.com/stephanenicolas","followers_url":"https://api.github.com/users/stephanenicolas/followers","following_url":"https://api.github.com/users/stephanenicolas/following{/other_user}","gists_url":"https://api.github.com/users/stephanenicolas/gists{/gist_id}","starred_url":"https://api.github.com/users/stephanenicolas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephanenicolas/subscriptions","organizations_url":"https://api.github.com/users/stephanenicolas/orgs","repos_url":"https://api.github.com/users/stephanenicolas/repos","events_url":"https://api.github.com/users/stephanenicolas/events{/privacy}","received_events_url":"https://api.github.com/users/stephanenicolas/received_events","type":"User","site_admin":false},"body":"#164 : this is the first PR to create the henson-plugin: it should work. There is a functional test, but really not so precise yet.\r\n\r\nThe plugin allows to add a new source set that will contain the models for dart&henson 3 navigation.\r\n\r\nThe navigation source set is located in 'src/navigation/java/'.\r\nEach build type, flavor and variant can use a specific navigation source set. The source set should contain models only and will be processed by the dart & henson APs. It will expose a `navigationApi` configuration for a module using the plugin. This artifact will be a jar containing intent builders and the henson class, the extra binder, and the model class itself.\r\n\r\nThe plugin also adds automatically the navigation jar to the dependencies of the main source set.\r\n\r\nSee https://github.groupondev.com/snicolas/Henson_structure for an example\r\n\r\nThe plugin also manages the dependencies to dart, using the right annotation processors on the new navigation source set. The only things users have to do are : \r\n* to use the plugin\r\n* create the directory folder `src/navigation/java` (or any variant aware equivalent such as `src/navigation/red/java` or `src/navigation/debug/java` or `src/navigation/red/debug/java`.\r\n* create a model, annotate it\r\n* add if needed dependencies to compile their model using configurations such as `navigationApi`, `redNavigationApi`, `debugNavigationApi`, `redDebugNavigationApi`. All android scopes are supported: Api, Implementation, compileOnly and annotationProcessor.\r\n\r\nThe plugin is roughly unit tested for now.","created_at":"2017-11-23T04:03:49Z","updated_at":"2017-12-01T21:40:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1b4255c72ec77f66fe2d386bb82728e54e4351ca","assignee":null,"assignees":[],"requested_reviewers":[{"login":"f2prateek","id":843979,"avatar_url":"https://avatars2.githubusercontent.com/u/843979?v=4","gravatar_id":"","url":"https://api.github.com/users/f2prateek","html_url":"https://github.com/f2prateek","followers_url":"https://api.github.com/users/f2prateek/followers","following_url":"https://api.github.com/users/f2prateek/following{/other_user}","gists_url":"https://api.github.com/users/f2prateek/gists{/gist_id}","starred_url":"https://api.github.com/users/f2prateek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/f2prateek/subscriptions","organizations_url":"https://api.github.com/users/f2prateek/orgs","repos_url":"https://api.github.com/users/f2prateek/repos","events_url":"https://api.github.com/users/f2prateek/events{/privacy}","received_events_url":"https://api.github.com/users/f2prateek/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/f2prateek/dart/milestones/5","html_url":"https://github.com/f2prateek/dart/milestone/5","labels_url":"https://api.github.com/repos/f2prateek/dart/milestones/5/labels","id":2828185,"number":5,"title":"3.0.0","description":null,"creator":{"login":"stephanenicolas","id":1832925,"avatar_url":"https://avatars3.githubusercontent.com/u/1832925?v=4","gravatar_id":"","url":"https://api.github.com/users/stephanenicolas","html_url":"https://github.com/stephanenicolas","followers_url":"https://api.github.com/users/stephanenicolas/followers","following_url":"https://api.github.com/users/stephanenicolas/following{/other_user}","gists_url":"https://api.github.com/users/stephanenicolas/gists{/gist_id}","starred_url":"https://api.github.com/users/stephanenicolas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephanenicolas/subscriptions","organizations_url":"https://api.github.com/users/stephanenicolas/orgs","repos_url":"https://api.github.com/users/stephanenicolas/repos","events_url":"https://api.github.com/users/stephanenicolas/events{/privacy}","received_events_url":"https://api.github.com/users/stephanenicolas/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":9,"state":"open","created_at":"2017-10-10T17:16:08Z","updated_at":"2017-11-29T21:27:51Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/f2prateek/dart/pulls/185/commits","review_comments_url":"https://api.github.com/repos/f2prateek/dart/pulls/185/comments","review_comment_url":"https://api.github.com/repos/f2prateek/dart/pulls/comments{/number}","comments_url":"https://api.github.com/repos/f2prateek/dart/issues/185/comments","statuses_url":"https://api.github.com/repos/f2prateek/dart/statuses/3d8d9faaba3ce161837ca2df00ab3fa9cd868d77","head":{"label":"stephanenicolas:sni/create-henson-plugin","ref":"sni/create-henson-plugin","sha":"3d8d9faaba3ce161837ca2df00ab3fa9cd868d77","user":{"login":"stephanenicolas","id":1832925,"avatar_url":"https://avatars3.githubusercontent.com/u/1832925?v=4","gravatar_id":"","url":"https://api.github.com/users/stephanenicolas","html_url":"https://github.com/stephanenicolas","followers_url":"https://api.github.com/users/stephanenicolas/followers","following_url":"https://api.github.com/users/stephanenicolas/following{/other_user}","gists_url":"https://api.github.com/users/stephanenicolas/gists{/gist_id}","starred_url":"https://api.github.com/users/stephanenicolas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephanenicolas/subscriptions","organizations_url":"https://api.github.com/users/stephanenicolas/orgs","repos_url":"https://api.github.com/users/stephanenicolas/repos","events_url":"https://api.github.com/users/stephanenicolas/events{/privacy}","received_events_url":"https://api.github.com/users/stephanenicolas/received_events","type":"User","site_admin":false},"repo":{"id":31781527,"name":"dart","full_name":"stephanenicolas/dart","owner":{"login":"stephanenicolas","id":1832925,"avatar_url":"https://avatars3.githubusercontent.com/u/1832925?v=4","gravatar_id":"","url":"https://api.github.com/users/stephanenicolas","html_url":"https://github.com/stephanenicolas","followers_url":"https://api.github.com/users/stephanenicolas/followers","following_url":"https://api.github.com/users/stephanenicolas/following{/other_user}","gists_url":"https://api.github.com/users/stephanenicolas/gists{/gist_id}","starred_url":"https://api.github.com/users/stephanenicolas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephanenicolas/subscriptions","organizations_url":"https://api.github.com/users/stephanenicolas/orgs","repos_url":"https://api.github.com/users/stephanenicolas/repos","events_url":"https://api.github.com/users/stephanenicolas/events{/privacy}","received_events_url":"https://api.github.com/users/stephanenicolas/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/stephanenicolas/dart","description":"Extras \"injection\" library for Android.","fork":true,"url":"https://api.github.com/repos/stephanenicolas/dart","forks_url":"https://api.github.com/repos/stephanenicolas/dart/forks","keys_url":"https://api.github.com/repos/stephanenicolas/dart/keys{/key_id}","collaborators_url":"https://api.github.com/repos/stephanenicolas/dart/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/stephanenicolas/dart/teams","hooks_url":"https://api.github.com/repos/stephanenicolas/dart/hooks","issue_events_url":"https://api.github.com/repos/stephanenicolas/dart/issues/events{/number}","events_url":"https://api.github.com/repos/stephanenicolas/dart/events","assignees_url":"https://api.github.com/repos/stephanenicolas/dart/assignees{/user}","branches_url":"https://api.github.com/repos/stephanenicolas/dart/branches{/branch}","tags_url":"https://api.github.com/repos/stephanenicolas/dart/tags","blobs_url":"https://api.github.com/repos/stephanenicolas/dart/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/stephanenicolas/dart/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/stephanenicolas/dart/git/refs{/sha}","trees_url":"https://api.github.com/repos/stephanenicolas/dart/git/trees{/sha}","statuses_url":"https://api.github.com/repos/stephanenicolas/dart/statuses/{sha}","languages_url":"https://api.github.com/repos/stephanenicolas/dart/languages","stargazers_url":"https://api.github.com/repos/stephanenicolas/dart/stargazers","contributors_url":"https://api.github.com/repos/stephanenicolas/dart/contributors","subscribers_url":"https://api.github.com/repos/stephanenicolas/dart/subscribers","subscription_url":"https://api.github.com/repos/stephanenicolas/dart/subscription","commits_url":"https://api.github.com/repos/stephanenicolas/dart/commits{/sha}","git_commits_url":"https://api.github.com/repos/stephanenicolas/dart/git/commits{/sha}","comments_url":"https://api.github.com/repos/stephanenicolas/dart/comments{/number}","issue_comment_url":"https://api.github.com/repos/stephanenicolas/dart/issues/comments{/number}","contents_url":"https://api.github.com/repos/stephanenicolas/dart/contents/{+path}","compare_url":"https://api.github.com/repos/stephanenicolas/dart/compare/{base}...{head}","merges_url":"https://api.github.com/repos/stephanenicolas/dart/merges","archive_url":"https://api.github.com/repos/stephanenicolas/dart/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/stephanenicolas/dart/downloads","issues_url":"https://api.github.com/repos/stephanenicolas/dart/issues{/number}","pulls_url":"https://api.github.com/repos/stephanenicolas/dart/pulls{/number}","milestones_url":"https://api.github.com/repos/stephanenicolas/dart/milestones{/number}","notifications_url":"https://api.github.com/repos/stephanenicolas/dart/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/stephanenicolas/dart/labels{/name}","releases_url":"https://api.github.com/repos/stephanenicolas/dart/releases{/id}","deployments_url":"https://api.github.com/repos/stephanenicolas/dart/deployments","created_at":"2015-03-06T17:53:05Z","updated_at":"2015-03-06T19:58:56Z","pushed_at":"2017-12-01T18:19:31Z","git_url":"git://github.com/stephanenicolas/dart.git","ssh_url":"git@github.com:stephanenicolas/dart.git","clone_url":"https://github.com/stephanenicolas/dart.git","svn_url":"https://github.com/stephanenicolas/dart","homepage":"http://f2prateek.com/blog/2014/01/10/injecting-extras-with-dart/","size":1036,"stargazers_count":1,"watchers_count":1,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"f2prateek:master","ref":"master","sha":"2699bf530c79ea42ebc4b633edd29a6bdc65ba26","user":{"login":"f2prateek","id":843979,"avatar_url":"https://avatars2.githubusercontent.com/u/843979?v=4","gravatar_id":"","url":"https://api.github.com/users/f2prateek","html_url":"https://github.com/f2prateek","followers_url":"https://api.github.com/users/f2prateek/followers","following_url":"https://api.github.com/users/f2prateek/following{/other_user}","gists_url":"https://api.github.com/users/f2prateek/gists{/gist_id}","starred_url":"https://api.github.com/users/f2prateek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/f2prateek/subscriptions","organizations_url":"https://api.github.com/users/f2prateek/orgs","repos_url":"https://api.github.com/users/f2prateek/repos","events_url":"https://api.github.com/users/f2prateek/events{/privacy}","received_events_url":"https://api.github.com/users/f2prateek/received_events","type":"User","site_admin":false},"repo":{"id":15784931,"name":"dart","full_name":"f2prateek/dart","owner":{"login":"f2prateek","id":843979,"avatar_url":"https://avatars2.githubusercontent.com/u/843979?v=4","gravatar_id":"","url":"https://api.github.com/users/f2prateek","html_url":"https://github.com/f2prateek","followers_url":"https://api.github.com/users/f2prateek/followers","following_url":"https://api.github.com/users/f2prateek/following{/other_user}","gists_url":"https://api.github.com/users/f2prateek/gists{/gist_id}","starred_url":"https://api.github.com/users/f2prateek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/f2prateek/subscriptions","organizations_url":"https://api.github.com/users/f2prateek/orgs","repos_url":"https://api.github.com/users/f2prateek/repos","events_url":"https://api.github.com/users/f2prateek/events{/privacy}","received_events_url":"https://api.github.com/users/f2prateek/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/f2prateek/dart","description":"Extras \"injection\" library for Android.","fork":false,"url":"https://api.github.com/repos/f2prateek/dart","forks_url":"https://api.github.com/repos/f2prateek/dart/forks","keys_url":"https://api.github.com/repos/f2prateek/dart/keys{/key_id}","collaborators_url":"https://api.github.com/repos/f2prateek/dart/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/f2prateek/dart/teams","hooks_url":"https://api.github.com/repos/f2prateek/dart/hooks","issue_events_url":"https://api.github.com/repos/f2prateek/dart/issues/events{/number}","events_url":"https://api.github.com/repos/f2prateek/dart/events","assignees_url":"https://api.github.com/repos/f2prateek/dart/assignees{/user}","branches_url":"https://api.github.com/repos/f2prateek/dart/branches{/branch}","tags_url":"https://api.github.com/repos/f2prateek/dart/tags","blobs_url":"https://api.github.com/repos/f2prateek/dart/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/f2prateek/dart/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/f2prateek/dart/git/refs{/sha}","trees_url":"https://api.github.com/repos/f2prateek/dart/git/trees{/sha}","statuses_url":"https://api.github.com/repos/f2prateek/dart/statuses/{sha}","languages_url":"https://api.github.com/repos/f2prateek/dart/languages","stargazers_url":"https://api.github.com/repos/f2prateek/dart/stargazers","contributors_url":"https://api.github.com/repos/f2prateek/dart/contributors","subscribers_url":"https://api.github.com/repos/f2prateek/dart/subscribers","subscription_url":"https://api.github.com/repos/f2prateek/dart/subscription","commits_url":"https://api.github.com/repos/f2prateek/dart/commits{/sha}","git_commits_url":"https://api.github.com/repos/f2prateek/dart/git/commits{/sha}","comments_url":"https://api.github.com/repos/f2prateek/dart/comments{/number}","issue_comment_url":"https://api.github.com/repos/f2prateek/dart/issues/comments{/number}","contents_url":"https://api.github.com/repos/f2prateek/dart/contents/{+path}","compare_url":"https://api.github.com/repos/f2prateek/dart/compare/{base}...{head}","merges_url":"https://api.github.com/repos/f2prateek/dart/merges","archive_url":"https://api.github.com/repos/f2prateek/dart/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/f2prateek/dart/downloads","issues_url":"https://api.github.com/repos/f2prateek/dart/issues{/number}","pulls_url":"https://api.github.com/repos/f2prateek/dart/pulls{/number}","milestones_url":"https://api.github.com/repos/f2prateek/dart/milestones{/number}","notifications_url":"https://api.github.com/repos/f2prateek/dart/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/f2prateek/dart/labels{/name}","releases_url":"https://api.github.com/repos/f2prateek/dart/releases{/id}","deployments_url":"https://api.github.com/repos/f2prateek/dart/deployments","created_at":"2014-01-10T01:19:49Z","updated_at":"2017-11-26T16:34:10Z","pushed_at":"2017-12-01T18:19:32Z","git_url":"git://github.com/f2prateek/dart.git","ssh_url":"git@github.com:f2prateek/dart.git","clone_url":"https://github.com/f2prateek/dart.git","svn_url":"https://github.com/f2prateek/dart","homepage":"","size":1073,"stargazers_count":1106,"watchers_count":1106,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":72,"mirror_url":null,"archived":false,"open_issues_count":36,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":72,"open_issues":36,"watchers":1106,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/f2prateek/dart/pulls/185"},"html":{"href":"https://github.com/f2prateek/dart/pull/185"},"issue":{"href":"https://api.github.com/repos/f2prateek/dart/issues/185"},"comments":{"href":"https://api.github.com/repos/f2prateek/dart/issues/185/comments"},"review_comments":{"href":"https://api.github.com/repos/f2prateek/dart/pulls/185/comments"},"review_comment":{"href":"https://api.github.com/repos/f2prateek/dart/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/f2prateek/dart/pulls/185/commits"},"statuses":{"href":"https://api.github.com/repos/f2prateek/dart/statuses/3d8d9faaba3ce161837ca2df00ab3fa9cd868d77"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"kshirsagarps"}}