[Qbs] Deployment issues

Christian Kandeler christian.kandeler at qt.io
Tue Jun 19 16:54:58 CEST 2018


On Tue, 19 Jun 2018 01:28:50 +0300
Павел Лысенко via Qbs <qbs at qt-project.org> wrote:

> I have created a toolset for app deployment. The toolset consist of some tool applications, scripts, images and qbs modules. The apps (and other staff) declared as products within qbs project.
> To make toolset available for all projects, I've added qbs modules to search path by ' qbs config preferences . qbsSearchPaths  my/toolset/default/location '
> And here are 2 issues:
> 
> 1. Toolset uses it's own modules to deploy itself. That works fine, but if it is already installed, there are 2 same modules in different locations (my/toolset/repo/clone vs my/toolset/defult/location) and qbs throws an error. I have to delete installed toolset if I want to build the updated one. And module version property is not suit for me, because other modules could be updated while depoy module version remains the same. Is something to allow select module explicitly (like Depends{ name: "someModule"; path: "path/to/someModule" }) is planned?

I think this case is handled by
https://codereview.qt-project.org/#/c/229159 and the problem should no longer exist with qbs 1.12.

> 2. I've tried to use windeployqt --dry-run to collect deployment rule output artifact list, but multiple tools are located in the same folder and that leads to artifact collisions. So, I've removed them from build graph, however there is a racing could happen now. Is there some designed solution for this case?

Sorry, you'll need to be more specific. What are the collisions, and what kind of race do you get?

> I've seen some mentions about planned win(mac)deployqt replacements for qbs, but cannot find any related tickets to follow. Is that actually planned?

This functionality will definitely be added, but the general concept hasn't been worked out yet.


Christian



More information about the Qbs mailing list