Skip to content
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

Workspace setup #95

Closed
stonier opened this issue Jul 30, 2019 · 3 comments
Closed

Workspace setup #95

stonier opened this issue Jul 30, 2019 · 3 comments

Comments

@stonier
Copy link
Collaborator

stonier commented Jul 30, 2019

TLDR; wsetup is a magic tool that masks workspace creation details / contains custom details.

  • So much scripting/templating, it's not easy to determine what it actually does
  • Should aim to become obsolete

What does that mean in terms of next steps? Just rough thoughts for now...

  • A single command that can be called to ensure 'dsim build essentials' are configured & installed
  • A single command that synchronises an underlay to a) built ament binaries and b) 3rd party non-ament binaries
  • Do we need our own rosdep source (maybe other workarounds for non-deb/non-ament packages)

At that point we should have a very simple setup script that works with vcs, rosdep, colcon and instructions mostly revolve around instructions on those tools.

@hidmic
Copy link
Contributor

hidmic commented Jul 30, 2019

Some thoughts:

wsetup is a magic tool that masks workspace creation details / contains custom details.

That used to be the case, but today it's simply setting up an environment. We could change the instructions (and the instructions only) to skip it entirely. To pull repositories and build them, we use ROS 2 standard tools plus non-standard prereqs-install (that is not much more than an elegant find . -name prereqs -exec {} +), so no magic there.

As a side note, I personally think having sandboxed development environments is a good thing. I've had to cleanup my Ubuntu boxes enough times working across multiple projects to learn not to use my root filesystem for everything. But that's personal bias and many may not think alike.

A single command that can be called to ensure 'dsim build essentials' are configured & installed

That's the role that prereqs-install fulfills at the moment.

Do we need our own rosdep source (maybe other workarounds for non-deb/non-ament packages)

That's been in the roadmap for a while but we never took it far enough. May help us with ignition libraries right away, not sure about the rest.

@stonier
Copy link
Collaborator Author

stonier commented Dec 22, 2020

Still have the same concerns - building maliput & co is too coupled to our workflow and so much magic therein (also not transparent), but closing this one out in favour of more concrete action items. See also #139.

@stonier stonier closed this as completed Dec 22, 2020
@stonier
Copy link
Collaborator Author

stonier commented Dec 22, 2020

As a side note, I personally think having sandboxed development environments is a good thing.

No arguments there, but for users who want to build maliput and family, they shouldn't be forced to use the environment we use. They'll have their own unique system and integration requirements. Currently it's very hard not to do it our way because it's a bit of a maze and not at all transparent.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants