[Lazarus] Package management questions

Mattias Gaertner nc-gaertnma at netcologne.de
Fri May 14 17:25:46 CEST 2010


On Fri, 14 May 2010 16:39:06 +0200
Helmut Hartl <helmut.hartl at firmos.at> wrote:

> While working on a larger project I am contiously switching my work between
> 3-5 (feature) branches with the same files and the same 5 packages.
> (I am integrating and reviewing patches from 3 developers)
> 
> This works in principle very well, because of the good releative path 
> management of lazarus IDE.
> But I have some minor issues with the package system.
> 
> Considering 2 branches /physics and /network with packages packa,packb 
> ,packc i have the following workflow:
> 
> Preconditions:
> 1) "Package Requirement Directory" in Project "Engine" is stored with 
> option "Store dependecy filename"
> (Project Inspector Context Menu)
> 
> Now I want to switch from feature branch "physics" to "network".
> 
> 1) I have the project "Engine" open in Lazarus in branch "physics"
> (packa,packb,packc are now know to the ide from the physics branch 
> directory)
> 2) I open the project "Engine" in branch "network" (because lazarus 
> reloads my project on next open)
> 3) I close lazarus (because all my packages known to the IDE are now 
> from the wrong branch)
> 4) I remove the file  ide packagelink file : "rm 
> ~/.lazarus/packagefiles.xml"
> 5) I reopen lazarus, the project opens and the switch is done.
> 
> Is there a smarter way to do this ?
> 
> Nice would be when lazarus drops my known packages simply on project 
> open from the
> other branch dir, and uses the "right" ones automagically ...

Hmm. Good point.
The stored package files work as a fallback, if the user has not yet
opened the package file himself. To select the right package you can set
the min/max version. 
But for branches you have the same package with the same version
number. In this case the stored package file should be loaded. I can
add a flag and a new menu item to create this.


Mattias




More information about the Lazarus mailing list