Normalizing output dir for charm build
Merlijn Sebrechts
merlijn.sebrechts at gmail.com
Thu May 11 08:47:49 UTC 2017
>
> It seems like deps should go under ~/.cache/charm-build/
+1
Now, to be clear, the structure you propose is something like the following?
├── charms # $JUJU_REPOSITORY
│ ├── my-charm
│ ├── ...
├── interfaces # $INTERFACE_PATH
│ ├── ...
├── layers # $LAYER_PATH
│ ├── ...
2017-05-10 23:39 GMT+02:00 Cory Johns <cory.johns at canonical.com>:
> 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/20170511/a2292bbe/attachment.html>
More information about the Juju
mailing list