Normalizing output dir for charm build
Cory Johns
cory.johns at canonical.com
Thu May 11 13:28:21 UTC 2017
Yes, that's what I'm proposing.
On Thu, May 11, 2017 at 4:47 AM, Merlijn Sebrechts <
merlijn.sebrechts at gmail.com> wrote:
> 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/a204c35b/attachment.html>
More information about the Juju
mailing list