Thanks for trying it out Christian! I will try to answer some of your questions:
qbs-autoproject tooks something like 10 to 15 minutes (as advertised)
Take a look at https://github.com/Resurr3ction/qbs-autoproject#performance-tips
if any of those could help you there. Particularly not using the contentPattern
and removing unused items should help a lot. If you just want to see the
structure (like the qbs-create-project does) you may disable the dependency
scanner by setting dependencyMode = DependencyMode.Disabled.
At this stage, i'm not sure if qbs-autoproject refused to write the qbs
files, or if it allows to generate broken qbs files, that can then be
fixed manually.
qbs-autoproject will write out only one file that will be named as your root
directory. Since you cannot edit it (because it would be overwritten) I did not
see any benefit in splitting it into multiple files. It is also easier to debug
when all projects/products are in single file imho.
After trying the "full" dependency-tracked custom Qbs (Export items), i
decided that i don't want that. I like it, but I cannot afford so to
speak. My DAG is so wild, that qbs fight to load it and i end up with
Linux's limits.conf problems. Such as command line too long (true) and
too many open files (Ubuntu's mistake).
Now this is interesting. Could you tell me more about these issues? Export item
vs include-directory should not be a significant difference except for the
cyclic dependency problem. Have you tried NoHeaderOnly dependencyMode?
It's not clear to me how i can inject my initial qbs support files into
the qbs-autoproject ones, maybe i just need to edit '.qbs-autoproject/'
files. I found it hard to define "where the project is", "what the
project name is", and "where is my custom stuff".
All your custom stuff should be done via custom items and modules. So in your
case you would edit (or remove or add more) stuff in .autoproject/imports/ and
then you would link these to the qbs-autproject via the `items` property -
giving them the pattern etc.
______________________________________________________________
Od: Christian Gagneraud <[email protected]>
Komu: [email protected]
Datum: 27.10.2017 12:52
Předmět: Re: [Qbs] qbs-autoproject
On 25/10/17 12:24, Christian Gagneraud wrote:
> On 25/10/2017 10:30 AM, [email protected] wrote:
>> Hi everyone,
>>
>> I would like to announce:
>>
>> *qbs-autoproject*
>>
>> "A project file to end all project files."
>>
>> **https://github.com/Resurr3ction/qbs-autoproject <https://github.com/Resurr3ction/qbs-autoproject>
>
> Wow! It looks interesting, I will definitely give it a try on our
> project!
I watched the QtWS video about Qbs, and discovered the
"qbs-create-project" command.
I tried both tools on a somehow large project, qbs-autoproject tooks
something like 10 to 15 minutes (as advertised), qbs-create-project was
so fast that i thought it failed immediately.
The 2 projects project have quite a different approach, but i see good
things for both.
I am interested by these tools, as for now, i have 2 of my own -
customised for my very specific case:
- A shell script (yes), it can generate the perfect set of qbs file
from a set of msvc projects that allows me to use QtCreator as an
editor, generated qbs files are unmaintainable, it takes a minute or so
to execute.
- Python code (WIP) that parse an msvc solution, and generate qbs
files that allow me to fully use QtC and provide clean Qbs files.
The python stuff doesn't work yet as i would like.
qbs-autoproject generated an interesting file structure while
qbs-create-project both in flat and hierarchy mode didn't suit me (when
used in QtC).
qbs-autoproject goes through a dependency analysis phase which is
interesting but very slow (as advertised), guess what? My code base
failed the acyclic test. Thank you for letting me know! ;)
Luckily it is easy to fix.
At this stage, i'm not sure if qbs-autoproject refused to write the qbs
files, or if it allows to generate broken qbs files, that can then be
fixed manually.
After trying the "full" dependency-tracked custom Qbs (Export items), i
decided that i don't want that. I like it, but I cannot afford so to
speak. My DAG is so wild, that qbs fight to load it and i end up with
Linux's limits.conf problems. Such as command line too long (true) and
too many open files (Ubuntu's mistake).
It's not clear to me how i can inject my initial qbs support files into
the qbs-autoproject ones, maybe i just need to edit '.qbs-autoproject/'
files. I found it hard to define "where the project is", "what the
project name is", and "where is my custom stuff".
I don't think that Qbs has and want a cpp parser in their dependency,
but maybe a project generator plugin system (importer from a Qbs user
POV) could allow for optional heavy dependencies.
I'm just thinking loudly, I unfortunately didn't have much time to play
with qbs-autoproject and qbs-create-project tools.
Who wrote qbs-create-project by the way?
Chris
_______________________________________________
Qbs mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/qbs
<http://lists.qt-project.org/mailman/listinfo/qbs>
_______________________________________________
Qbs mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/qbs