[Qbs] How to reload a parent project after inserting a sub-project

Christian Gagneraud chgans at gmail.com
Mon Jul 8 11:22:13 CEST 2019


On Mon, 8 Jul 2019 at 20:50, Christian Kandeler
<Christian.Kandeler at qt.io> wrote:
>
> On Mon, 8 Jul 2019 18:08:25 +1200
> Christian Gagneraud <chgans at gmail.com> wrote:
>
> > I'm back on https://codereview.qt-project.org/c/qbs/qbs/+/260217, i
> > decided that I should get that done and tested before I move on
> > QtCreator integration.
> > Conceptually, it works, i added a test that check that a sub-project
> > is correctly inserted, but for now, i need to re-setup the top project
> > using SetupProjectJob (in tst_api.cpp).
>
> I would not bother with any of that. Just update the files. Any halfway decent IDE will have a watch on the qbs files and re-resolve the project. I'm not ruling out that manually manipulating the build graph (as we do for file updates) is possible, but it seems quite  ambitious.
>

Yes indeed, it looked quite complicated to me. Sounds like a good plan
to use QtC's watch system, i guess the only thing I'm missing is
saving the edited file on the QtC side, or maybe it's better to do
that on Qbs side (but wouldn't be consistent with group/file
add/remove).
I need to do some minor cleanup on my Qbs review, i really would like
to have some tests, even if they are basic.
I was thinking about adding a function to tst_api that would simulate
a full project reload, this would allow me to verify that i can add
and remove references to the toplevel project and check for error
cases, maybe another simple test to make sure it works for nested
project.
Any objection with that approach?

Thanks,
Chris


More information about the Qbs mailing list