{"action":"created","issue":{"url":"https://api.github.com/repos/cockroachdb/cockroach/issues/942","labels_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/942/labels{/name}","comments_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/942/comments","events_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/942/events","html_url":"https://github.com/cockroachdb/cockroach/issues/942","id":73765752,"number":942,"title":"Prune client dependencies","user":{"login":"bdarnell","id":160562,"avatar_url":"https://avatars.githubusercontent.com/u/160562?v=3","gravatar_id":"","url":"https://api.github.com/users/bdarnell","html_url":"https://github.com/bdarnell","followers_url":"https://api.github.com/users/bdarnell/followers","following_url":"https://api.github.com/users/bdarnell/following{/other_user}","gists_url":"https://api.github.com/users/bdarnell/gists{/gist_id}","starred_url":"https://api.github.com/users/bdarnell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bdarnell/subscriptions","organizations_url":"https://api.github.com/users/bdarnell/orgs","repos_url":"https://api.github.com/users/bdarnell/repos","events_url":"https://api.github.com/users/bdarnell/events{/privacy}","received_events_url":"https://api.github.com/users/bdarnell/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-05-06T23:14:42Z","updated_at":"2015-05-24T18:00:14Z","closed_at":null,"body":"The transitive dependencies of `cockroach/client` end up linked into end-user binaries, so we should make sure we don't have unnecessary dependencies there. Specifically:\r\n* There are two paths from cockroach/client to biogo/store, util/cache.go and proto/data.go\r\n* util/http.go depends on yaml\r\n* The rpc client is fairly heavyweight, bringing in the cgo-based compression packages. As long as it's experimental (and perhaps even when it's not), it should be in a separate compilation unit.\r\n* Protos generally include a bunch of stuff that clients don't need and perhaps should be insulated from (especially `internal.*`, but very little of the stuff in the non-generated `.go` files are necessary for clients)\r\n* All logging in client-accessible code needs to go through an abstraction layer so we don't impose glog (or our current preference for server-side logging) on client apps. (or maybe something like logrus would be flexible that clients could adapt it to their own logger of choice. Glog is definitely not flexible enough to be our hard-coded logger in the client)\r\n\r\nIn the log run it might make sense to put the client in a separate repo, but we're not to that point yet. We should have a test that runs `go list` to get the client deps and guards against adding new ones."},"comment":{"url":"https://api.github.com/repos/cockroachdb/cockroach/issues/comments/105043084","html_url":"https://github.com/cockroachdb/cockroach/issues/942#issuecomment-105043084","issue_url":"https://api.github.com/repos/cockroachdb/cockroach/issues/942","id":105043084,"user":{"login":"aarondunnington","id":427277,"avatar_url":"https://avatars.githubusercontent.com/u/427277?v=3","gravatar_id":"","url":"https://api.github.com/users/aarondunnington","html_url":"https://github.com/aarondunnington","followers_url":"https://api.github.com/users/aarondunnington/followers","following_url":"https://api.github.com/users/aarondunnington/following{/other_user}","gists_url":"https://api.github.com/users/aarondunnington/gists{/gist_id}","starred_url":"https://api.github.com/users/aarondunnington/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aarondunnington/subscriptions","organizations_url":"https://api.github.com/users/aarondunnington/orgs","repos_url":"https://api.github.com/users/aarondunnington/repos","events_url":"https://api.github.com/users/aarondunnington/events{/privacy}","received_events_url":"https://api.github.com/users/aarondunnington/received_events","type":"User","site_admin":false},"created_at":"2015-05-24T18:00:14Z","updated_at":"2015-05-24T18:00:14Z","body":"#1118 "}}