{"action":"created","issue":{"url":"https://api.github.com/repos/RobotLocomotion/drake/issues/6072","repository_url":"https://api.github.com/repos/RobotLocomotion/drake","labels_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/6072/labels{/name}","comments_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/6072/comments","events_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/6072/events","html_url":"https://github.com/RobotLocomotion/drake/pull/6072","id":227808046,"number":6072,"title":"Bazel Install","user":{"login":"mwoehlke-kitware","id":6474409,"avatar_url":"https://avatars0.githubusercontent.com/u/6474409?v=3","gravatar_id":"","url":"https://api.github.com/users/mwoehlke-kitware","html_url":"https://github.com/mwoehlke-kitware","followers_url":"https://api.github.com/users/mwoehlke-kitware/followers","following_url":"https://api.github.com/users/mwoehlke-kitware/following{/other_user}","gists_url":"https://api.github.com/users/mwoehlke-kitware/gists{/gist_id}","starred_url":"https://api.github.com/users/mwoehlke-kitware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mwoehlke-kitware/subscriptions","organizations_url":"https://api.github.com/users/mwoehlke-kitware/orgs","repos_url":"https://api.github.com/users/mwoehlke-kitware/repos","events_url":"https://api.github.com/users/mwoehlke-kitware/events{/privacy}","received_events_url":"https://api.github.com/users/mwoehlke-kitware/received_events","type":"User","site_admin":false},"labels":[{"id":499298907,"url":"https://api.github.com/repos/RobotLocomotion/drake/labels/configuration:%20bazel","name":"configuration: bazel","color":"fbca04","default":false},{"id":321022023,"url":"https://api.github.com/repos/RobotLocomotion/drake/labels/team:%20kitware","name":"team: kitware","color":"0052cc","default":false}],"state":"open","locked":false,"assignee":{"login":"fbudin69500","id":399640,"avatar_url":"https://avatars3.githubusercontent.com/u/399640?v=3","gravatar_id":"","url":"https://api.github.com/users/fbudin69500","html_url":"https://github.com/fbudin69500","followers_url":"https://api.github.com/users/fbudin69500/followers","following_url":"https://api.github.com/users/fbudin69500/following{/other_user}","gists_url":"https://api.github.com/users/fbudin69500/gists{/gist_id}","starred_url":"https://api.github.com/users/fbudin69500/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fbudin69500/subscriptions","organizations_url":"https://api.github.com/users/fbudin69500/orgs","repos_url":"https://api.github.com/users/fbudin69500/repos","events_url":"https://api.github.com/users/fbudin69500/events{/privacy}","received_events_url":"https://api.github.com/users/fbudin69500/received_events","type":"User","site_admin":false},"assignees":[{"login":"fbudin69500","id":399640,"avatar_url":"https://avatars3.githubusercontent.com/u/399640?v=3","gravatar_id":"","url":"https://api.github.com/users/fbudin69500","html_url":"https://github.com/fbudin69500","followers_url":"https://api.github.com/users/fbudin69500/followers","following_url":"https://api.github.com/users/fbudin69500/following{/other_user}","gists_url":"https://api.github.com/users/fbudin69500/gists{/gist_id}","starred_url":"https://api.github.com/users/fbudin69500/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fbudin69500/subscriptions","organizations_url":"https://api.github.com/users/fbudin69500/orgs","repos_url":"https://api.github.com/users/fbudin69500/repos","events_url":"https://api.github.com/users/fbudin69500/events{/privacy}","received_events_url":"https://api.github.com/users/fbudin69500/received_events","type":"User","site_admin":false},{"login":"jamiesnape","id":3630149,"avatar_url":"https://avatars0.githubusercontent.com/u/3630149?v=3","gravatar_id":"","url":"https://api.github.com/users/jamiesnape","html_url":"https://github.com/jamiesnape","followers_url":"https://api.github.com/users/jamiesnape/followers","following_url":"https://api.github.com/users/jamiesnape/following{/other_user}","gists_url":"https://api.github.com/users/jamiesnape/gists{/gist_id}","starred_url":"https://api.github.com/users/jamiesnape/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamiesnape/subscriptions","organizations_url":"https://api.github.com/users/jamiesnape/orgs","repos_url":"https://api.github.com/users/jamiesnape/repos","events_url":"https://api.github.com/users/jamiesnape/events{/privacy}","received_events_url":"https://api.github.com/users/jamiesnape/received_events","type":"User","site_admin":false},{"login":"jwnimmer-tri","id":17596505,"avatar_url":"https://avatars0.githubusercontent.com/u/17596505?v=3","gravatar_id":"","url":"https://api.github.com/users/jwnimmer-tri","html_url":"https://github.com/jwnimmer-tri","followers_url":"https://api.github.com/users/jwnimmer-tri/followers","following_url":"https://api.github.com/users/jwnimmer-tri/following{/other_user}","gists_url":"https://api.github.com/users/jwnimmer-tri/gists{/gist_id}","starred_url":"https://api.github.com/users/jwnimmer-tri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jwnimmer-tri/subscriptions","organizations_url":"https://api.github.com/users/jwnimmer-tri/orgs","repos_url":"https://api.github.com/users/jwnimmer-tri/repos","events_url":"https://api.github.com/users/jwnimmer-tri/events{/privacy}","received_events_url":"https://api.github.com/users/jwnimmer-tri/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2017-05-10T20:56:36Z","updated_at":"2017-05-15T14:44:34Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/6072","html_url":"https://github.com/RobotLocomotion/drake/pull/6072","diff_url":"https://github.com/RobotLocomotion/drake/pull/6072.diff","patch_url":"https://github.com/RobotLocomotion/drake/pull/6072.patch"},"body":"Implement Bazel logic so that installation is driven by Bazel itself, rather than an external script. This allows us to install things that are critical to downstream consumers (especially of externals such as LCM) that aren't readily visible to Bazel as dependencies of `libdrake.so`, allows us to control what is installed (e.g. this fixes #6040), and moves management of install artifacts to the packages' respective BUILD files so that it is right next to the logic that specifies how to build stuff.\r\n\r\nThis works by adding two new directives — `install` and `install_files` — which gather information about install artifacts and compute the full install destinations, with `install` additionally creating a script (which can be run via `bazel run`) to perform the installation. Each `install` can depend on other `install` or `install_files`, so that the \"root\" rule installs everything. The file `install.py.in` contains the common install logic and is used as the template for creating the install scripts. (It would be possible to have `install_files` also produce an install script, but I doubt we need that granularity.)\r\n\r\nThis entire process will (eventually) replace the install mode of `package_drake.sh`. A future PR will replace that script with one that uses the new install process to populate a temporary install tree, which is then packaged into a `.tar.gz`. (As a bonus, Python prints the \"what am I doing\" lines *much* faster than bash.)\r\n\r\n**NOTE:**\r\nThe installation produced by `bazel run install -- /install/prefix` is not usable as of this PR, as it does not install most of the externals (with the exception of LCM). However, since the framework is working at this point, I would like to go ahead and get it landed. Installation of the remaining externals would be done in separate commits anyway, and it's possible anyway that @fbudin69500 will be doing that rather than myself.\r\n\r\n<!-- Reviewable:start -->\r\n---\r\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/robotlocomotion/drake/6072)\r\n<!-- Reviewable:end -->\r\n"},"comment":{"url":"https://api.github.com/repos/RobotLocomotion/drake/issues/comments/301497157","html_url":"https://github.com/RobotLocomotion/drake/pull/6072#issuecomment-301497157","issue_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/6072","id":301497157,"user":{"login":"mwoehlke-kitware","id":6474409,"avatar_url":"https://avatars0.githubusercontent.com/u/6474409?v=3","gravatar_id":"","url":"https://api.github.com/users/mwoehlke-kitware","html_url":"https://github.com/mwoehlke-kitware","followers_url":"https://api.github.com/users/mwoehlke-kitware/followers","following_url":"https://api.github.com/users/mwoehlke-kitware/following{/other_user}","gists_url":"https://api.github.com/users/mwoehlke-kitware/gists{/gist_id}","starred_url":"https://api.github.com/users/mwoehlke-kitware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mwoehlke-kitware/subscriptions","organizations_url":"https://api.github.com/users/mwoehlke-kitware/orgs","repos_url":"https://api.github.com/users/mwoehlke-kitware/repos","events_url":"https://api.github.com/users/mwoehlke-kitware/events{/privacy}","received_events_url":"https://api.github.com/users/mwoehlke-kitware/received_events","type":"User","site_admin":false},"created_at":"2017-05-15T14:44:34Z","updated_at":"2017-05-15T14:44:34Z","body":"I'm declaring this merge-ready. I was able to build both LCM types repos against the LCM this produces (with no changes to those repos, even; bonus! ...thanks to `lcm_add_library` :grin:). Spartan is in worse shape because the other externals are not installed, and `drake.cps` is broken, but I'd like to go ahead and move forward with this since the framework is working. (For now, just don't use it and expect it to work; `package_drake.sh` hasn't been touched yet and should still produce the same install it has been producing.)"}}
{"actor":{"display_login":"mwoehlke-kitware"}}