-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Install executable rqt_graph #49
Conversation
This fixes a regression introduced in #42. Now the application can be started with 'rqt_graph' or with 'ros2 run' Signed-off-by: Jacob Perron <jacob@openrobotics.org>
setup.py
Outdated
@@ -12,6 +12,7 @@ | |||
('share/' + package_name + '/resource', ['resource/RosGraph.ui']), | |||
('share/' + package_name, ['package.xml']), | |||
('share/' + package_name, ['plugin.xml']), | |||
('bin', ['bin/rqt_graph']), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not installing an executable, but a Python script.
Thus, it's not runnable on Windows.
I'm not sure if there's a better alternative.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The entry point, which will result in an actual executable on Windows, needs to go to bin
and the custom script to be invoked by ros2 run
needs to be installed to lib/<pkgname>
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This new approach looks better to me.
I would actually prefer to install an executable in both places, but I'm not sure if that's possible with setuptools.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would actually prefer to install an executable in both places
Can you explain why that would be better? (Beside the desire to have it be the same.)
I'm not sure if that's possible with setuptools.
I am not aware of a way to achieve that (excluding using custom setuptools commands for it).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Installing scripts instead of executables is sometimes problematic, e.g.: you have to use special code in launch.
See ros2/demos#374.
IMHO: We should never install scripts (neither in bin/ nor lib/<package_name>), only executables.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would argue that this is a shortcoming of launch
. The command line tool ros2 run
as well as launch in ROS 1 are working just fine with scripts. A package could also just provide a ruby
/ perl
(or anything else) script and it needs to work.
(Anyway if we don't know a way to install binaries in two locations it doesn't matter.)
Maybe, trying something like this https://stackoverflow.com/questions/54290710/how-to-properly-get-console-scripts-install-scripts-directory |
This reverts commit 4139a39.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should probably target a to-be-created dashing-devel
branch.
bin/rqt_graph
Outdated
|
||
from rqt_graph.main import main | ||
|
||
sys.exit(main()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the file isn't installed to bin
it should probably be in differently named directory, e.g. scripts
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To clarify, is the reason because Crystal is EOL, or something else? |
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Yeah, since it is a significant change I would not risk applying it to an EOL distro. |
@jacobperron Please reference all related PRs / commits here to ensure the branch name was updated in all locations. |
The dashing-devel branch was created since ros-visualization/rqt_graph#49 Signed-off-by: Jacob Perron <jacob@openrobotics.org>
The latest development branch is `dashing-devel` since ros-visualization/rqt_graph#49. Signed-off-by: Jacob Perron <jacob@openrobotics.org>
The dashing-devel branch was created since ros-visualization/rqt_graph#49 Signed-off-by: Jacob Perron <jacob@openrobotics.org>
The dashing-devel branch was created since ros-visualization/rqt_graph#49 Signed-off-by: Jacob Perron <jacob@openrobotics.org>
The dashing-devel branch was created since ros-visualization/rqt_graph#49 Signed-off-by: Jacob Perron <jacob@openrobotics.org>
The dashing-devel branch was created since ros-visualization/rqt_graph#49 Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Update source branch for rolling The latest development branch is `dashing-devel` since ros-visualization/rqt_graph#49. Signed-off-by: Jacob Perron <jacob@openrobotics.org> * Update branches for dashing, eloquent, and foxy Signed-off-by: Jacob Perron <jacob@openrobotics.org>
The dashing-devel branch was created since ros-visualization/rqt_graph#49 Signed-off-by: Jacob Perron <jacob@openrobotics.org>
The dashing-devel branch was created since ros-visualization/rqt_graph#49 Signed-off-by: Jacob Perron <jacob@openrobotics.org>
The dashing-devel branch was created since ros-visualization/rqt_graph#49 Signed-off-by: Jacob Perron <jacob@openrobotics.org>
The dashing-devel branch was created since ros-visualization/rqt_graph#49 Signed-off-by: Jacob Perron <jacob@openrobotics.org>
This fixes a regression introduced in #42.
Now the application can be started with 'rqt_graph' or with 'ros2 run'