Normalizing output dir for charm build

Pete Vander Giessen pete.vandergiessen at canonical.com
Wed May 10 19:15:39 UTC 2017


I am also +1 to the effort (thank you, Merlijn!)

My first instinct would be to keep mycharm/builds as the default output
dir, as that matches the behavior of other tools (like Python's dist
tools). I see the arguments against it, though; it's probably better to
either do the "right" thing and output to a local juju repository, or
require the charm author to specify an alternate setup. That gives people a
predictably consistent experience if they do nothing, while preserving
their ability to give themselves a unique experience :-)

~ PeteVG

On Wed, May 10, 2017 at 2:45 PM Charles Butler <charles.butler at canonical.com>
wrote:

> I am +1 on this effort.
>
> Lets drop dead code paths for juju 1.x and push forward with Juju 2.x
> standards.
>
> Constantly dancing the dance of convention over configuration feels like
> we've lost sight of simplification and making things simpler is always
> welcome in my book.
>
>  / my two cents
>
> All the best
>
> On Wed, May 10, 2017 at 1:03 PM Cory Johns <cory.johns at canonical.com>
> wrote:
>
>> Started on https://github.com/juju/charm-tools/pull/320, I'd like to
>> bring this discussion to the list.
>>
>> The output directory for charm build can vary in seemingly unpredictable
>> ways depending on how it is called, the environment, and the charm's
>> metadata.yaml contents.  This is due to historical reasons, primarily with
>> how Juju 1.x worked and how charm paths worked prior to the advent of
>> multi-series charms.  However, now that 2.x and multi-series support are
>> standard, I would like to push for simplifying the output directory, based
>> on Merlijn's PR.
>>
>> Specifically, I'd like to push for the following changes:
>>
>> * Drop the series portion of the output directory (we recommend providing
>> the series in the charm's metadata, making it redundant in the path).
>> * Drop the "builds" portion of the output directory (that was mainly to
>> distinguish it from the series portion).
>> * Drop the current directory as a fallback option for the output
>> directory (it causes more confusion than it saves).
>>
>> Thus, charm build would always require an output directory to be given
>> either via --output-dir (-o) or via the $JUJU_REPOSITORY environment
>> variable, and would always put the built charm in $output_dir/$charm_name
>>
>> Obviously, this is not backwards compatible, and may affect automated
>> build systems, but I think it would be easy to adjust for and simplify
>> things for everyone concerned.
>>
>> Thoughts?  Objections?
>> --
>> Juju mailing list
>> Juju at lists.ubuntu.com
>> Modify settings or unsubscribe at:
>> https://lists.ubuntu.com/mailman/listinfo/juju
>>
> --
> Juju Charmer
> Canonical Group Ltd.
> Ubuntu - Linux for human beings | www.ubuntu.com
> conjure-up canonical-kubernetes | jujucharms.com
> --
> Juju mailing list
> Juju at lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/juju
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju/attachments/20170510/d4dbd37e/attachment.html>


More information about the Juju mailing list