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

Prepare GuiRunner to be made private #567

Merged
merged 13 commits into from
Feb 10, 2021
Merged

Prepare GuiRunner to be made private #567

merged 13 commits into from
Feb 10, 2021

Conversation

chapulina
Copy link
Contributor

@chapulina chapulina commented Jan 15, 2021

The GuiRunner class was never meant to be installed. This PR starts the tick-tock deprecation of that class so it can be moved to src/gui and no longer installed.

  • Deprecate the constructor on v5
  • Use PIMPL pattern so that the class can be extended during v5 if needed
  • Move the header to src/gui on v6

@chapulina chapulina added the GUI Gazebo's graphical interface (not pure Ignition GUI) label Jan 15, 2021
@github-actions github-actions bot added the 🏢 edifice Ignition Edifice label Jan 15, 2021
Copy link
Contributor

@caguero caguero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a minor comment, other than that looks good to me!

include/ignition/gazebo/gui/GuiRunner.hh Outdated Show resolved Hide resolved
@chapulina chapulina requested a review from ahcorde February 8, 2021 19:56
Copy link
Contributor

@ahcorde ahcorde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UNIT_Gui_TEST is not compiling

  ../../lib/libignition-gazebo5-gui.so.5.0.0~pre1: undefined reference to `ignition::gazebo::IGNITION_GAZEBO_VERSION_NAMESPACE::GuiRunner::~GuiRunner()'
  ../../lib/libignition-gazebo5-gui.so.5.0.0~pre1: undefined reference to `ignition::gazebo::IGNITION_GAZEBO_VERSION_NAMESPACE::GuiRunner::RequestState()'
  ../../lib/libignition-gazebo5-gui.so.5.0.0~pre1: undefined reference to `ignition::gazebo::IGNITION_GAZEBO_VERSION_NAMESPACE::GuiRunner::~GuiRunner()'
  ../../lib/libignition-gazebo5-gui.so.5.0.0~pre1: undefined reference to `ignition::gazebo::IGNITION_GAZEBO_VERSION_NAMESPACE::GuiRunner::OnPluginAdded(QString const&)'
  ../../lib/libignition-gazebo5-gui.so.5.0.0~pre1: undefined reference to `vtable for ignition::gazebo::v5::GuiRunner'

Signed-off-by: Louise Poubel <[email protected]>
@chapulina
Copy link
Contributor Author

UNIT_Gui_TEST is not compiling

I think I fixed it in ae049d0

@ahcorde
Copy link
Contributor

ahcorde commented Feb 9, 2021

issues on MACOS https://build.osrfoundation.org/job/ignition_gazebo-ci-pr_any-homebrew-amd64/4927/consoleFull#2138011276ea37b8d-a6d4-40ae-8431-d90c018842af

In file included from /Users/jenkins/workspace/ignition_gazebo-ci-pr_any-homebrew-amd64/ign-gazebo/src/gui/GuiRunner.cc:29:
In file included from /Users/jenkins/workspace/ignition_gazebo-ci-pr_any-homebrew-amd64/ign-gazebo/include/ignition/gazebo/gui/GuiRunner.hh:26:
In file included from /usr/local/include/ignition/utils1/ignition/utils/ImplPtr.hh:246:
/usr/local/include/ignition/utils1/ignition/utils/detail/ImplPtr.hh:130:46: error: chosen constructor is explicit in copy-initialization
            new T{std::forward<Args>(args)...},
                                             ^
/Users/jenkins/workspace/ignition_gazebo-ci-pr_any-homebrew-amd64/ign-gazebo/src/gui/GuiRunner.cc:53:20: note: in instantiation of function template specialization 'ignition::utils::MakeUniqueImpl<ignition::gazebo::v5::GuiRunner::Implementation>' requested here
  : dataPtr(utils::MakeUniqueImpl<Implementation>())
                   ^
/usr/local/include/ignition/transport10/ignition/transport/Node.hh:212:24: note: explicit constructor declared here
      public: explicit Node(const NodeOptions &_options = NodeOptions());
                       ^
/Users/jenkins/workspace/ignition_gazebo-ci-pr_any-homebrew-amd64/ign-gazebo/src/gui/GuiRunner.cc:42:27: note: in implicit initialization of field 'node' with omitted initializer
  public: transport::Node node;
                          ^
1 error generated.
make[2]: *** [src/gui/CMakeFiles/ignition-gazebo5-gui.dir/GuiRunner.cc.o] Error 1

@codecov
Copy link

codecov bot commented Feb 9, 2021

Codecov Report

Merging #567 (8142ac5) into main (2bc062d) will not change coverage.
The diff coverage is 47.36%.

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #567   +/-   ##
=======================================
  Coverage   77.38%   77.38%           
=======================================
  Files         213      212    -1     
  Lines       12016    12016           
=======================================
  Hits         9298     9298           
  Misses       2718     2718           
Impacted Files Coverage Δ
src/gui/Gui.cc 65.11% <ø> (ø)
src/gui/GuiRunner.cc 55.35% <47.36%> (+0.81%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2bc062d...7d190e2. Read the comment docs.

Signed-off-by: Louise Poubel <[email protected]>
@chapulina
Copy link
Contributor Author

issues on MACOS

phew, fixed it by calling transport::Node's constructor.

Copy link
Contributor

@ahcorde ahcorde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there are some tests failing in the github actions but they are unrelated

@chapulina chapulina merged commit 8f1f44f into main Feb 10, 2021
@chapulina chapulina deleted the chapulina/5/guirunner branch February 10, 2021 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏢 edifice Ignition Edifice GUI Gazebo's graphical interface (not pure Ignition GUI)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants