view release on metacpan or search on metacpan
- Use Test::CleanNamespaces in testsuite.
- Use Test::Fatal (replacing Test::Exception).
[ Other ]
- Added: Add subcommand bootstrap.
- Added: Fix implement boxer-compose option --format.
- Handle serialization details in Boxer::World::Flat (not
Boxer::Task::Serialize).
- Limit Type::Utils import: Apparently unneeded.
- Pass variables when file template is processed (not when instantiated).
- Treat namespace::autoclean as a pragma (one of its benefits over
namespace::clean).
- Use MooX::StrictConstructor.
v1.2.0 2019-02-27
[ BACK COMPAT ]
- Update skeleton files: Drop workaround unneeded since Jessie (see
bug#751367).
[ Bug Fixes ]
[ Test Suite ]
- Extend testsuite: Cover auto-resolved and to-be-avoided packages.
[ Other ]
- Tidy HEREDOC commands.
v1.1.8 2018-07-13
[ Bug Fixes ]
- Fix subcommand about choking on authority implemented but undefined.
- Fix subcommand about listing authority: Use namespace::autoclean (not
namespace::clean, and use recent version to avoid Moo inflation to
Moose).
- Fix subcommand aliases help text to use valid example, and tone down
usage (only some not most subcommands have aliases).
- Fix syntax error resolving nonfree packages in Boxer::World::Reclass.
[ Documentation ]
- Fix changelog entry part of release v1.1.5.
- Fix typo in POD of module Boxer::World::Flat.
"MooX::StrictConstructor" : "0",
"Path::Tiny" : "0.054",
"Role::Commons" : "0",
"Template::Tiny" : "0.11",
"Try::Tiny" : "0",
"Types::Path::Tiny" : "0",
"Types::Standard" : "0",
"YAML::XS" : "0",
"autodie" : "0",
"match::simple" : "0",
"namespace::autoclean" : "0.16",
"perl" : "5.020000",
"strictures" : "2"
}
},
"test" : {
"requires" : {
"English" : "0",
"File::Spec" : "0",
"File::Which" : "0",
"Test::CleanNamespaces" : "0",
MooX::StrictConstructor: '0'
Path::Tiny: '0.054'
Role::Commons: '0'
Template::Tiny: '0.11'
Try::Tiny: '0'
Types::Path::Tiny: '0'
Types::Standard: '0'
YAML::XS: '0'
autodie: '0'
match::simple: '0'
namespace::autoclean: '0.16'
perl: '5.020000'
strictures: '2'
resources:
Identifier: http://purl.org/NET/cpan-uri/dist/Boxer/project
bugtracker: http://rt.cpan.org/Dist/Display.html?Queue=Boxer
homepage: https://wiki.debian.org/Boxer
license: http://dev.perl.org/licenses/
repository: https://salsa.debian.org/boxer-team/boxer
version: v1.4.3
x_help_wanted:
Makefile.PL view on Meta::CPAN
"IPC::System::Simple" => 0,
"List::MoreUtils" => 0,
"Log::Any::Adapter::Screen" => 0,
"match::simple" => 0,
"Module::Find" => 0,
"Module::Load::Conditional" => 0,
"Module::Runtime" => 0,
"Moo" => "1.001000",
"MooX::Role::Logger" => 0,
"MooX::StrictConstructor" => 0,
"namespace::autoclean" => 0.16,
"Path::Tiny" => 0.054,
"perl" => "5.020000",
"Role::Commons" => 0,
"strictures" => 2,
"Template::Tiny" => 0.11,
"Try::Tiny" => 0,
"Types::Path::Tiny" => 0,
"Types::Standard" => 0,
"YAML::XS" => 0,
},
dc:contributor <http://purl.org/NET/cpan-uri/person/jonass>;
doap-deps:runtime-requirement [ doap-deps:on "App::Cmd 0"^^doap-deps:CpanId ], [ doap-deps:on "autodie 0"^^doap-deps:CpanId ], [
doap-deps:on "Module::Load::Conditional"^^doap-deps:CpanId;
], [ doap-deps:on "Module::Runtime"^^doap-deps:CpanId ], [ doap-deps:on "Moo 1.001000"^^doap-deps:CpanId ], [
doap-deps:on "MooX::Role::Logger 0"^^doap-deps:CpanId;
], [
doap-deps:on "MooX::StrictConstructor 0"^^doap-deps:CpanId;
], [ doap-deps:on "List::MoreUtils 0"^^doap-deps:CpanId ], [
doap-deps:on "Log::Any::Adapter::Screen 0"^^doap-deps:CpanId;
], [
doap-deps:on "namespace::autoclean 0.16"^^doap-deps:CpanId;
], [ doap-deps:on "Path::Tiny 0.054"^^doap-deps:CpanId ], [ doap-deps:on "Role::Commons 0"^^doap-deps:CpanId ], [
doap-deps:on "IPC::System::Simple 0"^^doap-deps:CpanId;
], [
doap-deps:on "Template::Tiny 0.11"^^doap-deps:CpanId;
], [ doap-deps:on "Try::Tiny 0"^^doap-deps:CpanId ], [
doap-deps:on "Types::Path::Tiny 0"^^doap-deps:CpanId;
], [ doap-deps:on "Types::Standard 0"^^doap-deps:CpanId ], [ doap-deps:on "YAML::XS 0"^^doap-deps:CpanId ], [ doap-deps:on "perl 5.020000"^^doap-deps:CpanId ], [ doap-deps:on "strictures 2"^^doap-deps:CpanId ], [
doap-deps:on "Class::XSAccessor 0"^^doap-deps:CpanId;
], [ doap-deps:on "File::BaseDir 0"^^doap-deps:CpanId ], [ doap-deps:on "File::ShareDir 0"^^doap-deps:CpanId ], [ doap-deps:on "Hash::Merge 0"^^doap-deps:CpanId ], [ doap-deps:on "match::simple 0"^^doap-deps:CpanId ], [ doap-deps:on "Module::Find"^^...
doap-deps:test-requirement [ doap-deps:on "Test::Deep 0.111"^^doap-deps:CpanId ], [ doap-deps:on "Test::More 0.61"^^doap-deps:CpanId ], [ doap-deps:on "English 0"^^doap-deps:CpanId ], [ doap-deps:on "File::Spec 0"^^doap-deps:CpanId ], [ doap-deps:on...
doap:file-release <http://backpan.cpan.org/authors/id/J/JO/JONASS/Boxer-v1.1.7.tar.gz>;
doap:revision "v1.1.7"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-1-8>
a doap:Version;
dc:identifier "Boxer-v1.1.8"^^xsd:string;
dc:issued "2018-07-13"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Bugfix;
rdfs:label "Fix subcommand about listing authority: Use namespace::autoclean (not namespace::clean, and use recent version to avoid Moo inflation to Moose).";
], [
a doap-changeset:Bugfix;
rdfs:label "Fix subcommand about choking on authority implemented but undefined.";
], [
a doap-changeset:Bugfix;
rdfs:label "Fix subcommand aliases help text to use valid example, and tone down usage (only some not most subcommands have aliases).";
], [
a doap-changeset:Documentation;
rdfs:label "Fix typo in POD of module Boxer::World::Flat.";
], [
a doap-changeset:Tests;
rdfs:label "Use Test::Fatal (replacing Test::Exception).";
], [
a doap-changeset:Addition;
rdfs:label "Fix implement boxer-compose option --format.";
], [
a doap-changeset:Change;
rdfs:label "Use MooX::StrictConstructor.";
], [
a doap-changeset:Change;
rdfs:label "Treat namespace::autoclean as a pragma (one of its benefits over namespace::clean).";
], [
a doap-changeset:Tests;
rdfs:label "Use Test::CleanNamespaces in testsuite.";
], [
a doap-changeset:Documentation;
rdfs:label "Add TODO about unit testing code coverage.";
], [
a doap-changeset:Change;
rdfs:label "Limit Type::Utils import: Apparently unneeded.";
], [
lib/Boxer.pm view on Meta::CPAN
=head1 NAME
Boxer - system deployment ninja tricks
=cut
use v5.20;
use utf8;
use Role::Commons -all;
use feature 'signatures';
use namespace::autoclean 0.16;
use Module::Find;
use Module::Load::Conditional qw(can_load);
use Log::Any qw($log);
use strictures 2;
no warnings "experimental::signatures";
=head1 VERSION
lib/Boxer/CLI.pm view on Meta::CPAN
=head1 NAME
Boxer::CLI - boxer command line utils
=cut
use v5.14;
use utf8;
use Role::Commons -all;
use namespace::autoclean 0.16;
use App::Cmd::Setup -app;
use strictures 2;
no warnings "experimental::signatures";
=head1 VERSION
Version v1.4.3
lib/Boxer/CLI/Command.pm view on Meta::CPAN
package Boxer::CLI::Command;
=encoding UTF-8
=cut
use v5.14;
use utf8;
use Role::Commons -all;
use namespace::autoclean 0.16;
use Log::Any::Adapter qw<Screen>;
use App::Cmd::Setup-command;
use strictures 2;
no warnings "experimental::signatures";
=head1 VERSION
Version v1.4.3
lib/Boxer/CLI/Command/About.pm view on Meta::CPAN
package Boxer::CLI::Command::About;
=encoding UTF-8
=cut
use v5.20;
use utf8;
use Role::Commons -all;
use feature 'signatures';
use namespace::autoclean 0.16;
use Boxer::CLI -command;
use strictures 2;
no warnings "experimental::signatures";
=head1 VERSION
Version v1.4.3
lib/Boxer/CLI/Command/Aliases.pm view on Meta::CPAN
package Boxer::CLI::Command::Aliases;
=encoding UTF-8
=cut
use v5.20;
use utf8;
use Role::Commons -all;
use feature 'signatures';
use namespace::autoclean 0.16;
use match::simple qw(match);
use Boxer::CLI -command;
use strictures 2;
no warnings "experimental::signatures";
=head1 VERSION
Version v1.4.3
lib/Boxer/CLI/Command/Bootstrap.pm view on Meta::CPAN
package Boxer::CLI::Command::Bootstrap;
=encoding UTF-8
=cut
use v5.20;
use utf8;
use Role::Commons -all;
use feature 'signatures';
use namespace::autoclean 0.16;
use Path::Tiny;
use List::MoreUtils qw(before after);
use Module::Runtime qw/use_module/;
use Boxer::CLI -command;
use strictures 2;
no warnings "experimental::signatures";
=head1 VERSION
lib/Boxer/CLI/Command/Commands.pm view on Meta::CPAN
package Boxer::CLI::Command::Commands;
=encoding UTF-8
=cut
use v5.20;
use utf8;
use Role::Commons -all;
use feature 'signatures';
use namespace::autoclean 0.16;
use Boxer::CLI -command;
use strictures 2;
no warnings "experimental::signatures";
=head1 VERSION
Version v1.4.3
lib/Boxer/CLI/Command/Compose.pm view on Meta::CPAN
package Boxer::CLI::Command::Compose;
=encoding UTF-8
=cut
use v5.20;
use utf8;
use Role::Commons -all;
use feature 'signatures';
use namespace::autoclean 0.16;
use Path::Tiny;
use Module::Runtime qw/use_module/;
use Boxer::CLI -command;
use strictures 2;
no warnings "experimental::signatures";
=head1 VERSION
lib/Boxer/File/WithSkeleton.pm view on Meta::CPAN
package Boxer::File::WithSkeleton;
=encoding UTF-8
=cut
use v5.20;
use utf8;
use Role::Commons -all;
use feature 'signatures';
use namespace::autoclean 0.16;
use Path::Tiny;
use Template::Tiny;
use File::ShareDir qw(dist_dir);
use Moo;
use MooX::StrictConstructor;
use Types::Standard qw(Maybe);
use Types::TypeTiny qw(HashLike);
lib/Boxer/Part.pm view on Meta::CPAN
=head1 NAME
Boxer::Part - software component
=cut
use v5.14;
use utf8;
use Role::Commons -all;
use namespace::autoclean 0.16;
use autodie;
use Moo;
use MooX::StrictConstructor;
use strictures 2;
no warnings "experimental::signatures";
=head1 VERSION
lib/Boxer/Part/Reclass.pm view on Meta::CPAN
=head1 NAME
Boxer::Part::Reclass - software component as a reclass node or class
=cut
use v5.14;
use utf8;
use Role::Commons -all;
use namespace::autoclean 0.16;
use autodie;
use Moo;
use MooX::StrictConstructor;
extends qw(Boxer::Part);
use Types::Standard qw(Str Maybe ArrayRef HashRef);
use Boxer::Types qw( Suite );
use strictures 2;
lib/Boxer/Role/Interact.pm view on Meta::CPAN
package Boxer::Role::Interact;
=encoding UTF-8
=cut
use v5.14;
use utf8;
use Role::Commons -all;
use namespace::autoclean 0.16;
use Moo::Role;
use Types::Standard qw< Bool >;
use strictures 2;
no warnings "experimental::signatures";
=head1 VERSION
lib/Boxer/Task.pm view on Meta::CPAN
package Boxer::Task;
=encoding UTF-8
=cut
use v5.14;
use utf8;
use Role::Commons -all;
use namespace::autoclean 0.16;
use autodie;
use Moo;
use MooX::StrictConstructor;
with qw( MooX::Role::Logger Boxer::Role::Interact );
use strictures 2;
no warnings "experimental::signatures";
=head1 VERSION
lib/Boxer/Task/Bootstrap.pm view on Meta::CPAN
package Boxer::Task::Bootstrap;
=encoding UTF-8
=cut
use v5.20;
use utf8;
use Role::Commons -all;
use feature 'signatures';
use namespace::autoclean 0.16;
use autodie qw(:all);
use IPC::System::Simple qw(runx);
use Moo;
use MooX::StrictConstructor;
extends qw(Boxer::Task);
use Types::Standard qw( Bool Str InstanceOf ArrayRef Maybe );
use strictures 2;
lib/Boxer/Task/Classify.pm view on Meta::CPAN
=encoding UTF-8
=cut
use v5.20;
use utf8;
use Role::Commons -all;
use feature 'signatures';
no warnings "experimental::signatures";
use namespace::autoclean 0.16;
use autodie qw(:all);
use IPC::System::Simple;
use File::BaseDir qw(data_dirs);
use Boxer;
use Moo;
use MooX::StrictConstructor;
extends qw(Boxer::Task);
lib/Boxer/Task/Serialize.pm view on Meta::CPAN
package Boxer::Task::Serialize;
=encoding UTF-8
=cut
use v5.20;
use utf8;
use Role::Commons -all;
use feature 'signatures';
use namespace::autoclean 0.16;
use autodie;
use Path::Tiny;
use File::ShareDir qw(dist_dir);
use Boxer::File::WithSkeleton;
use Moo;
use MooX::StrictConstructor;
extends qw(Boxer::Task);
lib/Boxer/Types.pm view on Meta::CPAN
package Boxer::Types;
=encoding UTF-8
=cut
use v5.14;
use utf8;
use Role::Commons -all;
use namespace::autoclean;
use Path::Tiny;
use Type::Library -base, -declare => qw(
WorldName DataDir ClassDir NodeDir SkelDir Basename Suite SerializationList );
use Type::Utils;
use Types::Standard qw( ArrayRef Split Str Tuple StrMatch slurpy );
use Types::Common::String qw( NonEmptySimpleStr LowerCaseSimpleStr );
use Types::Path::Tiny qw(Dir);
lib/Boxer/World.pm view on Meta::CPAN
=head1 NAME
Boxer::World - set of software available to install
=cut
use v5.14;
use utf8;
use Role::Commons -all;
use namespace::autoclean 0.16;
use autodie;
use Moo;
use MooX::StrictConstructor;
use Types::Standard qw( ArrayRef InstanceOf Maybe );
use Boxer::Types qw( DataDir );
with qw(MooX::Role::Logger);
use strictures 2;
no warnings "experimental::signatures";
lib/Boxer/World/Flat.pm view on Meta::CPAN
=head1 NAME
Boxer::World::Flat - software for single use case
=cut
use v5.20;
use utf8;
use Role::Commons -all;
use feature 'signatures';
use namespace::autoclean 0.16;
use autodie;
use Moo;
use MooX::StrictConstructor;
extends qw(Boxer::World);
use Types::Standard qw( Maybe Bool Tuple );
use Types::TypeTiny qw( StringLike ArrayLike );
use strictures 2;
lib/Boxer/World/Reclass.pm view on Meta::CPAN
=head1 NAME
Boxer::World::Reclass - software as serialized by reclass
=cut
use v5.20;
use utf8;
use Role::Commons -all;
use feature 'signatures';
use namespace::autoclean 0.16;
use autodie;
use YAML::XS;
use List::MoreUtils qw(uniq);
use Hash::Merge qw(merge);
use Try::Tiny;
use Moo;
use MooX::StrictConstructor;
extends qw(Boxer::World);