TaskPipe::Tool::Command - base class for TaskPipe Tool commands


See individual <TaskPipe::Tool::Command_...> packages for information on specific commands. You should not use this class directly.

You can create a new tool command by inheriting from this class. However, this is not for the faint-hearted and not recommended if you don't fully understand TaskPipe architecture.

The inherited package should look like this:

    package TaskPipe::Tool::Command_NewCommand;
    use Moose;
    extends 'TaskPipe::Tool::Command';
    with 'MooseX::ConfigCascade';

    has option_specs => (is => 'ro', isa => 'ArrayRef', defaults => sub{[
        # which options are available for your command?
        # Enter settings attributes like this:
            module: (name of module to take settings from)
            items: [
                # (arrayref of attributes to take from 
                # the module - or omit to take them all)
            is_config: 1 # Boolean. Are the settings taken
                            from this module available in config
                            or just on command line?

            # ...


    sub execute{
        my ($self) = @_;

        # execute the command here


See the other TaskPipe::Tool::Command_ packages for examples of how to prepare a command.


Tom Gracey <>


Copyright (c) Tom Gracey 2018

TaskPipe is free software, licensed under

    The GNU Public License Version 3