Result:
found more than 723 distributions - search limited to the first 2001 files matching your query ( run in 2.458 )


App-PM-Announce

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

    - Fixed test function...
    - Some config default shenaniganery

0.023 Wednesday April 08 13:44:36 PDT 2009:
    - Added use.perl support
    - Image fetching/uploading

0.022 Monday April 06 13:18:09 PDT 2009:
    - Added 'config edit' command
    - Clarified some documentation

 view all matches for this distribution


App-PM-Website

 view release on metacpan or  search on metacpan

lib/App/PM/Website.pm  view on Meta::CPAN

    # render website locally to website/ dir
    pm-website build

    ... view changes locally ...

    # upload website/index file to pm.org
    pm-website upload

=head1 DESCRIPTION

Use C<pm-website> to render and maintain an up-to-date info page
for your Perl Monger group!

 view all matches for this distribution


App-PMUtils

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


0.43    2015-04-22  Released-By: PERLANCAR

        - No functional changes.

        - Re-upload.


0.42    2015-04-22  Released-By: PERLANCAR

        - pmlist: Change default for --pod & --prefix (listing modules is the

 view all matches for this distribution


App-PPE

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

Revision history for Perl extension App-PPE

0.04 2017-12-02T13:12:17Z

    - upload cpan

0.03 2017-12-02T13:00:54Z

    - update doc
    - support when unknown error type

 view all matches for this distribution


App-PTP

 view release on metacpan or  search on metacpan

Makefile.PL  view on Meta::CPAN

  push @postamble, <<"MAKE_FRAGMENT" if supported_platform();
ALL_PM := \$(shell find lib -name "*.pm")
TEST_PM := \$(shell find t -name "*.pm")
ALL_EXE := script/ptp

.PHONY: distupload cover critic rawcritic tidy spelling alltest clean clean_coverdb pod2html exe

distupload: distcheck disttest
\t\$(MAKE) tardist
\tcpan-upload --directory Dist-Setup \$(DISTVNAME).tar\$(SUFFIX)

cover:
\tcover -test

critic: export EXTENDED_TESTING = 1

 view all matches for this distribution


App-Pastebin-Create

 view release on metacpan or  search on metacpan

lib/App/Pastebin/Create.pm  view on Meta::CPAN

use strict;
use warnings;
package App::Pastebin::Create;
#ABSTRACT: Simple CLI App to create and upload to Pastebin.com
# FILE HOLDER/THIS IS COMMAND LINE APP, executable name is pastebin-create
# The executable located in bin/
# type pastebin -h for usage
our $VERSION = '1.0102'; # VERSION

lib/App/Pastebin/Create.pm  view on Meta::CPAN


=encoding UTF-8

=head1 NAME

App::Pastebin::Create - Simple CLI App to create and upload to Pastebin.com

=head1 VERSION

version 1.0102

 view all matches for this distribution


App-Pastebin-Create2

 view release on metacpan or  search on metacpan

lib/App/Pastebin/Create2.pm  view on Meta::CPAN

use strict;
use warnings;
package App::Pastebin::Create2;
#ABSTRACT: Simple CLI App to create and upload to Pastebin.com
# FILE HOLDER/THIS IS COMMAND LINE APP, executable name is pastebin-create2
# The executable located in bin/
# type pastebin-create2 -h for usage
our $VERSION = '0.15'; # VERSION

lib/App/Pastebin/Create2.pm  view on Meta::CPAN


=encoding UTF-8

=head1 NAME

App::Pastebin::Create2 - Simple CLI App to create and upload to Pastebin.com

=head1 VERSION

version 0.15

 view all matches for this distribution


App-PerlGzipScript

 view release on metacpan or  search on metacpan

lib/App/PerlGzipScript.pm  view on Meta::CPAN

  -rw-r--r-- 1 skaji staff 731K Sep 30 06:48 cpm
  -rw-r--r-- 1 skaji staff 189K Sep 30 06:48 cpm-gzip

=head1 ARTIFACT ATTESTATIONS

GitHub Artifact Attestations are generated for release tarballs uploaded to
CPAN. If you care about provenance for the uploaded tarballs, see:

L<https://github.com/skaji/perl-gzip-script/attestations>

=head1 COPYRIGHT AND LICENSE

 view all matches for this distribution


App-Perlambda

 view release on metacpan or  search on metacpan

lib/App/Perlambda/CLI/Create.pm  view on Meta::CPAN


The name of the method within your code that Lambda calls to execute your function.

=head2 C<--zip> (B<Mandatory>)

The path to the zip file of the code you are uploading.

=head2 C<--profile> (B<Optional>)

B<Default>: your system default

 view all matches for this distribution


App-Phoebe

 view release on metacpan or  search on metacpan

lib/App/Phoebe.pm  view on Meta::CPAN


sub handle_titan {
  my $stream = shift;
  my $data = shift;
  # extra processing of the request if we didn't do that, yet
  $data->{upload} ||= is_upload($stream, $data->{request}) or return;
  my $size = $data->{upload}->{params}->{size};
  my $actual = length($data->{buffer});
  if ($actual == $size) {
    $log->debug("Handle Titan request");
    process_titan($stream, $data->{request}, $data->{upload}, $data->{buffer}, $size);
    # do not close in case we're waiting for the lock
    return;
  } elsif ($actual > $size) {
    $log->debug("Received more than the promised $size bytes");
    result($stream, "59", "Received more than the promised $size bytes");

lib/App/Phoebe.pm  view on Meta::CPAN

  }
  $log->debug("Waiting for " . ($size - $actual) . " more bytes");
}

sub process_titan {
  my ($stream, $request, $upload, $buffer, $size) = @_;
  eval {
    local $SIG{'ALRM'} = sub { $log->error("Timeout processing upload $request") };
    alarm(10); # timeout
    if (run_extensions($stream, $request, $upload, $buffer, $size)) {
      # config file goes first
    } else {
      save_page($stream, $upload->{host}, $upload->{space}, $upload->{id},
		$upload->{params}->{mime}, $buffer, $size);
    }
    alarm(0);
  };
  # save page might still be waiting for the lock so we must not close the
  # stream: save_page will close the stream

lib/App/Phoebe.pm  view on Meta::CPAN

    }
  }
  return \%spaces;
}

