[Haskell-cafe] managing local cabal package database

Adam Bergmark adam at bergmark.nl
Mon Dec 15 17:18:55 UTC 2014


I'm afraid I can't offer you any solutions yet, but here's how we do it:

We run our own hackage and have a wrapper around cabal that uses a separate
sandbox for each git branch. We also have one repository that contains most
of our cabal projects, submodules add a lot of overhead. This all works
well for local development but causes some problems with CI since we can
only increment version numbers on the master branch, non-master builds need
to checkout and build from the repository. I'd like to be able to use git
hashes as version numbers, and thinking about it it may actually fit into
our current workflow. I'll have to try it out :)

- Adam



On Mon, Dec 15, 2014 at 1:34 PM, Carl Eyeinsky <eyeinsky9 at gmail.com> wrote:
>
> Hi Daniel (and other readers),
>
>
> the use case is that if I have several versions of the private dependency.
>
> I.e I develop a project A, and after a while I find, that part of it wold
> be useful to break out to another package, so I make a package X and list
> it as dependencie. Here, 'add-source' works. BUT, some time later I'm done
> with A, and start developing B, and include X as a dependencie. Then, I
> find that X could use some improvements -- but after these my project A
> probably breaks due to these changes. The solution, of course, is
> versioning, but I think 'add-source' doesn't help there anymore (right?),
> unless I copy the head to another directory and do the improvements there.
>
> This last mentioned way (of leaving a trail of previous versions) is a
> manual way of version management. What I was thinking of is that, is there
> some paved solution available (short of running my own Hackage, which some
> do, as I've been reading.)
>
> Sorry -- I should have been much more explicit!
>
>
> Cheers,
>
>
> On Mon, Dec 15, 2014 at 10:00 AM, Daniel Trstenjak <
> daniel.trstenjak at gmail.com> wrote:
>>
>>
>> Hi Carl,
>>
>> > I'm wondering what do you guys use as the general method in developing
>> projects
>> > using your own private projects?
>>
>> Using a 'cabal sandbox' and its command 'add-source' to add a local
>> library seems to be the way to go.
>>
>>
>> Greetings,
>> Daniel
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>
>
>
> --
> Carl Eyeinsky
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20141215/ad4f15bc/attachment.html>


More information about the Haskell-Cafe mailing list