App-Deps-Verify

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

use Module::Build 0.28;


my %module_build_args = (
  "build_requires" => {
    "Module::Build" => "0.28"
  },
  "configure_requires" => {
    "Module::Build" => "0.28"
  },
  "dist_abstract" => "app and API to verify the presence of dependencies (Perl 5 modules, python3 modules, executables, etc.)",
  "dist_author" => [
    "Shlomi Fish <shlomif\@cpan.org>"
  ],
  "dist_name" => "App-Deps-Verify",
  "dist_version" => "0.12.2",
  "license" => "mit",
  "module_name" => "App::Deps::Verify",
  "recursive_test_files" => 1,
  "requires" => {
    "App::Cmd::Setup" => 0,

MANIFEST  view on Meta::CPAN

META.json
META.yml
README
bin/deps-app
dist.ini
lib/App/Deps/Verify.pm
lib/App/Deps/Verify/App/VerifyDeps.pm
lib/App/Deps/Verify/App/VerifyDeps/Command/plinst.pm
lib/App/Deps/Verify/App/VerifyDeps/Command/plupdatetask.pm
lib/App/Deps/Verify/App/VerifyDeps/Command/py3list.pm
lib/App/Deps/Verify/App/VerifyDeps/Command/verify.pm
t/00-compile.t
weaver.ini
xt/author/eol.t
xt/author/no-tabs.t
xt/author/pod-coverage.t
xt/author/pod-syntax.t
xt/author/tidyall.t
xt/release/cpan-changes.t
xt/release/kwalitee.t
xt/release/trailing-space.t

META.json  view on Meta::CPAN

{
   "abstract" : "app and API to verify the presence of dependencies (Perl 5 modules, python3 modules, executables, etc.)",
   "author" : [
      "Shlomi Fish <shlomif@cpan.org>"
   ],
   "dynamic_config" : 0,
   "generated_by" : "Dist::Zilla version 6.030, CPAN::Meta::Converter version 2.150010",
   "license" : [
      "mit"
   ],
   "meta-spec" : {
      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",

META.json  view on Meta::CPAN

         "version" : "v0.12.2"
      },
      "App::Deps::Verify::App::VerifyDeps::Command::plupdatetask" : {
         "file" : "lib/App/Deps/Verify/App/VerifyDeps/Command/plupdatetask.pm",
         "version" : "v0.12.2"
      },
      "App::Deps::Verify::App::VerifyDeps::Command::py3list" : {
         "file" : "lib/App/Deps/Verify/App/VerifyDeps/Command/py3list.pm",
         "version" : "v0.12.2"
      },
      "App::Deps::Verify::App::VerifyDeps::Command::verify" : {
         "file" : "lib/App/Deps/Verify/App/VerifyDeps/Command/verify.pm",
         "version" : "v0.12.2"
      }
   },
   "release_status" : "stable",
   "resources" : {
      "bugtracker" : {
         "web" : "https://github.com/shlomif/app-deps-verify/issues"
      },
      "homepage" : "http://metacpan.org/release/App-Deps-Verify",
      "repository" : {
         "type" : "git",
         "url" : "https://github.com/shlomif/perl-App-Deps-Verify.git",
         "web" : "https://github.com/shlomif/perl-App-Deps-Verify"
      }
   },
   "version" : "0.12.2",
   "x_Dist_Zilla" : {

META.yml  view on Meta::CPAN

---
abstract: 'app and API to verify the presence of dependencies (Perl 5 modules, python3 modules, executables, etc.)'
author:
  - 'Shlomi Fish <shlomif@cpan.org>'
build_requires:
  File::Spec: '0'
  IO::Handle: '0'
  IPC::Open3: '0'
  Module::Build: '0.28'
  Test::More: '0.88'
configure_requires:
  Module::Build: '0.28'

META.yml  view on Meta::CPAN

    version: v0.12.2
  App::Deps::Verify::App::VerifyDeps::Command::plinst:
    file: lib/App/Deps/Verify/App/VerifyDeps/Command/plinst.pm
    version: v0.12.2
  App::Deps::Verify::App::VerifyDeps::Command::plupdatetask:
    file: lib/App/Deps/Verify/App/VerifyDeps/Command/plupdatetask.pm
    version: v0.12.2
  App::Deps::Verify::App::VerifyDeps::Command::py3list:
    file: lib/App/Deps/Verify/App/VerifyDeps/Command/py3list.pm
    version: v0.12.2
  App::Deps::Verify::App::VerifyDeps::Command::verify:
    file: lib/App/Deps/Verify/App/VerifyDeps/Command/verify.pm
    version: v0.12.2
requires:
  App::Cmd::Setup: '0'
  Data::Dumper: '0'
  File::Which: '0'
  Moo: '0'
  Path::Tiny: '0'
  YAML::XS: '0'
  autodie: '0'
  perl: '5.014'
  strict: '0'
  warnings: '0'
resources:
  bugtracker: https://github.com/shlomif/app-deps-verify/issues
  homepage: http://metacpan.org/release/App-Deps-Verify
  repository: https://github.com/shlomif/perl-App-Deps-Verify.git
version: 0.12.2
x_Dist_Zilla:
  perl:
    version: '5.036001'
  plugins:
    -
      class: Dist::Zilla::Plugin::Prereqs
      config:

README  view on Meta::CPAN

This archive contains the distribution App-Deps-Verify,
version 0.12.2:

  app and API to verify the presence of dependencies (Perl 5 modules, python3 modules, executables, etc.)

This software is Copyright (c) 2018 by Shlomi Fish.

This is free software, licensed under:

  The MIT (X11) License


This README file was generated by Dist::Zilla::Plugin::Readme v6.030.

bin/deps-app  view on Meta::CPAN

#!/usr/bin/perl

# PODNAME: deps-app
# ABSTRACT: verify the presence of dependencies or install them.

use strict;
use warnings;
use App::Deps::Verify::App::VerifyDeps ();

App::Deps::Verify::App::VerifyDeps->run();

__END__

=pod

=encoding UTF-8

=head1 VERSION

version 0.12.2

=head1 SYNOPSIS

    deps-app plinst -i bin/common-required-deps.yml -i bin/required-modules.yml
    deps-app verify -o build-deps.stamp -i bin/common-required-deps.yml -i bin/required-modules.yml

    shlomif[perl-begin]:$trunk$ deps-app -h
    deps-app <command> [-?h] [long options...]
            --help (or -h)  show help
                            aka -?

    Available commands:

          commands: list the application's commands
              help: display a command's help screen

            plinst: install perl5 dependencies from CPAN
      plupdatetask: update a Task::Weaver perl5 dependencies Task
           py3list: list python3 dependencies from PyPI
            verify: verify the presence of dependencies

=head1 DESCRIPTION

Install dependencies specified in one or more YAML files such as:

=over 4

=item * L<https://github.com/shlomif/shlomi-fish-homepage/blob/master/bin/required-modules.yml>

=item * L<https://github.com/shlomif/perl-begin/blob/master/bin/required-modules.yml>

bin/deps-app  view on Meta::CPAN

CPAN Testers Dependencies

The CPAN Testers Dependencies is a website that shows a chart of the test results of all dependencies for a distribution.

L<http://deps.cpantesters.org/?module=App::Deps::Verify>

=back

=head2 Bugs / Feature Requests

Please report any bugs or feature requests by email to C<bug-app-deps-verify at rt.cpan.org>, or through
the web interface at L<https://rt.cpan.org/Public/Bug/Report.html?Queue=App-Deps-Verify>. You will be automatically notified of any
progress on the request by the system.

=head2 Source Code

The code is open to the world, and available for you to hack on. Please feel free to browse it and play
with it, or whatever. If you want to contribute patches, please send me a diff or prod me to pull
from your repository :)

L<https://github.com/shlomif/perl-App-Deps-Verify>

  git clone https://github.com/shlomif/perl-App-Deps-Verify.git

=head1 AUTHOR

Shlomi Fish <shlomif@cpan.org>

=head1 BUGS

Please report any bugs or feature requests on the bugtracker website
L<https://github.com/shlomif/app-deps-verify/issues>

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.

=head1 COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Shlomi Fish.

This is free software, licensed under:

lib/App/Deps/Verify.pm  view on Meta::CPAN

use YAML::XS    qw/ LoadFile /;
use Path::Tiny  qw/ path /;

sub _load_yamls
{
    my ( $self, $args ) = @_;

    return [ map { LoadFile($_) } @{ $args->{filenames} } ];
}

sub verify_deps_in_yamls
{
    my ( $self, $args ) = @_;

    return $self->find_deps(
        {
            inputs => $self->_load_yamls($args),
        }
    );
}

lib/App/Deps/Verify.pm  view on Meta::CPAN

1;

__END__

=pod

=encoding UTF-8

=head1 NAME

App::Deps::Verify - app and API to verify the presence of dependencies (Perl 5 modules, python3 modules, executables, etc.)

=head1 VERSION

version 0.12.2

=head1 SYNOPSIS

    use App::Deps::Verify ();

    App::Deps::Verify->new->verify_deps_in_yamls(
        +{ filenames => [ $opt->{input}, ] } );

    path( $opt->{output} )->spew_utf8("Success!");

Command-line usage:

    shlomif[perl-begin]:$trunk$ deps-app -h
    deps-app <command> [-?h] [long options...]
            --help (or -h)  show help
                            aka -?

    Available commands:

          commands: list the application's commands
              help: display a command's help screen

            plinst: install perl5 dependencies from CPAN
      plupdatetask: update a Task::Weaver perl5 dependencies Task
           py3list: list python3 dependencies from PyPI
            verify: verify the presence of dependencies

=head1 DESCRIPTION

Here are some examples for YAML input files:

=over 4

=item * L<https://github.com/shlomif/shlomi-fish-homepage/blob/master/bin/required-modules.yml>

=item * L<https://github.com/shlomif/perl-begin/blob/master/bin/required-modules.yml>

=item * L<https://github.com/shlomif/fc-solve/blob/master/fc-solve/site/wml/bin/required-modules.yml>

=back

=head1 METHODS

=head2 $obj->verify_deps_in_yamls({filenames => [@FILENAMES]})

Verify the presence of deps in all the YAML files.

=head2 $obj->find_deps({inputs => [\%hash1, \%hash2, ...]})

Verify the presence of deps in all the input hashes.

=head2 $obj->write_rpm_spec_from_yaml_file({deps_fn => $path, out_fn => $path});

=head2 $obj->write_rpm_spec_text_from_yaml_file_to_fh({deps_fn => $path, out_fh => $fh});

lib/App/Deps/Verify.pm  view on Meta::CPAN

CPAN Testers Dependencies

The CPAN Testers Dependencies is a website that shows a chart of the test results of all dependencies for a distribution.

L<http://deps.cpantesters.org/?module=App::Deps::Verify>

=back

=head2 Bugs / Feature Requests

Please report any bugs or feature requests by email to C<bug-app-deps-verify at rt.cpan.org>, or through
the web interface at L<https://rt.cpan.org/Public/Bug/Report.html?Queue=App-Deps-Verify>. You will be automatically notified of any
progress on the request by the system.

=head2 Source Code

The code is open to the world, and available for you to hack on. Please feel free to browse it and play
with it, or whatever. If you want to contribute patches, please send me a diff or prod me to pull
from your repository :)

L<https://github.com/shlomif/perl-App-Deps-Verify>

  git clone https://github.com/shlomif/perl-App-Deps-Verify.git

=head1 AUTHOR

Shlomi Fish <shlomif@cpan.org>

=head1 BUGS

Please report any bugs or feature requests on the bugtracker website
L<https://github.com/shlomif/app-deps-verify/issues>

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.

=head1 COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Shlomi Fish.

This is free software, licensed under:

lib/App/Deps/Verify/App/VerifyDeps.pm  view on Meta::CPAN

CPAN Testers Dependencies

The CPAN Testers Dependencies is a website that shows a chart of the test results of all dependencies for a distribution.

L<http://deps.cpantesters.org/?module=App::Deps::Verify>

=back

=head2 Bugs / Feature Requests

Please report any bugs or feature requests by email to C<bug-app-deps-verify at rt.cpan.org>, or through
the web interface at L<https://rt.cpan.org/Public/Bug/Report.html?Queue=App-Deps-Verify>. You will be automatically notified of any
progress on the request by the system.

=head2 Source Code

The code is open to the world, and available for you to hack on. Please feel free to browse it and play
with it, or whatever. If you want to contribute patches, please send me a diff or prod me to pull
from your repository :)

L<https://github.com/shlomif/perl-App-Deps-Verify>

  git clone https://github.com/shlomif/perl-App-Deps-Verify.git

=head1 AUTHOR

Shlomi Fish <shlomif@cpan.org>

=head1 BUGS

Please report any bugs or feature requests on the bugtracker website
L<https://github.com/shlomif/app-deps-verify/issues>

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.

=head1 COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Shlomi Fish.

This is free software, licensed under:

lib/App/Deps/Verify/App/VerifyDeps/Command/plinst.pm  view on Meta::CPAN

CPAN Testers Dependencies

The CPAN Testers Dependencies is a website that shows a chart of the test results of all dependencies for a distribution.

L<http://deps.cpantesters.org/?module=App::Deps::Verify>

=back

=head2 Bugs / Feature Requests

Please report any bugs or feature requests by email to C<bug-app-deps-verify at rt.cpan.org>, or through
the web interface at L<https://rt.cpan.org/Public/Bug/Report.html?Queue=App-Deps-Verify>. You will be automatically notified of any
progress on the request by the system.

=head2 Source Code

The code is open to the world, and available for you to hack on. Please feel free to browse it and play
with it, or whatever. If you want to contribute patches, please send me a diff or prod me to pull
from your repository :)

L<https://github.com/shlomif/perl-App-Deps-Verify>

  git clone https://github.com/shlomif/perl-App-Deps-Verify.git