sub is_upload {
  my $stream = shift;
  my $request = shift;
  $log->info("Looking at $request");
  my $hosts = host_regex();
  my $spaces_regex = space_regex();

lib/App/Phoebe.pm  view on Meta::CPAN

  my @types = @{$server->{wiki_mime_type}};
  # the wiki always allows text/plain or text/gemini
  if ($type eq "text/plain" or $type eq "text/gemini") {
    return 1;
  } elsif (not @types) {
    $log->debug("This wiki does not allow file uploads");
    result($stream, "59", "This wiki does not allow file uploads");
    $stream->close_gracefully();
    return;
  } elsif (not grep(/^$type$/, @types) and not grep(/^$main_type$/, @types)) {
    $log->debug("This wiki does not allow $type");
    result($stream, "59", "This wiki does not allow $type, only @types");

 view all matches for this distribution


App-Photobear

 view release on metacpan or  search on metacpan

lib/App/Photobear.pm  view on Meta::CPAN

our $TESTMODE = $ENV{"PHOTOBEAR_TEST"} || 0;

# Export MODES
use Exporter qw(import);
our @EXPORT_OK = qw(loadconfig saveconfig url_exists curl photobear url_type @MODES);
our $TEST_ANSWER = q({"status":"success","data":{"result_url":"https://res.cloudinary.com/dy4s1umzd/image/upload/e_vectorize:colors:20:detail:0.7:corners:20/v1688570702/svg_inp/aia14r/core-people.svg"}});

sub loadconfig {
    my $filename = shift;
    if (! -e "$filename") {
        return {};

 view all matches for this distribution


App-Physics-ParticleMotion

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

1.01  Sun Dec 11 19:53:13 2005
	- Corrected ugly syntax error (which yielded valid Perl, no less!).
	  This prevented some of the examples from running at all!

1.00  Sat Dec 10 18:29:31 2005
	- original version as uploaded to CPAN

 view all matches for this distribution


App-Pipeline-Simple

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


  Change: 6ca5f6648361a0fee8f116a2a8f8948cfb3754c5
  Author: Heikki Lehvaslaiho <Heikki.Lehvaslaiho@kaust.edu.sa>
  Date : 2012-06-23 10:23:05 +0000

    allow upload to CPAN 

  Change: 7aa7338b9ba0e257a1620407bc9249465121c997
  Author: Heikki Lehvaslaiho <Heikki.Lehvaslaiho@kaust.edu.sa>
  Date : 2012-06-23 10:12:16 +0000

 view all matches for this distribution


App-Pm2Port

 view release on metacpan or  search on metacpan

lib/App/Pm2Port.pm  view on Meta::CPAN

package App::Pm2Port;

#===============================================================================
#
#         FILE:  portupload.pl
#
#        USAGE:  ./portupload.pl
#
#  DESCRIPTION:  upload
#
#      OPTIONS:  ---
# REQUIREMENTS:  ---
#         BUGS:  ---
#        NOTES:  ---

lib/App/Pm2Port.pm  view on Meta::CPAN

                exit;
            }
            wait;
            $location =
                '/usr/ports/'
              . LoadFile( glob "~/.portupload/$module.yml" )->{category}
              . "/$distribution";
        }
        $location =~ s!/usr/ports!\${PORTSDIR}!;
        push @deps, "$distribution>=$requires->{$module}:$location";
    }

lib/App/Pm2Port.pm  view on Meta::CPAN

    join " \\\n\t\t", @deps;
}

