Skip to content

ign -> gz : Support Citadel to Fortress Forward Port #784

Open
@methylDragon

Description

Main Parts

Header Migration

Two Three parter here!

  1. Remove redundant namespace references (if there's a prior using namespace XXX instance, this group of PR gets rid of MOST of the redundant namespace references.)
  • Most usefully, this removes a lot of ignition:: namespace references
  1. Migrate headers ignition -> gz. Create ignition -> gz redirection headers and use them locally (also use new namespaces)
  2. MIgrate include statements, folded into (2) Upon merge of (2), migrate all include statements to gz

We need (2) to merge first because otherwise as we're merging (3) downstream packages will break.

(2) must be merged in topological order.

Additionally, to not break ABI, ignition has to be the primary/canonical namespace. So usage of gz will redirect to ignition.
Also, some config.hh include statements have been added, and msgs was skipped because its headers are generated based off the directory of those headers.

Docs Migration

Building Locally

To test locally, you need to manually install the deps (we can't use the script on the installation guide because certain dependencies can't be found on jammy and it'll fail, so I had to edit the actual list (and this is what you see) :> )

sudo apt install libfreeimage-dev libgts-dev libavdevice-dev libzip-dev
sudo apt install libogre-1.9-dev libdart-external-ikfast-dev

sudo apt install binutils-dev build-essential cmake curl freeglut3-dev libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev libbenchmark-dev libcurl4-openssl-dev libeigen3-dev libfreeimage-dev libgflags-dev libglew-dev libgts-dev libjsoncpp-dev libogre-1.9-dev libprotobuf-dev libprotoc-dev libpython3-dev libsqlite3-dev libswscale-dev libtinyxml2-dev libtinyxml-dev liburdfdom-dev libwebsockets-dev libxi-dev libxml2-utils libxmu-dev libyaml-dev libzip-dev libzmq3-dev pkg-config protobuf-compiler python3-distutils python3-pybind11 python3-pytest qml-module-qtgraphicaleffects qml-module-qt-labs-folderlistmodel qml-module-qt-labs-settings qml-module-qtqml-models2 qml-module-qtquick2 qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs qml-module-qtquick-layouts qtbase5-dev qtdeclarative5-dev qtquickcontrols2-5-dev rubocop ruby ruby-dev ruby-ronn swig uuid-dev xvfb

Header Migration

Part I: Remove redundant namespace references

Created with a very hacky script (but good enough!) I did some hacky stuff to deal with the edge-cases, but it means some instances might have slipped through.

Because of the hacky stuff being done, the script can't be dropped in easily, but the structure can be followed if needed for other cleanup tasks. So I won't put it into release-tools.

Additional Note

Additionally, I couldn't get gz-sim to compile without adding an include statement for optional:

PR List

Part II: Create gz -> ignition redirection headers

Created with more hacky scripts.
I pulled from the install space, then redirected it.

PR List

Docs Migration

PR List

Metadata

Assignees

No one assigned

    Labels

    ign to gzRenaming Ignition to Gazebo.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions