{"action":"created","issue":{"url":"https://api.github.com/repos/ros2/ros2/issues/37","labels_url":"https://api.github.com/repos/ros2/ros2/issues/37/labels{/name}","comments_url":"https://api.github.com/repos/ros2/ros2/issues/37/comments","events_url":"https://api.github.com/repos/ros2/ros2/issues/37/events","html_url":"https://github.com/ros2/ros2/issues/37","id":68162421,"number":37,"title":"Each package needs its own visibility control macros","user":{"login":"dirk-thomas","id":1335366,"avatar_url":"https://avatars.githubusercontent.com/u/1335366?v=3","gravatar_id":"","url":"https://api.github.com/users/dirk-thomas","html_url":"https://github.com/dirk-thomas","followers_url":"https://api.github.com/users/dirk-thomas/followers","following_url":"https://api.github.com/users/dirk-thomas/following{/other_user}","gists_url":"https://api.github.com/users/dirk-thomas/gists{/gist_id}","starred_url":"https://api.github.com/users/dirk-thomas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dirk-thomas/subscriptions","organizations_url":"https://api.github.com/users/dirk-thomas/orgs","repos_url":"https://api.github.com/users/dirk-thomas/repos","events_url":"https://api.github.com/users/dirk-thomas/events{/privacy}","received_events_url":"https://api.github.com/users/dirk-thomas/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ros2/ros2/labels/in%20progress","name":"in progress","color":"ededed"}],"state":"open","locked":false,"assignee":{"login":"wjwwood","id":100427,"avatar_url":"https://avatars.githubusercontent.com/u/100427?v=3","gravatar_id":"","url":"https://api.github.com/users/wjwwood","html_url":"https://github.com/wjwwood","followers_url":"https://api.github.com/users/wjwwood/followers","following_url":"https://api.github.com/users/wjwwood/following{/other_user}","gists_url":"https://api.github.com/users/wjwwood/gists{/gist_id}","starred_url":"https://api.github.com/users/wjwwood/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wjwwood/subscriptions","organizations_url":"https://api.github.com/users/wjwwood/orgs","repos_url":"https://api.github.com/users/wjwwood/repos","events_url":"https://api.github.com/users/wjwwood/events{/privacy}","received_events_url":"https://api.github.com/users/wjwwood/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-04-13T18:27:48Z","updated_at":"2015-04-21T20:55:24Z","closed_at":null,"body":"Reusing the macros from another package does not work since they will affect how symbols from recursive headers are treated.\n\nE.g. ros2/rosidl_dds#12 was not working since it used the ROSIDL macros from the rosidl_generator_c package."},"comment":{"url":"https://api.github.com/repos/ros2/ros2/issues/comments/94940584","html_url":"https://github.com/ros2/ros2/issues/37#issuecomment-94940584","issue_url":"https://api.github.com/repos/ros2/ros2/issues/37","id":94940584,"user":{"login":"gerkey","id":1188842,"avatar_url":"https://avatars.githubusercontent.com/u/1188842?v=3","gravatar_id":"","url":"https://api.github.com/users/gerkey","html_url":"https://github.com/gerkey","followers_url":"https://api.github.com/users/gerkey/followers","following_url":"https://api.github.com/users/gerkey/following{/other_user}","gists_url":"https://api.github.com/users/gerkey/gists{/gist_id}","starred_url":"https://api.github.com/users/gerkey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gerkey/subscriptions","organizations_url":"https://api.github.com/users/gerkey/orgs","repos_url":"https://api.github.com/users/gerkey/repos","events_url":"https://api.github.com/users/gerkey/events{/privacy}","received_events_url":"https://api.github.com/users/gerkey/received_events","type":"User","site_admin":false},"created_at":"2015-04-21T20:55:24Z","updated_at":"2015-04-21T20:55:24Z","body":"This is a pattern that we expect to have to follow for every C/C++ library for every package.  So, if possible, identify shortcuts or ways to reuse code.  At the very least, we should have documentation that explains how to add this to a new package."}}