=head2 create_makefile

Args: $metafile, $portupload_file, $man1, $man3

=cut

sub create_makefile {
    my $self            = shift;
    my $file            = shift;
    my $portupload_file = shift;
    my $man1            = shift;
    my $man3            = shift;
    my $module  = shift;
    open +( my $makefile ), '>', 'Makefile';
    ( my $comment = $file->{abstract} ) =~ s/\.$//;
    $comment = ucfirst $comment;
    print $makefile "# New ports collection makefile for:  $file->{name}\n";
    print $makefile "# Date created: " . `date "+\%d \%B \%Y"`;
    print $makefile "# Whom: $portupload_file->{maintainer}\n";
    print $makefile "#\n"; 
    print $makefile "# \$FreeBSD\$\n\n";
    print $makefile "PORTNAME=	$file->{name}\n";
    print $makefile "PORTVERSION=	$file->{version}\n";
    print $makefile "CATEGORIES=	$portupload_file->{category} perl5\n";
    print $makefile "MASTER_SITES=	"
      . ( $portupload_file->{master_sites} || 'CPAN' ) . "\n";
    print $makefile "PKGNAMEPREFIX=	p5-\n";
    print $makefile "\n";
    print $makefile "MAINTAINER=	$portupload_file->{maintainer}\n";
    print $makefile "COMMENT=	$comment\n";
    print $makefile "\n";
    print $makefile "BUILD_DEPENDS=	"
      . $self->get_dependencies( $file->{requires} )
      . $self->get_dependencies( $portupload_file->{requires}, 1 ) . "\n";
    print $makefile "RUN_DEPENDS=\t\${BUILD_DEPENDS}\n";
    print $makefile "\n";
    print $makefile "USE_APACHE=" . $portupload_file->{apache} . "\n"
      if $portupload_file->{apache};
    print $makefile "PERL_MODBUILD=	YES\n" if $module->get_installer_type =~ /build/i;
    print $makefile "PERL_CONFIGURE=	"
      . (
          $file->{requires}{perl}
        ? $self->perl_version_parse( $file->{requires}{perl} ) . "+"

lib/App/Pm2Port.pm  view on Meta::CPAN

      ) . "\n";
    print $makefile "MAN1=	" . $man1 . "\n" if $man1;
    print $makefile "MAN3=	" . $man3 . "\n" if $man3;
    print $makefile "\n";

    if ( $portupload_file->{additional} ) {
        print $makefile ".include <bsd.port.pre.mk>\n";
        $portupload_file->{additional} =~ s/ {4}/\t/g;
        print $makefile $portupload_file->{additional};
        print $makefile ".include <bsd.port.post.mk>\n";
    }
    else {
        print $makefile ".include <bsd.port.mk>\n";
    }

lib/App/Pm2Port.pm  view on Meta::CPAN


=cut

sub create_config {
    my ( $self, $name ) = @_;
    mkdir glob "~/.portupload";
    my ($package_name) = grep /^\Qp5-$name-\E[\d.]+/, keys %{ $self->{INDEX} };
    my $pkg_info       = $self->{INDEX}{$package_name};
    my $config         = {};
    my $suggested_category;
    ( $config->{category}, $suggested_category ) =

lib/App/Pm2Port.pm  view on Meta::CPAN

        $maintainer_email ||= `. ~/.porttools;echo \$EMAIL`;
        chomp $maintainer_email;
    }
    $config->{maintainer} = $maintainer_email
      || prompt( "Maintainer email:", "$ENV{USER}\@rambler-co.ru" );
    DumpFile( glob("~/.portupload/$self->{module}.yml"), $config );
}

