Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Dump a textual representation of each phase's parts.

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 corpus
Octocat-spinner-32 layout
Octocat-spinner-32 lib
Octocat-spinner-32 maint-travis-ci
Octocat-spinner-32 media
Octocat-spinner-32 t
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .perltidyrc
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 Changes
Octocat-spinner-32 README.mkdn
Octocat-spinner-32 dist.ini
Octocat-spinner-32 perlcritic.rc
Octocat-spinner-32 weaver.ini
README.mkdn

NAME

Dist::Zilla::App::Command::dumpphases - Dump a textual representation of each phase's parts.

VERSION

version 0.6.0

SYNOPSIS

cd $PROJECT;
dzil dumpphases

dzil dumpphases --color-theme=basic::plain # plain text
dzil dumpphases --color-theme=basic::green # green text

If you are using an HTML-enabled POD viewer, you should see a screenshot of this in action:

( Everyone else can visit http://kentfredric.github.io/Dist-Zilla-App-Command-dumpphases/media/example_01.png )

{ "namespace":"Dist::Zilla::App::Command::dumpphases", "inherits":"Dist::Zilla::App::Command", "interface":"class" }

DESCRIPTION

Working out what Plugins will execute in which order during which phase can be a little confusing sometimes.

This Command exists primarily to make developing Plugin Bundles and debugging dist.ini a bit easier, especially for newbies who may not fully understand Bundles yet.

If you want to turn colors off, use Term::ANSIcolor's environment variable ANSI_COLORS_DISABLED. E.g.,

ANSI_COLORS_DISABLED=1 dzil dumpphases

Alternatively, since 0.3.0 you can specify a color-free theme:

dzil dumpphases --color-theme=basic::plain

TERMINOLOGY

Technically speaking, this utility deals with more than just "phases", it will in fact dump all plugins used, and it will in the process of doing so, dump things that are part of the clearly defined "phases" that occur within Dist::Zilla.

However, if you want to be pedantic, and understand how Dist::Zilla works, then you must understand, many of the things this module calls "phases" are not so much phases.

At its core, Dist::Zilla has an array, on which all Plugins are stored.

A Plugin, in itself, will not do very much ( at least, not unless they do instantiation-time changes like [Bootstrap::lib]

There are 3 Primary kinds of plugin

  • Auxiliary Plugins

    Plugins which exist to augment other plugins ( For instance, -FileFinder's ).

    Dist::Zilla itself essentially ignores these, and their consumption is entirely regulated by other plugins.

  • Phase Plugins

    Plugins which hook into a specific and determinate phase of the Dist::Zilla build/test/release cycle.

    These all provide primary methods, which Dist::Zilla directly calls somewhere in its core code base.

    Good examples of Phase plugins perform -FileGatherer

  • A Third Kind

    There's a third kind of Plugin, which is somewhere between the other two, which I presently lack a name for.

    Like the Phases, they provide primary methods, which are called by Dist::Zilla directly, and they provide information for infrastructural components of the Dist::Zilla development process.

    However, they're not strictly "phases", because exactly when they will be called ( or if they will be called at all ) is heavily dependent on usage.

    For instance, -VersionProvider, which is dependent on a few variables, and is called only when its needed, the first time its needed.

    Which means it could occur as early as creating META.json or it could occur as late as just before it writes the distribution out to disk.

This App::Command command will indeed list all of the above, but for the sake of ease of use, the "Third kind" is informally under the umbrella of a "phase".

METHODS

opt_spec

This command takes one optional parameter

  • color-theme

    dzil dumpphases --color-theme=<THEME>
    

    The name of a color theme to use.

    Existing themes are:

    • basic::blue
    • basic::green
    • basic::red
    • basic::plain

AUTHORS

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Kent Fredric kentnl@cpan.org.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

Something went wrong with that request. Please try again.