BioSAILs

 view release on metacpan or  search on metacpan

lib/BioSAILs/Integrations/Github.pm  view on Meta::CPAN

package BioSAILs::Integrations::Github;

use MooseX::App::Role;
use namespace::autoclean;

use Git::Wrapper;
use Git::Wrapper::Plus::Ref::Tag;
use Git::Wrapper::Plus::Tags;
use Git::Wrapper::Plus::Branches;

use Try::Tiny;

use Sort::Versions;
use Version::Next qw/next_version/;

use Cwd;
use List::Util qw(uniq);
use File::Path qw(make_path);
use File::Slurp;
use File::Spec;
use File::Temp qw/ tempfile tempdir /;
use Capture::Tiny ':all';
use Data::Dumper;
use DateTime;

with 'BioSAILs::Utils';

option 'version' => (
    is        => 'rw',
    required  => 0,
    predicate => 'has_version',
    documentation =>
      'Submission version. Each version has a corresponding git tag.'
      . ' See the difference between tags with `git diff tag1 tag2`.'
      . ' Tags are always version numbers, starting with 0.01.',
);

option 'autocommit' => (
    traits        => ['Bool'],
    is            => 'rw',
    isa           => 'Bool',
    default       => 1,
    documentation => 'Always commit files.',
    handles       => { no_autocommit => 'unset', },
);

=head3 tags

Additional tags for commit message

=cut

option 'tags' => (
    traits        => ['Array'],
    is            => 'rw',
    isa           => 'ArrayRef',
    documentation => 'Annotate with tags.',
    required      => 0,
    default       => sub { [] },
    handles       => {
        has_tags   => 'count',
        count_tags => 'count',
        join_tags  => 'join',
        all_tags   => 'elements',
    },
    cmd_aliases => ['t'],
    cmd_split   => qr/,/,
);

option 'message' => (
    is            => 'rw',



( run in 1.892 second using v1.01-cache-2.11-cpan-39bf76dae61 )