VPATH support for projects

Kuba Ober kuba at mareimbrium.org
Tue Mar 27 13:09:43 UTC 2007


On Friday 23 March 2007, Andreas Pakulat wrote:
> On 23.03.07 09:10:29, Kuba Ober wrote:
> > Aegis is a software configuration management system. The way it handles
> > branching and changes is to only have changed files in a branch/change.
> > To find a file, you have to look in your change, if not there look in all
> > the branches up along the way to the baseline, then look in the baseline.
>
> ...
>
> > I was wondering whether someone would have a big urge to implement this
> > for kdevelop 4, and if not where to start looking in the code? I'd
> > imagine that VPATH would be a global project property, and basically
> > ignored if empty, and used if not-empty.
>
> Can one use any buildsystem on top of aegis-managed projects? Or does
> aegis provide itself a buildsystem?

You can use whatever build tool you wish with aegis, although for most tools 
you'll have to revert to hacks such as symlinks, touching local files on 
upstream integrations, etc.

aegis doesn't care or know about builds, they can be a no-op (build command 
set to true) - in which case it mimics svn. What aegis does is make sure that 
generated files, if any, are kept in the repository so that when you check 
out and do "make", it will be a no-op until some source files get changed. 

Aegis is used, for example, to manage /etc and /var/named on servers where 
admins want a little more control -- in such cases build would merely check 
the integrity of config files, domains to reverse domains and such.

> From your description I'd say you should write a plugin that implements
> IProjectFileManager, which deals with finding files. If you can use
> different buildsystems on top of aegis, thats a good thing. Because its
> a use-case for something I was thinking about lately: Split
> filemanager+buildsystemmanager into 2 separate interfaces. If aegis is
> itself a buildsystem too, then thats no problem either, just implement
> the IBuildSystemManager instead. There you won't need any VPATH, as you
> can just assume that aegis exists and can use its facilities to find the
> files.

That makes sense. IProjectFileManager can directly interface with aegis 
commands or database to obtain the file list. It can also issue relevant 
aegis commands to manage those files (add new ones, delete, rename, 
checkout).

I'll look into that.

Thank you,

Kuba




More information about the KDevelop-devel mailing list