Relative positions in the buildset

Olivier J. G. olivier.jg at gmail.com
Sat Jan 2 12:45:36 UTC 2010


> > 1. The order of the BuildItems isn't preserved, they are simply added as
> > soon as the project is finished loading
>
> Thats because the information is stored inside the project.
>

That's what I was complaining about :)

>
> > 2. The "automatically add loaded projects to buildset" option doesn't
> care
> > if you have previously removed a project
>
> Thats on purpose. If the option is enabled it always makes sure that a
> loaded project is buildable by just hitting F8. If you don't want that,
> then disable the option.
>

Fair Enough.

>
> > Considering that the purpose of the buildset is to be able to build a
> list
> > of specified projects in order, those two bugs are rather annoying.
> > Since the only place where build item changes are stored is in the
> project
> > where the build item originates, it would be a bit hackish and error
> prone
> > for the project to store its items positions relative to the other
> project's
> > items positions.
> > It seems that the best way to fix this would be to save all the build
> items
> > in the buildset to the session config, as well as keep a blacklist of
> > removed items, so that when a project is loaded, the buildset model can
> > check if it has any build items for that project, and add it (or not add
> it,
> > in the case of blacklisted items), accordingly.
>
> No, the storage inside the project was done on purpose so that the
> buildset can be moved from .kdev4/foo.kdev4 into the upper foo.kdev4 and
> hence be shared among developers.
>
> In fact I only added ordering to the buildset because we have no
> possibility to track inter-project dependencies currently (and
> in-project deps are not exposed via API). So one needs to order the
> stuff manually. Its not something that is supposed to stay forever.
>
> So if you want to fix that I'd like to suggest simply storing the row
> number with the item and re-order the items when a new one is inserted.
>

IMO the feature of a project knowing that it's in the buildset and that
information being shared with the other developers is a little dubious. That
is, it doesn't strike me as something that's a part of the project, but as
part of a developers individual preference (not the order, but whether or
not it's there). However, I'm not attached to that opinion too strongly,
especially seeing as how it won't matter in the long run, so hackish or not,
I'll go with the item/row storage.

- Olivier JG
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20100102/69dc2267/attachment.html>


More information about the KDevelop-devel mailing list