=head2 run

Makes actually all work

lib/App/Pm2Port.pm  view on Meta::CPAN

    my ( $post_on_cpan, $submit_to_freebsd );

    GetOptions(
        'h|help' => sub {
            print
qq{Usage: $0 [ --info ] [ --no-tests ] [ --no-upload ] [ --no-commit ] [ --cpan ]\n};
            exit 0;
        },
        'info' => sub {
            $ENV{INFO_ONLY} = 1;
        },
        'no-tests' => sub {
            $ENV{NOTEST} = 1;
        },
        'no-upload' => sub {
            $ENV{NO_UPLOAD} = 1;
        },
        'no-commit' => sub {
            $ENV{NO_COMMIT} = 1;
        },

lib/App/Pm2Port.pm  view on Meta::CPAN

    #$module->test or die unless $ENV{NOTEST};
    $module->install;
    my $file    = $self->load_meta;
    my $version = $file->{version};
    $self->create_config( $file->{name} )
      unless -f glob "~/.portupload/$self->{module}.yml";
    my $portupload_file = LoadFile( glob "~/.portupload/$self->{module}.yml" );
    my $ftp;
    printf qq{
    Tests:  %s
},
      $ENV{NOTEST}    ? 'no' : 'yes',
      $ENV{NO_UPLOAD} ? 'no' : $portupload_file->{master_sites},
      ;
    exit if $ENV{INFO_ONLY};
    print ">>> PList\n";
    my ( $man1, $man3, @pkg_plist ) = $self->generate_plist( $module->packlist );
    system("make -s clean");
    chdir tempdir();

    if (
        system(
"cvs -d :pserver:anoncvs\@anoncvs.tw.FreeBSD.org/home/ncvs co ports/$portupload_file->{category}/p5-$file->{name}"
        ) == 0
      )
    {
        chdir "ports/$portupload_file->{category}/p5-$file->{name}" or do {
            mkdir "ports";
            mkdir "ports/p5-$file->{name}" or die;
            chdir "ports/p5-$file->{name}" or die;
          }
    }

    $self->create_makefile( $file, $portupload_file, $man1, $man3, $module );
    open PLIST, '>', 'pkg-plist';
    if ( !$portupload_file->{distfiles} ) {
        print PLIST @pkg_plist;
    }
    else {
        print PLIST "\n";
    }

 view all matches for this distribution


App-Pod2CpanHtml

 view release on metacpan or  search on metacpan

lib/App/Pod2CpanHtml.pm  view on Meta::CPAN


=head1 RATIONALE

This module is a very thin wrapper around L<Pod::Simple::HTML>. I wrote the initial version is response to a question on Perlmonks L<http://www.perlmonks.com/?node_id=596075>.

Despite its simplicity it has proved to be very useful tool for proofing Pod documentation prior to uploading to CPAN. It is also the basis of a script that I frequently copy from machine to machine and it is the answer to a question that is frequent...


=head1 SEE ALSO

This module also installs a L<pod2cpanhtml> command line utility. See C<pod2cpanhtml --help> for details.

 view all matches for this distribution


App-Pods2Site

 view release on metacpan or  search on metacpan

author/patch-next-version.pl  view on Meta::CPAN

my $expectedDist = "App-Pods2Site-$nextVersion.tar.gz";
system("$mkcmd dist 2>&1");
die("Failed making dist '$expectedDist'\n") if ($? || !-f $expectedDist);

print "The current branch is '$br[0]' with next version = '$nextVersion'\n";
print "Ready to commit => tag => push => upload? ";
my $a = <STDIN>;
chomp($a);
if (lc($a) eq 'yes')
{
	print "Committing, tagging, pushing and uploading...\n";
	
	system("git commit -a -F $msgfile2 2>&1");
	die("Failed commit") if $?;

	system("git tag $nextTag 2>&1");
	die("Failed tag\n") if $?;
	
	system("git push origin $br[0] $nextTag 2>&1");
	die("Failed push\n") if $?;
	
	system("cpan-upload -v --user knth $expectedDist");
	die("Failed upload\n") if $?;
}
else
{
	my @realclean = qx($mkcmd realclean 2>&1);
	die("Failed making realclean:\n@realclean") if $?;

 view all matches for this distribution


App-Project-Doctor

 view release on metacpan or  search on metacpan

lib/App/Project/Doctor.pm  view on Meta::CPAN


=head1 DESCRIPTION

Orchestrates a suite of diagnostic checks against a Perl CPAN distribution,
combining L<App::Workflow::Lint>, L<App::GHGen::Generator>, L<App::makefilepl2cpanfile>
into a single interactive pre-upload tool.

Each enabled C<App::Project::Doctor::Check::*> plugin receives an
L<App::Project::Doctor::Context> and returns a list of
L<App::Project::Doctor::Finding> objects which are collected into an
L<App::Project::Doctor::Report>.

 view all matches for this distribution


App-Prove-Plugin-Elasticsearch

 view release on metacpan or  search on metacpan

lib/App/Prove/Elasticsearch/Blamer/Default.pm  view on Meta::CPAN

# ABSTRACT: Determine the responsible for tests via Changes file for upload to elasticsearch
# PODNAME: App::Prove::Elasticsearch::Blamer::Default

package App::Prove::Elasticsearch::Blamer::Default;
$App::Prove::Elasticsearch::Blamer::Default::VERSION = '0.001';
use strict;

lib/App/Prove/Elasticsearch/Blamer/Default.pm  view on Meta::CPAN


=encoding UTF-8

=head1 NAME

App::Prove::Elasticsearch::Blamer::Default - Determine the responsible for tests via Changes file for upload to elasticsearch

=head1 VERSION

version 0.001

 view all matches for this distribution


App-PythonToPerl

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN

$ less META.yml

# make CPAN release
$ git add -A; git commit -av  # CPAN Release, vX.YYY; Codename FOO, BAR Edition
$ git push origin main
$ dzil release  # will build, test, prompt for CPAN upload, and create/tag/upload new git commit w/ only version number as commit message
```

## Original Creation
App::PythonToPerl was originally created via the following commands:

 view all matches for this distribution


App-Raider

 view release on metacpan or  search on metacpan

.claude/skills/perl-release-author-getty/SKILL.md  view on Meta::CPAN

## Release Workflow

```bash
# Before release: check Changes, ensure {{$NEXT}} section has entries
# Then:
dzil release        # Builds, tests, uploads to CPAN, bumps version, commits, tags
```

## Conventions

1. `copyright_year` IS used in dist.ini — GETTY has it in ALL distributions, do NOT remove it

 view all matches for this distribution


App-Rcsync

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


0.002   07/12/2011
    * Add --init option to creat sample configuration file

0.001   29/12/2010
    * Initial upload to CPAN

 view all matches for this distribution


App-Regather

 view release on metacpan or  search on metacpan

lib/App/Regather/Logg.pm  view on Meta::CPAN

use Mail::Send;
use POSIX qw(strftime);
use Sys::Hostname;
use Data::Printer caller_info => 1, class => { expand => 2 };

# https://upload.wikimedia.org/wikipedia/commons/1/15/Xterm_256color_chart.svg
use constant DPC => { info    => 'green',
		      err     => 'red',
		      debug   => 'magenta',
		      warning => 'yellow', };

 view all matches for this distribution


App-RemoteCommand

 view release on metacpan or  search on metacpan

lib/App/RemoteCommand.pm  view on Meta::CPAN

So if your ssh identity (ssh private key) requires a passphrase,
please use C<ssh-agent>.

=head1 ARTIFACT ATTESTATIONS

GitHub Artifact Attestations are generated for release tarballs uploaded to
CPAN. If you care about provenance for the uploaded tarballs, see:

L<https://github.com/skaji/App-RemoteCommand/attestations>

=head1 COPYRIGHT AND LICENSE

 view all matches for this distribution


App-RewriteVersion

 view release on metacpan or  search on metacpan

lib/App/RewriteVersion.pm  view on Meta::CPAN

Rewrites the version of the file at C<$file> to C<$version> if it has a version
assignment in the form C<our $VERSION = '...';>. Returns true if the version
was rewritten, or false if no version assignment was found. If C<is_trial> is
true, C<# TRIAL> will be appended to the version assignment line when
rewriting. The C<-TRIAL> indication is not part of the version and should be
added to the name of the archive you upload to PAUSE, which is outside of the
scope of this tool. An exception will be thrown if an invalid version is
passed, or an I/O error occurs. A warning will be printed if C<$version> is
lower than the version previously declared in the file.

=head2 rewrite_versions

 view all matches for this distribution


App-SD

 view release on metacpan or  search on metacpan

lib/App/SD/Replica/lighthouse.pm  view on Meta::CPAN

            map { $_ => $self->sync_source->lighthouse->$_ }
              grep { $self->sync_source->lighthouse->$_ }
              qw/account email password token/
        );
        for my $att ( $ticket_obj->attachments ) {
            $user->load( $att->uploader_id );
            push @txns,
              {
                id      => $att->id,
                creator => $user->name,
                created => $att->created_at->epoch,

 view all matches for this distribution


App-SVG-Graph

 view release on metacpan or  search on metacpan

lib/App/SVG/Graph.pm  view on Meta::CPAN


=item *

CPAN Testers

The CPAN Testers is a network of smoke testers who run automated tests on uploaded CPAN distributions.

L<http://www.cpantesters.org/distro/A/App-SVG-Graph>

=item *

 view all matches for this distribution


App-SeismicUnixGui

 view release on metacpan or  search on metacpan

lib/App/SeismicUnixGui/misc/blue_flow.pm  view on Meta::CPAN

		  # Populate GUI with the parameter values and labels of the first item
		  # _add2flow will call _flow_select to select the last flow item loaded
		  # _flow select marks the gui history and calls
		  # flow_select which will detect any parameter changes
		  # and will store
		  # upload variables into the param_flow for each program

			_add2flow();
		}

		_flow_select_director('_perl_flow');

 view all matches for this distribution


App-ShellCompleter-CpanUpload

 view release on metacpan or  search on metacpan

lib/App/ShellCompleter/CpanUpload.pm  view on Meta::CPAN


our $DATE = '2015-09-27'; # DATE
our $VERSION = '0.05'; # VERSION

1;
# ABSTRACT: Shell completion for cpan-upload

__END__

=pod

=encoding UTF-8

=head1 NAME

App::ShellCompleter::CpanUpload - Shell completion for cpan-upload

=head1 VERSION

This document describes version 0.05 of App::ShellCompleter::CpanUpload (from Perl distribution App-ShellCompleter-CpanUpload), released on 2015-09-27.

=head1 SYNOPSIS

See L<_cpan-upload> included in this distribution.

=head1 SEE ALSO

L<CPAN::Uploader>, L<cpan-upload>

=head1 HOMEPAGE

Please visit the project's homepage at L<https://metacpan.org/release/App-ShellCompleter-CpanUpload>.

 view all matches for this distribution


App-ShellCompleter-pause

 view release on metacpan or  search on metacpan

bin/_pause  view on Meta::CPAN

or, you can use L<shcompgen> to do that for you automatically.

Now L<pause> has improved bash completion:

 % pause <tab>  ;# complete subcommand and options
 % pause upload Some-Release-0.01.tar.gz --retries <tab> ;# complete argument value

=head1 DESCRIPTION

The L<pause> script from L<App::pause> already comes with basic completion: it
can complete subcommand names and options. This completer can also complete

 view all matches for this distribution


App-Shotgun

 view release on metacpan or  search on metacpan

lib/App/Shotgun.pm  view on Meta::CPAN

  $App::Shotgun::VERSION = '0.001';
}
use strict;
use warnings;

# ABSTRACT: mass upload of files via SCP/FTP/...

use Moose;
use MooseX::Types::Path::Class;
use Cwd qw( getcwd );
use Path::Class::Dir;

lib/App/Shotgun.pm  view on Meta::CPAN

#	isa => 'Str',
#	is => 'ro',
#	predicate => 'has_transferlog',
#);
#
## enable full parallel uploads to ALL targets at the same time
#has parallel => (
#	isa => 'Bool',
#	is => 'ro',
#	default => 0,
#);

lib/App/Shotgun.pm  view on Meta::CPAN

__END__
=pod

=head1 NAME

App::Shotgun - mass upload of files via SCP/FTP/...

=head1 VERSION

version 0.001

lib/App/Shotgun.pm  view on Meta::CPAN

				# probably more options for configuring ssh, like alternative private key
			},
		],
	);

	# Order of upload:
	# Target 1: robots.txt
	# Target 2: robots.txt
	# Target 1: dir/dir/dir/file.txt
	# Target 2: dir/dir/dir/file.txt
	# ...

lib/App/Shotgun.pm  view on Meta::CPAN

		filelist => 'filelist.txt',
	);

=head1 DESCRIPTION

This module uploads the filelist textfile given via B<filelist> or the filelist given as array via B<files> to all given B<targets>.
It uploads file after file, to target after target, that means, first file will get uploaded to all target, and if they all are
successful done, the next file will be uploaded. This module doesn't do any "smart" things like compare filesize/modification time/etc and
just uploads the files. Hence the name "shotgun" which is appropriate :)

For first the module is made to try again very often but will not continue on fail and close with an exit code above 0.

Please look at the appropriate C<App::Shotgun::Target::*> classes for their attributes and how to use them.

 view all matches for this distribution


( run in 2.458 seconds using v1.01-cache-2.11-cpan-b16cb0d3907 )