Normalizing output dir for charm build

Cory Johns cory.johns at canonical.com
Wed May 10 18:03:00 UTC 2017


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?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju/attachments/20170510/a4e3f37d/attachment.html>


More information about the Juju mailing list