=head1 AUTHOR

Shlomi Fish <shlomif@cpan.org>

=head1 BUGS

Please report any bugs or feature requests on the bugtracker website
L<https://github.com/shlomif/app-deps-verify/issues>

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.

=head1 COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Shlomi Fish.

This is free software, licensed under:

lib/App/Deps/Verify/App/VerifyDeps/Command/plupdatetask.pm  view on Meta::CPAN

CPAN Testers Dependencies

The CPAN Testers Dependencies is a website that shows a chart of the test results of all dependencies for a distribution.

L<http://deps.cpantesters.org/?module=App::Deps::Verify>

=back

=head2 Bugs / Feature Requests

Please report any bugs or feature requests by email to C<bug-app-deps-verify at rt.cpan.org>, or through
the web interface at L<https://rt.cpan.org/Public/Bug/Report.html?Queue=App-Deps-Verify>. You will be automatically notified of any
progress on the request by the system.

=head2 Source Code

The code is open to the world, and available for you to hack on. Please feel free to browse it and play
with it, or whatever. If you want to contribute patches, please send me a diff or prod me to pull
from your repository :)

L<https://github.com/shlomif/perl-App-Deps-Verify>

  git clone https://github.com/shlomif/perl-App-Deps-Verify.git

=head1 AUTHOR

Shlomi Fish <shlomif@cpan.org>

=head1 BUGS

Please report any bugs or feature requests on the bugtracker website
L<https://github.com/shlomif/app-deps-verify/issues>

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.

=head1 COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Shlomi Fish.

This is free software, licensed under:

lib/App/Deps/Verify/App/VerifyDeps/Command/py3list.pm  view on Meta::CPAN

CPAN Testers Dependencies

The CPAN Testers Dependencies is a website that shows a chart of the test results of all dependencies for a distribution.

L<http://deps.cpantesters.org/?module=App::Deps::Verify>

=back

=head2 Bugs / Feature Requests

Please report any bugs or feature requests by email to C<bug-app-deps-verify at rt.cpan.org>, or through
the web interface at L<https://rt.cpan.org/Public/Bug/Report.html?Queue=App-Deps-Verify>. You will be automatically notified of any
progress on the request by the system.

=head2 Source Code

The code is open to the world, and available for you to hack on. Please feel free to browse it and play
with it, or whatever. If you want to contribute patches, please send me a diff or prod me to pull
from your repository :)

L<https://github.com/shlomif/perl-App-Deps-Verify>

  git clone https://github.com/shlomif/perl-App-Deps-Verify.git

=head1 AUTHOR

Shlomi Fish <shlomif@cpan.org>

=head1 BUGS

Please report any bugs or feature requests on the bugtracker website
L<https://github.com/shlomif/app-deps-verify/issues>

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.

=head1 COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Shlomi Fish.

This is free software, licensed under:

lib/App/Deps/Verify/App/VerifyDeps/Command/verify.pm  view on Meta::CPAN

package App::Deps::Verify::App::VerifyDeps::Command::verify;
$App::Deps::Verify::App::VerifyDeps::Command::verify::VERSION = '0.12.2';
use App::Deps::Verify::App::VerifyDeps -command;

use strict;
use warnings;

use Path::Tiny        qw/ path /;
use App::Deps::Verify ();

sub abstract { "verify the presence of dependencies" }

sub description { return abstract(); }

sub opt_spec
{
    return (
        [ "output|o=s",  "path to output file" ],
        [ "input|i=s\@", "the input files" ],
    );
}

lib/App/Deps/Verify/App/VerifyDeps/Command/verify.pm  view on Meta::CPAN

    my ( $self, $opt, $args ) = @_;

    # no args allowed but options!
    $self->usage_error("No args allowed") if @$args;
}

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

    App::Deps::Verify->new->verify_deps_in_yamls(
        +{ filenames => [ @{ $opt->{input} }, ] } );

    path( $opt->{output} )->spew_utf8("Success!");
}

1;

__END__

=pod

lib/App/Deps/Verify/App/VerifyDeps/Command/verify.pm  view on Meta::CPAN

CPAN Testers Dependencies

The CPAN Testers Dependencies is a website that shows a chart of the test results of all dependencies for a distribution.

L<http://deps.cpantesters.org/?module=App::Deps::Verify>

=back

=head2 Bugs / Feature Requests

Please report any bugs or feature requests by email to C<bug-app-deps-verify at rt.cpan.org>, or through
the web interface at L<https://rt.cpan.org/Public/Bug/Report.html?Queue=App-Deps-Verify>. You will be automatically notified of any
progress on the request by the system.

=head2 Source Code

The code is open to the world, and available for you to hack on. Please feel free to browse it and play
with it, or whatever. If you want to contribute patches, please send me a diff or prod me to pull
from your repository :)

L<https://github.com/shlomif/perl-App-Deps-Verify>

  git clone https://github.com/shlomif/perl-App-Deps-Verify.git

=head1 AUTHOR

Shlomi Fish <shlomif@cpan.org>

=head1 BUGS

Please report any bugs or feature requests on the bugtracker website
L<https://github.com/shlomif/app-deps-verify/issues>

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.

=head1 COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Shlomi Fish.

This is free software, licensed under:

t/00-compile.t  view on Meta::CPAN

use Test::More;

plan tests => 7 + ($ENV{AUTHOR_TESTING} ? 1 : 0);

my @module_files = (
    'App/Deps/Verify.pm',
    'App/Deps/Verify/App/VerifyDeps.pm',
    'App/Deps/Verify/App/VerifyDeps/Command/plinst.pm',
    'App/Deps/Verify/App/VerifyDeps/Command/plupdatetask.pm',
    'App/Deps/Verify/App/VerifyDeps/Command/py3list.pm',
    'App/Deps/Verify/App/VerifyDeps/Command/verify.pm'
);

my @scripts = (
    'bin/deps-app'
);

# no fake home requested

my @switches = (
    -d 'blib' ? '-Mblib' : '-Ilib',

xt/author/eol.t  view on Meta::CPAN

use Test::More 0.88;
use Test::EOL;

my @files = (
    'bin/deps-app',
    'lib/App/Deps/Verify.pm',
    'lib/App/Deps/Verify/App/VerifyDeps.pm',
    'lib/App/Deps/Verify/App/VerifyDeps/Command/plinst.pm',
    'lib/App/Deps/Verify/App/VerifyDeps/Command/plupdatetask.pm',
    'lib/App/Deps/Verify/App/VerifyDeps/Command/py3list.pm',
    'lib/App/Deps/Verify/App/VerifyDeps/Command/verify.pm',
    't/00-compile.t'
);

eol_unix_ok($_, { trailing_whitespace => 1 }) foreach @files;
done_testing;

xt/author/no-tabs.t  view on Meta::CPAN

use Test::More 0.88;
use Test::NoTabs;

my @files = (
    'bin/deps-app',
    'lib/App/Deps/Verify.pm',
    'lib/App/Deps/Verify/App/VerifyDeps.pm',
    'lib/App/Deps/Verify/App/VerifyDeps/Command/plinst.pm',
    'lib/App/Deps/Verify/App/VerifyDeps/Command/plupdatetask.pm',
    'lib/App/Deps/Verify/App/VerifyDeps/Command/py3list.pm',
    'lib/App/Deps/Verify/App/VerifyDeps/Command/verify.pm',
    't/00-compile.t'
);

notabs_ok($_) foreach @files;
done_testing;



( run in 0.723 second using v1.01-cache-2.11-cpan-13bb782fe5a )