Dist::Zilla::Role::RegisterStash - A plugin that can register stashes


This document describes version 0.003 of Dist::Zilla::Role::RegisterStash - released May 14, 2014 as part of Dist-Zilla-Role-RegisterStash.


    # in your plugin...
    with 'Dist::Zilla::Role::RegisterStash';

    # and elsewhere...
    $self->_register_stash('%Foo' => $stash);


Sometimes it's handy for a plugin to register a stash, and there's no easy way to do that (without touching $self->zilla->_local_stashes or somesuch).

This role provides a _register_stash() method to your plugin, allowing you to register stashes. Yes, the leading underscore is intentional: the purpose of this method is to allow the consuming plugin to register stashes, not anyone else, so this method is private to the consumer.


_register_stash($name => $stash_instance)

Given a name and a stash instance, register it with our zilla object.


Given a stash name (e.g. %Store::Git), return that stash. If our dzil claims to not be aware of any such stash we register a new instance of the stash in question and return it.


The development version is on github at http:// and may be cloned from git://


Please report any bugs or feature requests on the bugtracker website

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.


Chris Weyl <>

I'm a material boy in a material world

Please note I do not expect to be gittip'ed or flattr'ed for this work, rather it is simply a very pleasant surprise. I largely create and release works like this because I need them or I find it enjoyable; however, don't let that stop you if you feel like it ;)

Flattr this, gittip me, or indulge my Amazon Wishlist... If you so desire.


This software is Copyright (c) 2012 by Chris Weyl.

This is free software, licensed under:

  The GNU Lesser General Public License, Version 2.1, February 1999