[PATCH] Build configuration hints

Andreas Pakulat apaku at gmx.de
Sun Feb 17 08:09:13 GMT 2008


On 17.02.08 01:13:54, Nicolai Hähnle wrote:
> Am Samstag 16 Februar 2008 22:45:24 schrieb Andreas Pakulat:
> > As for notification of empty buildsets: I'm going to simply disable the
> > actions (and have proper tooltips) when the buildset is empty. I'm not
> > sure yet, but maybe this will also move into a submenu called "Buildset"
> > or some such.
> 
> Okay. Maybe the '+' button in the Project Manager view should also be disabled 
> when the tree view has no selection?

Possibly and the - button disabled when there's no selection in the
buildset view. Though I hope you're aware that all this is rather
"cosmetic" stuff and we're (read: I am) simply not yet at the level to
do such things because there's quite a fair bit of "low level" stuff
thats not there yet.

> > And about notifying of failed builds:  Two problems
> > - the building shouldn't break on the first item that is not buildable,
> >   items might belong to different independant projects so building
> >   should only skip items that depend on a non-buildable item. Thats
> >   something on my todo list.
> 
> Maybe I should explain my line of thought that lead to the patch.
> 
> First of all, just calling IBuildReport::configure before the build won't work 
> in the situation that I wanted to address, where the build directory etc. 
> isn't set up. Ideally, the Configure Project dialog would be shown in this 
> case, but I didn't figure out how to access that. Maybe I should look into 
> that.

Exactly. If you look at the kdevelop-devel list archive I proposed to do
exactly that for cmake projects, unfortunately I didn't yet have the
time. As you see KDevelop4 is simply not ready for general use.

> Now, guiding the user to the Configure Project dialog is very useful,

Thats not what I was going to do. configure() on a cmake project would
simply present a simple gui to choose a builddir and possibly set some
cmake options.

> but it 
> messes with modality in a way that could be confusing. (Consider that a new 
> user can spend significant time trying to understand that dialog, and by the 
> time they're done with it, they might not even want to go ahead with the 
> build.) Therefore, I thought it would be best to just return to a completely 
> neutral state (i.e. no further builds) after the dialog interruption.

See above, there's no real interruption of the users flow here. And we'd
like to keep states out of KDevelop as much as we can because that
introduces quite a bit of complexity. A few ones are going to be there
(Editing, Debugging, possibly Building), but that should be kept at a minimum

> To summarize:
> 1) I did think about the problem of building several, unrelated items.
> 2) I came to the conclusion that interrupting the build in the case of a 
> significant build system misconfiguration is preferable. (Note the 
> distinction between misconfiguration and compiler error.)

As I said, that is an error for just 1 project and IMHO shouldn't affect
the building of other projects - if possible.

And IMHO a failing cmake run or not running it at all should be
considered the same as a compile error, except that for not having it
run at all we can be a bit smarter than just notifying the user and ask
him for a builddir. We can even think about proposing
<projectdir>/build/ as default for cmake projects.

Andreas

-- 
Today is what happened to yesterday.




More information about the KDevelop mailing list