NAME
Minilla::CLI::Dist - Make tar ball distribution
SYNOPSIS
% minil dist
% minil dist --skip-prepare
OPTIONS
- --no-test, --notest
-
Skip distribution tests. Both spellings are supported.
- --skip-prepare
-
Use files generated by
minil prepareinstead of regenerating them.
DESCRIPTION
This sub-command makes distribution tar ball.
On success, it writes a single JSON object such as {"dist": "Acme-Foo-0.01.tar.gz"} followed by a newline to standard output. The dist field contains the path of the archive copied to the project directory, relative to the directory where minil dist was invoked. No result is logged if creating or copying the archive fails. Build progress and test output are written to standard error by the CLI.
With --skip-prepare, files generated by minil prepare, including README.md and Build.PL or Makefile.PL, are copied from the prepared source tree without being regenerated. The prepared META.json fields are preserved, while release_status and provides are finalized in the archive using the same rules as a normal distribution build. The source META.json is not changed. Packaging files such as META.yml and MANIFEST are still generated.
To make distribution archives reproducible, Minilla uses the timestamp of the Git HEAD commit for every tar entry when available. If SOURCE_DATE_EPOCH is set, Minilla follows the reproducible-build convention and uses its value instead. In either case, tar metadata and the gzip header are canonicalized so identical distribution inputs produce identical archives. If neither timestamp is available, Minilla retains its legacy archive behavior.