{"action":"created","comment":{"url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/pulls/comments/22858245","id":22858245,"diff_hunk":"@@ -0,0 +1,107 @@\n+require \"language/go\"\n+\n+class DockerMachine < Formula\n+  homepage \"https://github.com/docker/machine\"\n+  url \"https://github.com/docker/machine/archive/0.0.2.tar.gz\"\n+  sha1 \"adcc7128abdbaae60ba3c58d6485df939c7e5510\"\n+  head \"https://github.com/docker/machine.git\"\n+\n+  depends_on \"go\" => :build\n+  depends_on :hg => :build\n+\n+  go_resource \"github.com/Sirupsen/logrus\" do\n+    url \"https://github.com/Sirupsen/logrus.git\",\n+      :revision => \"d2f9ffa1d9cf25b25191b221229effac1b6de526\"\n+    sha1 \"6bea8782b80870e25c52f7b00bf979c5480bc389\"\n+  end\n+\n+  go_resource \"github.com/codegangsta/cli\" do\n+    url \"https://github.com/codegangsta/cli.git\",\n+      :revision => \"bf4a526f48af7badd25d2cb02d587e1b01be3b50\"\n+    sha1 \"e690eecdeacefa4d28a5c7530e528ed8bfe8d381\"\n+  end\n+\n+  go_resource \"github.com/docker/libtrust\" do\n+    url \"https://github.com/docker/libtrust.git\",\n+      :revision => \"1dc3c57f6be6c80ea80441e6fb11b320f6da8a6a\"\n+    sha1 \"7ecf67aeab864a54869b8f9b7da97e50d678d0f8\"\n+  end\n+\n+  go_resource \"github.com/smartystreets/go-aws-auth\" do\n+    url \"https://github.com/smartystreets/go-aws-auth.git\",\n+      :revision => \"1f0db8c0ee6362470abe06a94e3385927ed72a4b\"\n+    sha1 \"e3593081ca0a12ff968d06232256f9bb9e7fb0c0\"\n+  end\n+\n+  go_resource \"github.com/MSOpenTech/azure-sdk-for-go\" do\n+    url \"https://github.com/MSOpenTech/azure-sdk-for-go.git\",\n+      :revision => \"5c339391be6b347eccb2addcb779d38940db5b44\"\n+    sha1 \"13b94c4fd4c6ac8f6326c4c8d52268317625bb2b\"\n+  end\n+\n+  go_resource \"github.com/docker/docker\" do\n+    url \"https://github.com/docker/docker.git\",\n+      :revision => \"de9783980be2a7b3ca10eb8183ea5989acbd3e7e\"\n+    sha1 \"591c500625fbb426a041fdff045c2e4b9586c228\"\n+  end\n+\n+  go_resource \"code.google.com/p/goauth2\" do\n+    url \"https://code.google.com/p/goauth2\",\n+      :revision => \"afe77d958c70\", :using => :hg\n+  end\n+\n+  go_resource \"github.com/digitalocean/godo\" do\n+    url \"https://github.com/digitalocean/godo.git\",\n+      :revision => \"c467db591ad9218663c089428955f2fad88a0b57\"\n+    sha1 \"11398e6c2f7e906fa873ed4fc5a78c7600051157\"\n+  end\n+\n+  go_resource \"github.com/google/go-querystring\" do\n+    url \"https://github.com/google/go-querystring.git\",\n+      :revision => \"d8840cbb2baa915f4836edda4750050a2c0b7aea\"\n+    sha1 \"50f5d210a166c0d5208888669636225d56c94f47\"\n+  end\n+\n+  go_resource \"github.com/tent/http-link-go\" do\n+    url \"https://github.com/tent/http-link-go.git\",\n+      :revision => \"ac974c61c2f990f4115b119354b5e0b47550e888\"\n+    sha1 \"02c0cf2c1eabe256dfbfde5fa22016232125b148\"\n+  end\n+\n+  go_resource \"google.golang.org/api\" do\n+    url \"https://github.com/google/google-api-go-client.git\",\n+      :revision => \"aa91ac681e18e52b1a0dfe29b9d8354e88c0dcf5\"\n+    sha1 \"9ce4b47192ac50b1f05d242694a114f52f04f7e0\"\n+  end\n+\n+  go_resource \"github.com/vmware/govcloudair\" do\n+    url \"https://github.com/vmware/govcloudair.git\",\n+      :revision => \"9672590d5e5795b2d29fce97084fd5810665fc27\"\n+    sha1 \"542ed2cf2df456d2876010dc0cede0d50f185621\"\n+  end\n+\n+  go_resource \"github.com/mitchellh/go-homedir\" do\n+    url \"https://github.com/mitchellh/go-homedir.git\",\n+      :revision => \"7d2d8c8a4e078ce3c58736ab521a40b37a504c52\"\n+  end\n+\n+  def install\n+    ENV[\"GOPATH\"] = buildpath\n+    host = \"github.com\"\n+    org_name = \"docker\"\n+    repo_name = \"machine\"\n+\n+    mkdir_p buildpath/\"src/#{host}/#{org_name}\"\n+    ln_s buildpath, buildpath/\"src/#{host}/#{org_name}/#{repo_name}\"\n+\n+    Language::Go.stage_deps resources, buildpath/\"src\"\n+\n+    system \"go\", \"build\", \"-o\", name","path":"Formula/docker-machine.rb","position":99,"original_position":99,"commit_id":"a4c1b9c5e9f5b4b555afd01ff10182c8016b5c1d","original_commit_id":"a4c1b9c5e9f5b4b555afd01ff10182c8016b5c1d","user":{"login":"radeksimko","id":287584,"avatar_url":"https://avatars.githubusercontent.com/u/287584?v=3","gravatar_id":"","url":"https://api.github.com/users/radeksimko","html_url":"https://github.com/radeksimko","followers_url":"https://api.github.com/users/radeksimko/followers","following_url":"https://api.github.com/users/radeksimko/following{/other_user}","gists_url":"https://api.github.com/users/radeksimko/gists{/gist_id}","starred_url":"https://api.github.com/users/radeksimko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/radeksimko/subscriptions","organizations_url":"https://api.github.com/users/radeksimko/orgs","repos_url":"https://api.github.com/users/radeksimko/repos","events_url":"https://api.github.com/users/radeksimko/events{/privacy}","received_events_url":"https://api.github.com/users/radeksimko/received_events","type":"User","site_admin":false},"body":"@mikemcquaid ok, so do you want me to change the line to `system \"go\", \"build\", \"-o\", \"docker-machine\"`?","created_at":"2015-01-13T12:17:08Z","updated_at":"2015-01-13T12:17:08Z","html_url":"https://github.com/Homebrew/homebrew-devel-only/pull/6#discussion_r22858245","pull_request_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/pulls/6","_links":{"self":{"href":"https://api.github.com/repos/Homebrew/homebrew-devel-only/pulls/comments/22858245"},"html":{"href":"https://github.com/Homebrew/homebrew-devel-only/pull/6#discussion_r22858245"},"pull_request":{"href":"https://api.github.com/repos/Homebrew/homebrew-devel-only/pulls/6"}}},"pull_request":{"url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/pulls/6","id":27170573,"html_url":"https://github.com/Homebrew/homebrew-devel-only/pull/6","diff_url":"https://github.com/Homebrew/homebrew-devel-only/pull/6.diff","patch_url":"https://github.com/Homebrew/homebrew-devel-only/pull/6.patch","issue_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/issues/6","number":6,"state":"open","locked":false,"title":"Add Docker Machine 0.0.2","user":{"login":"radeksimko","id":287584,"avatar_url":"https://avatars.githubusercontent.com/u/287584?v=3","gravatar_id":"","url":"https://api.github.com/users/radeksimko","html_url":"https://github.com/radeksimko","followers_url":"https://api.github.com/users/radeksimko/followers","following_url":"https://api.github.com/users/radeksimko/following{/other_user}","gists_url":"https://api.github.com/users/radeksimko/gists{/gist_id}","starred_url":"https://api.github.com/users/radeksimko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/radeksimko/subscriptions","organizations_url":"https://api.github.com/users/radeksimko/orgs","repos_url":"https://api.github.com/users/radeksimko/repos","events_url":"https://api.github.com/users/radeksimko/events{/privacy}","received_events_url":"https://api.github.com/users/radeksimko/received_events","type":"User","site_admin":false},"body":"Based on https://github.com/Homebrew/homebrew/pull/35676 and related feedback from @mikemcquaid \r\n\r\nI can't say I like the amount of code for Go dependencies however, nor understand the benefits behind `go_resource` as it seems to me that it's duplicating dependencies definitions, which can be always collected ad-hoc per build and more importantly with guarantee, that nobody will forget any dependency during upgrades.\r\n\r\nIs it purely for reproducibility of the build and pinning to specific revisions?\r\n\r\nMany Go projects I've seen use [some package management tools](https://github.com/golang/go/wiki/PackageManagementTools), which could be added as DSL into Homebrew and solve all problems:\r\n\r\n1. reduce amount of code in formula\r\n2. duplication of code between original source & formula\r\n3. reproducibility","created_at":"2015-01-12T00:10:24Z","updated_at":"2015-01-13T12:17:08Z","closed_at":null,"merged_at":null,"merge_commit_sha":"fa7eff3de6f276dd6f930ed1390ea7fec7fef20b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/pulls/6/commits","review_comments_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/pulls/6/comments","review_comment_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/pulls/comments/{number}","comments_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/issues/6/comments","statuses_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/statuses/a4c1b9c5e9f5b4b555afd01ff10182c8016b5c1d","head":{"label":"radeksimko:docker-machine","ref":"docker-machine","sha":"a4c1b9c5e9f5b4b555afd01ff10182c8016b5c1d","user":{"login":"radeksimko","id":287584,"avatar_url":"https://avatars.githubusercontent.com/u/287584?v=3","gravatar_id":"","url":"https://api.github.com/users/radeksimko","html_url":"https://github.com/radeksimko","followers_url":"https://api.github.com/users/radeksimko/followers","following_url":"https://api.github.com/users/radeksimko/following{/other_user}","gists_url":"https://api.github.com/users/radeksimko/gists{/gist_id}","starred_url":"https://api.github.com/users/radeksimko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/radeksimko/subscriptions","organizations_url":"https://api.github.com/users/radeksimko/orgs","repos_url":"https://api.github.com/users/radeksimko/repos","events_url":"https://api.github.com/users/radeksimko/events{/privacy}","received_events_url":"https://api.github.com/users/radeksimko/received_events","type":"User","site_admin":false},"repo":{"id":29088376,"name":"homebrew-devel-only","full_name":"radeksimko/homebrew-devel-only","owner":{"login":"radeksimko","id":287584,"avatar_url":"https://avatars.githubusercontent.com/u/287584?v=3","gravatar_id":"","url":"https://api.github.com/users/radeksimko","html_url":"https://github.com/radeksimko","followers_url":"https://api.github.com/users/radeksimko/followers","following_url":"https://api.github.com/users/radeksimko/following{/other_user}","gists_url":"https://api.github.com/users/radeksimko/gists{/gist_id}","starred_url":"https://api.github.com/users/radeksimko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/radeksimko/subscriptions","organizations_url":"https://api.github.com/users/radeksimko/orgs","repos_url":"https://api.github.com/users/radeksimko/repos","events_url":"https://api.github.com/users/radeksimko/events{/privacy}","received_events_url":"https://api.github.com/users/radeksimko/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/radeksimko/homebrew-devel-only","description":"Devel-only Formulae for Homebrew.","fork":true,"url":"https://api.github.com/repos/radeksimko/homebrew-devel-only","forks_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/forks","keys_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/keys{/key_id}","collaborators_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/teams","hooks_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/hooks","issue_events_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/issues/events{/number}","events_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/events","assignees_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/assignees{/user}","branches_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/branches{/branch}","tags_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/tags","blobs_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/git/refs{/sha}","trees_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/git/trees{/sha}","statuses_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/statuses/{sha}","languages_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/languages","stargazers_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/stargazers","contributors_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/contributors","subscribers_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/subscribers","subscription_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/subscription","commits_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/commits{/sha}","git_commits_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/git/commits{/sha}","comments_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/comments{/number}","issue_comment_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/issues/comments/{number}","contents_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/contents/{+path}","compare_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/compare/{base}...{head}","merges_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/merges","archive_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/downloads","issues_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/issues{/number}","pulls_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/pulls{/number}","milestones_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/milestones{/number}","notifications_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/labels{/name}","releases_url":"https://api.github.com/repos/radeksimko/homebrew-devel-only/releases{/id}","created_at":"2015-01-11T10:38:57Z","updated_at":"2015-01-11T10:38:57Z","pushed_at":"2015-01-12T15:09:03Z","git_url":"git://github.com/radeksimko/homebrew-devel-only.git","ssh_url":"git@github.com:radeksimko/homebrew-devel-only.git","clone_url":"https://github.com/radeksimko/homebrew-devel-only.git","svn_url":"https://github.com/radeksimko/homebrew-devel-only","homepage":"http://brew.sh","size":237,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Homebrew:master","ref":"master","sha":"a5df6406ed719cf54c293b1029a946ab49b043b2","user":{"login":"Homebrew","id":1503512,"avatar_url":"https://avatars.githubusercontent.com/u/1503512?v=3","gravatar_id":"","url":"https://api.github.com/users/Homebrew","html_url":"https://github.com/Homebrew","followers_url":"https://api.github.com/users/Homebrew/followers","following_url":"https://api.github.com/users/Homebrew/following{/other_user}","gists_url":"https://api.github.com/users/Homebrew/gists{/gist_id}","starred_url":"https://api.github.com/users/Homebrew/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Homebrew/subscriptions","organizations_url":"https://api.github.com/users/Homebrew/orgs","repos_url":"https://api.github.com/users/Homebrew/repos","events_url":"https://api.github.com/users/Homebrew/events{/privacy}","received_events_url":"https://api.github.com/users/Homebrew/received_events","type":"Organization","site_admin":false},"repo":{"id":27155244,"name":"homebrew-devel-only","full_name":"Homebrew/homebrew-devel-only","owner":{"login":"Homebrew","id":1503512,"avatar_url":"https://avatars.githubusercontent.com/u/1503512?v=3","gravatar_id":"","url":"https://api.github.com/users/Homebrew","html_url":"https://github.com/Homebrew","followers_url":"https://api.github.com/users/Homebrew/followers","following_url":"https://api.github.com/users/Homebrew/following{/other_user}","gists_url":"https://api.github.com/users/Homebrew/gists{/gist_id}","starred_url":"https://api.github.com/users/Homebrew/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Homebrew/subscriptions","organizations_url":"https://api.github.com/users/Homebrew/orgs","repos_url":"https://api.github.com/users/Homebrew/repos","events_url":"https://api.github.com/users/Homebrew/events{/privacy}","received_events_url":"https://api.github.com/users/Homebrew/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Homebrew/homebrew-devel-only","description":"Devel-only Formulae for Homebrew.","fork":false,"url":"https://api.github.com/repos/Homebrew/homebrew-devel-only","forks_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/forks","keys_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/teams","hooks_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/hooks","issue_events_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/issues/events{/number}","events_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/events","assignees_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/assignees{/user}","branches_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/branches{/branch}","tags_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/tags","blobs_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/git/refs{/sha}","trees_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/statuses/{sha}","languages_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/languages","stargazers_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/stargazers","contributors_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/contributors","subscribers_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/subscribers","subscription_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/subscription","commits_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/commits{/sha}","git_commits_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/git/commits{/sha}","comments_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/comments{/number}","issue_comment_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/issues/comments/{number}","contents_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/contents/{+path}","compare_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/merges","archive_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/downloads","issues_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/issues{/number}","pulls_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/pulls{/number}","milestones_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/milestones{/number}","notifications_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/labels{/name}","releases_url":"https://api.github.com/repos/Homebrew/homebrew-devel-only/releases{/id}","created_at":"2014-11-26T02:01:57Z","updated_at":"2015-01-06T04:51:47Z","pushed_at":"2015-01-06T04:51:46Z","git_url":"git://github.com/Homebrew/homebrew-devel-only.git","ssh_url":"git@github.com:Homebrew/homebrew-devel-only.git","clone_url":"https://github.com/Homebrew/homebrew-devel-only.git","svn_url":"https://github.com/Homebrew/homebrew-devel-only","homepage":"http://brew.sh","size":237,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Homebrew/homebrew-devel-only/pulls/6"},"html":{"href":"https://github.com/Homebrew/homebrew-devel-only/pull/6"},"issue":{"href":"https://api.github.com/repos/Homebrew/homebrew-devel-only/issues/6"},"comments":{"href":"https://api.github.com/repos/Homebrew/homebrew-devel-only/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/Homebrew/homebrew-devel-only/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/Homebrew/homebrew-devel-only/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/Homebrew/homebrew-devel-only/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/Homebrew/homebrew-devel-only/statuses/a4c1b9c5e9f5b4b555afd01ff10182c8016b5c1d"}}}}