[Qt-creator] Request advices for Qt Creator plugin developers to adopt API changes easily

André Pönitz apoenitz at t-online.de
Sat Feb 13 07:52:32 CET 2021


On Wed, Feb 03, 2021 at 11:04:20PM +0800, Vincent Hui wrote:
>    Hi Andre',

Hi.

>    Sorry for my late reply.
>    Now the contributors of ros_qtc_plugin are preparing upstreaming
>    ros_qtc_plugin to Qt Creator repository.
>    [1]https://github.com/ros-industrial/ros_qtc_plugin/issues/406#issuecomment-766868092
>    Would you mind giving them some advices how to upstream ros_qtc_plugin to
>    Qt Creator repository quickly. I think upstreaming ros_qtc_plugin can
>    greatly benefit to both of ROS community of Qt community.
>    br,
>    Vincent

Sorry, this fell through the cracks.

We had a short chat in the meantime here.

There are currently two possible ways to integrate plugins into Creator,
first a "full integration" in the Creator core code base, with all the benefits
and all the restrictions, and second an integration as submodule in the
super-repo, which currently contains Creator proper as submodule, as well
as a Haskell support plugin and a plugin for the fossil source control system.
The super-repo is located at http://code.qt.io/cgit/qt-creator/qtc-super.git/

The long term plan is to move more to the modular (i.e. super-repo) path.
It also looks like the ros_qtc_plugin seems to have a hard dependency
on QTerminalWidget which would probably be hard to get into the
Creator core because that would need the license agreement be accepted
from the QTerminalWidget folks.

So the suggestion is to choose the second option, i.e. have
https://code.qt.io/cgit/qt-creator/plugin-ros.git similar to what is there for
plugin-haskell and plugin-fossil, and link that as submodule from qtc-super.

This would require:
- someone to request the creation of this repo on the
  development at qt-project.org<mailto:development at qt-project.org> mailing list
  and create a corresponding jira task. Anyone could do that, if you don't
  want to, I'd do it,
- in that request we need to name someone who will feel responsible for it,
  suggestion here is that this is you or someone else from the ROS community

The implications of being in the super-repo are:
- the plugin will get "automatical" updates when internal Creator API changes,
  so it is kept *compilable*, but final verification of a "working" state will
  (often) be left to the "responsible person"
- the plugin will *not* be part of the pre-compiled Qt Creator binaries or the
  Qt install.
- there will be pre-build binaries for the plugin created for each Qt Creator
  release, at https://github.com/qt-creator/plugin-ros/releases/..., which
  can be used together with the pre-compiled Qt Creator binaries.
- there would be no hard requirement to stick to Qt Creator coding style rules.

If that sounds ok for you we'd need the name of the "responsible person"
to request the repo.

If it is not ok for you, we can have a second look on whether integration into
the Creator core distribution would be possible. That would start with
clarifying the state of the QTermWidget dependency.

Best regards,
Andre'


>    On Wed, 8 May 2019 at 05:31, André Pönitz <[2]apoenitz at t-online.de> wrote:
> 
>      On Tue, May 07, 2019 at 04:16:17PM +0800, Vincent Hui wrote:
>      > Hi,
>      >
>      > Thank for developing Qt Creator such a great IDE.
>      >
>      > I am a user of ROS Qt Creator Plug-in
>      > <[3]https://github.com/ros-industrial/ros_qtc_plugin>. After a new
>      version of
>      > Qt Creator had been released, it took the developer of ROS plugin a
>      long
>      > time to adopt Qt Creator API changes to support a new version of Qt
>      Creator.
>      >
>      > My question is how to let plugin developers to adopt API changes
>      easily so
>      > that tey can release newer pulgins quickly ?
> 
>      The changes are all visible in git, so in principle anyone interested
>      could
>      follow up immediately.
> 
>      However, I see and know that this is quite some effort.
> 
>      One potential workaround is to develop the plugin in-tree, i.e. submit
>      it
>      to the Qt Creator source on [4]codereview.qt-project.org. If it is
>      accepted
>      there it will at least get mechanical adapted to API changes. Release
>      testing and/or feature work will not be covered.
> 
>      Andre'
> 
> References
> 
>    Visible links
>    1. https://github.com/ros-industrial/ros_qtc_plugin/issues/406#issuecomment-766868092
>    2. mailto:apoenitz at t-online.de
>    3. https://github.com/ros-industrial/ros_qtc_plugin
>    4. http://codereview.qt-project.org/


More information about the Qt-creator mailing list