{"action":"created","issue":{"url":"https://api.github.com/repos/ros-planning/moveit/issues/1090","repository_url":"https://api.github.com/repos/ros-planning/moveit","labels_url":"https://api.github.com/repos/ros-planning/moveit/issues/1090/labels{/name}","comments_url":"https://api.github.com/repos/ros-planning/moveit/issues/1090/comments","events_url":"https://api.github.com/repos/ros-planning/moveit/issues/1090/events","html_url":"https://github.com/ros-planning/moveit/pull/1090","id":370596754,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIzMjM3ODA3","number":1090,"title":"Building melodic-devel on ROS Kinetic","user":{"login":"IanTheEngineer","id":850874,"node_id":"MDQ6VXNlcjg1MDg3NA==","avatar_url":"https://avatars3.githubusercontent.com/u/850874?v=4","gravatar_id":"","url":"https://api.github.com/users/IanTheEngineer","html_url":"https://github.com/IanTheEngineer","followers_url":"https://api.github.com/users/IanTheEngineer/followers","following_url":"https://api.github.com/users/IanTheEngineer/following{/other_user}","gists_url":"https://api.github.com/users/IanTheEngineer/gists{/gist_id}","starred_url":"https://api.github.com/users/IanTheEngineer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IanTheEngineer/subscriptions","organizations_url":"https://api.github.com/users/IanTheEngineer/orgs","repos_url":"https://api.github.com/users/IanTheEngineer/repos","events_url":"https://api.github.com/users/IanTheEngineer/events{/privacy}","received_events_url":"https://api.github.com/users/IanTheEngineer/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-10-16T12:52:23Z","updated_at":"2018-10-18T08:55:58Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/ros-planning/moveit/pulls/1090","html_url":"https://github.com/ros-planning/moveit/pull/1090","diff_url":"https://github.com/ros-planning/moveit/pull/1090.diff","patch_url":"https://github.com/ros-planning/moveit/pull/1090.patch"},"body":"### Background\r\nAs part of MoveIt's tf2 migration for `melodic` in https://github.com/ros-planning/moveit/pull/830, there were upstream changes required to RViz, `tf1`, and `tf2`. The changes to RViz and `tf1` were not backwards compatible with Kinetic. \r\n\r\n The moveit maintainers have a desire to have MoveIt compile on both ROS Kinetic and Melodic with the same branch, summed up in this ticket:  https://github.com/ros-planning/moveit/issues/925 . The final step in #925 is to find an acceptable way to maintain tf2 buffers for interacting with RViz. In Kinetic, RViz doesn't easily expose its internal and protected tf2 buffers. I tried several ways to get at these buffers in Kinetic as described https://github.com/ros-visualization/rviz/issues/1215, without any success. \r\n\r\n### Description\r\nIn the end, for Kinetic, it is simplest to have MoveIt's RViz plugin to just spin up a new `tf2_ros::TransformListener` and `tf2_ros::Buffer` when it would normally depend on RViz' internal TF Buffer. This is not necessary in ROS Melodic, as the buffers are properly exposed from RViz' API. That brings us to the conditional compile. As @davetcoleman mentioned, it might be acceptable to [use ugly compile defs ](https://github.com/ros-planning/moveit/issues/925#issuecomment-429578337) to build Kinetic and Melodic on the same branch. Despite them being ugly, that was the simplest and most run-time efficient solution: `melodic-devel` would not use extra tf2 listeners/buffers when built in a Melodic environment, and would compile and run in a Kinetic environment. I am using [`roscpp`'s release versioning](https://github.com/ros/ros_comm/releases) to check for a \"pre-Melodic\" environment. Anything prior to release `1.14.x` should fall into this category.\r\n\r\nThis code needs more testing in a Kinetic environment, but I figured I'd get it out there now to have eyeballs on it sooner rather than later. Everything builds on Melodic & Kinetic I think I had MoveIt/RViz running in a Kinetic docker container last night, but I didn't see any interactive markers. I'll continue to investigate and update this PR accordingly.\r\n\r\n\r\n### Checklist\r\n- [x] **Required by CI**: Code is auto formatted using [clang-format](http://moveit.ros.org/documentation/contributing/code)\r\n- [x] Extended the tutorials / documentation, if necessary [reference](http://moveit.ros.org/documentation/contributing/)\r\n- [ ] (?) Decide if this should be cherry-picked to other current ROS branches"},"comment":{"url":"https://api.github.com/repos/ros-planning/moveit/issues/comments/430930185","html_url":"https://github.com/ros-planning/moveit/pull/1090#issuecomment-430930185","issue_url":"https://api.github.com/repos/ros-planning/moveit/issues/1090","id":430930185,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMDkzMDE4NQ==","user":{"login":"rhaschke","id":5376030,"node_id":"MDQ6VXNlcjUzNzYwMzA=","avatar_url":"https://avatars2.githubusercontent.com/u/5376030?v=4","gravatar_id":"","url":"https://api.github.com/users/rhaschke","html_url":"https://github.com/rhaschke","followers_url":"https://api.github.com/users/rhaschke/followers","following_url":"https://api.github.com/users/rhaschke/following{/other_user}","gists_url":"https://api.github.com/users/rhaschke/gists{/gist_id}","starred_url":"https://api.github.com/users/rhaschke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rhaschke/subscriptions","organizations_url":"https://api.github.com/users/rhaschke/orgs","repos_url":"https://api.github.com/users/rhaschke/repos","events_url":"https://api.github.com/users/rhaschke/events{/privacy}","received_events_url":"https://api.github.com/users/rhaschke/received_events","type":"User","site_admin":false},"created_at":"2018-10-18T08:55:58Z","updated_at":"2018-10-18T08:55:58Z","author_association":"CONTRIBUTOR","body":"@IanTheEngineer I committed the proposed singleton usage."}}
{"actor":{"display_login":"rhaschke"}}