-
Notifications
You must be signed in to change notification settings - Fork 12
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
feat: port to bzlmod #14
Conversation
Do we need to specify |
Since my changes for |
Do we know the exact version of boost that is added here? ROS is very picky about the exact version of boost. For noetic it must be 1.71 |
rules_ros/repositories/deps.bzl Line 13 in 06e8ede
Which is pinned in rules_boost here:https://github.com/nelhage/rules_boost/blob/83ce910e5a266a08bd5634e8ab480d6c2e32a571/boost/boost.bzl#L118 I assume one could override this manually in their project. Though my changes currently are in line with what this ruleset provides. Someone had made a PR in This would be, in my opinion, a welcome change if it worked. |
Picking the correct verison, 1.71 in this case, should be required to make it work correctly. I don't think ROS will work with 1.84 |
I'd suggest that be a separate issue/PR as this PR copies exactly the same mechanism
It defines it in the
|
Makes sense. Last small comment. How about paths such as in https://github.com/mvukov/rules_ros/blob/main/third_party/ros/roslaunch/deps.py.tpl#L1? Do they have to change with bzlmod? |
done |
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.
Nice that nelhage/rules_boost#553 is merged.
Anyway, not sure ros is picky about boost version, I am quite some it works with 1.8x used here for a while now.
@@ -1,2 +1,2 @@ | |||
ROSMASTER_PATH = 'external/ros_comm/rosmaster' | |||
ROSMASTER_PATH = 'external/_main~non_module_dependencies~ros_comm/rosmaster' |
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.
OK, it's about time to auto-generated this path instead of hard-coding it. The same for the change in third_party/ros/roslaunch/roscore.xml.
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'll try to schedule some time for this in the coming days.
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.
Good idea as the name _main~non_module_dependencies
will change depending on what they called it in the MODULE
file.
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.
Done
Thanks for the work, folks. Once this is done, I can add rules_ros to Bazel Central Registry (https://registry.bazel.build) Filed an issue there to track this. |
Why is nobzlmod deleted? Maybe there are some folks around who would still like to use this in nobzlmode. |
The deletion of Regardless of the above, |
6d23557
to
236d4f5
Compare
Friendly nudge on this PR. @mvukov - Would be great to have this merged. |
I don't think there is anything left for me to resolve in this PR. As far as my testing is concerned, it works and is ready to merge. |
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.
@hofbi To my knowledge you're so far the only one using actively this repo. Are you OK removing non-bzlmod support in this PR?
"boost", | ||
) | ||
|
||
python = use_extension("@rules_python//python/extensions:python.bzl", "python") |
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.
In my other project rules_ros2, I suggest rules_python should be defined as dev dep here and should be set up in the user repo, mvukov/rules_ros2#238 (comment).
I'd say the same applies here. We should not constrain our users which Python they are going to use.
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.
done
In my eyes, this is not a good enough reason to ditch workspace workflow, in particular if there are users of the workspace workflow who are depending on this feature. I asked @hofbi to weigh in. I don't use this repo personally TBH (working on and using rules_ros2), so users have to weigh in. |
Also relevant comment mvukov/rules_ros2#344 (comment) |
As I said before, |
We recently started using this repo as well and are also on Bzlmod already. So looking very much forward to see this merged (and added to BCR afterwards). |
https://bazel.build/about/roadmap#bzlmod:-external: in 8 workspace is still going to work, in 9 is going to be removed. |
Thanks for the hard work. I'll test this ASAP and merge the PR if all green. |
MODULE.bazel
Outdated
"console_bridge", | ||
"roscpp_core", | ||
"rosconsole", | ||
"ros_genmsg", | ||
"ros_gencpp", | ||
"ros_genpy", | ||
"ros_std_msgs", | ||
"ros_comm_msgs", | ||
"ros_comm", | ||
"ros_ros", | ||
"ros_common_msgs", | ||
"ros_actionlib", | ||
"ros_dynamic_reconfigure", | ||
"ros_geometry2", | ||
"orocos_kdl", | ||
"urdfdom_headers", | ||
"tinyxml", | ||
"urdfdom", |
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 the ugly part, but nothing we can do about that. I wish there was a way to import a variable from a repo.
Would it still make sense to setup a CI for this project to simplify the verification for the other and potential future PRs? |
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.
💯
Port project to bzlmod:
#13