"svn externals/git submodules/ bzr XXX" in charms (was Re: Juju feedback from the Launchpad Yellow Squad)
gary.poster at canonical.com
Wed Feb 15 19:38:06 UTC 2012
Thank you for the positive feedback to our feedback. :-)
I had a quick note on one reply:
On 02/15/12 14:09, Mark Mims wrote:
> On 02/15/2012 11:30 AM, Graham Binns wrote:
>> * Juju should have a way to share code across Charms, like helpers.
>> bzr does not provide something like svn-external, unfortunately, so
>> this might need to be a build step of some sort. We've got around
>> this by using symlinks during development, but that's no good for
>> production usage.
> We're currently trying to collect such helpers into packages like
> They're in a ppa:charmers/charm-helpers built from lp:charm-tools. We
> definitely need to make this more visible in docs/faqs as you mention
> above. We've been sort of letting best-practices for charming grow
> organically to date, but it's time to cut some clear decisions and
> recommendations for this before the precise release.
That's great, yes.
That said, there are still other use cases for svn-external type sharing
with charms. Here are a few.
- In general, when you are developing charms, it's nicer to have a
lighter-weight mechanism than a deb, as you figure out what you want.
Keeping two copies of the file in sync by mutual agreement failed for us.
- This might be particularly the case if you are simultaneously
developing charms that handshake, as we were. You'll notice
abstractions, and want to pull them out as you are working.
- If you are developing charms that handshake or that even simply work
in similar domains, you might want to have code that is shared but that
is not appropriate for promoting beyond a certain scope. IOW, the
shared code really is not generic to all charms, but only to a few
charms. A case in point is that, in addition to our "helpers.py," which
we consider generic to charms, we also have local.py, which has code
shared between buildbot slave and buildbot master but that is not
interesting beyond that scope.
More information about the Juju