Skip to content

Consider binaries to implement the functionality offered by gz #7

@osrf-migration

Description

@osrf-migration

Original report (archived issue) by Carlos Agüero (Bitbucket: caguero, GitHub: caguero).


Right now, ign is a ruby script that offers several subcommands (topic, msg, etc.). Each subcommand is implemented by a function inside a versioned Ignition shared library. ign also keeps track of multiple versions of the same library. This approach has some issues, in particular we have detected:

  1. Difficulty for using gdb when running ign. Imagine for example running ign gazebo …
  2. Portability issues. E.g.: On Windows, there are ABI problems interacting from Ruby (compiled with MinGW) and an Ignition shared library (compiled with Visual Studio).

An idea for mitigating these issues might be to move the functionality from a shared library to a binary (e.g.: igntopic). In this case, ign should invoke the right external binary. The solution to (1) is to run gdb with the binary directly without using ign. (2) probably won’t happen again as we wouldn’t need to interact with a shared library anymore, just executing an external binary which looks less involved.

On the other hand, each Ignition library should do some refactor and expose a binary (or a collection of binaries) that capture all functionality to be executed from the command line.

Metadata

Metadata

Labels

Type

No type

Projects

Status

In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions