Normalizing output dir for charm build

Cory Johns cory.johns at canonical.com
Wed May 10 21:39:15 UTC 2017


There are separate env vars for layers and interfaces, and there should
probably be CLI args as well.  Perhaps instead of being required like the
output dir, if they're not provided they just aren't used.

It seems like deps should go under ~/.cache/charm-build/

On Wed, May 10, 2017 at 3:36 PM, Merlijn Sebrechts <
merlijn.sebrechts at gmail.com> wrote:

> * Drop the "builds" portion of the output directory (that was mainly to
>> distinguish it from the series portion).
>>
>
> We still need to distinguish the charms from `deps` and possibly from
> `layers` and `interfaces`.
>
> This is my $JUJU_REPOSITORY:
>
> ├── charms
> │   ├── builds
> │   ├── deps
> │   ├── interfaces
> │   ├── layers
>
>
> 2017-05-10 20:03 GMT+02:00 Cory Johns <cory.johns at canonical.com>:
>
>> 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/mailm
>> an/listinfo/juju
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju/attachments/20170510/81e0f495/attachment.html>


More information about the Juju mailing list