Commit 835dff15 authored by Kent Fredric's avatar Kent Fredric

Build results of 6fde4eb (on master)

parent 85b0f307
language: perl
matrix:
include:
- perl: "5.8"
env: STERILIZE_ENV=0
- perl: "5.10"
env: STERILIZE_ENV=0
- perl: "5.12"
env: STERILIZE_ENV=0
- perl: "5.14"
env: STERILIZE_ENV=0
- perl: "5.16"
env: STERILIZE_ENV=0
- perl: "5.18"
env: STERILIZE_ENV=0
- perl: "5.19"
env: STERILIZE_ENV=0
- perl: "5.8"
env: STERILIZE_ENV=1
- perl: "5.10"
env: STERILIZE_ENV=1
- perl: "5.19"
env: STERILIZE_ENV=1
- perl: "5.19"
env: STERILIZE_ENV=0 DEVELOPER_DEPS=1
- perl: "5.19"
env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1
before_install:
- perlbrew list
- time perl ./maint-travis-ci/sterilize_env.pl
install:
- time perl ./maint-travis-ci/install_deps.pl
before_script:
- time perl ./maint-travis-ci/before_script.pl
script:
- time perl ./maint-travis-ci/script.pl
after_failure:
- perl ./maint-travis-ci/report_fail_ctx.pl
branches:
only:
- "master"
- "build/master"
- "releases"
......@@ -7,23 +7,24 @@ use Module::Build 0.3601;
my %module_build_args = (
"build_requires" => {
"Module::Build" => "0.4004"
"Module::Build" => "0.4202"
},
"configure_requires" => {
"Module::Build" => "0.4004"
"Module::Build" => "0.4202"
},
"dist_abstract" => "Create a Fake ShareDir for your modules for testing.",
"dist_author" => [
"Kent Fredric <kentnl\@cpan.org>"
],
"dist_name" => "Test-File-ShareDir",
"dist_version" => "0.3.3",
"dist_version" => "0.4.0",
"license" => "perl",
"module_name" => "Test::File::ShareDir",
"recommends" => {},
"recursive_test_files" => 1,
"requires" => {
"Carp" => 0,
"Class::Tiny" => 0,
"File::Copy::Recursive" => 0,
"File::ShareDir" => "1.00",
"File::Temp" => 0,
......@@ -35,25 +36,27 @@ my %module_build_args = (
"script_files" => [],
"test_requires" => {
"Cwd" => 0,
"File::Find" => 0,
"FindBin" => 0,
"Test::Fatal" => 0,
"Test::More" => "0.98"
"Test::More" => "1.001002",
"lib" => 0
}
);
my %fallback_build_requires = (
"Cwd" => 0,
"FindBin" => 0,
"Module::Build" => "0.4202",
"Test::Fatal" => 0,
"Test::More" => "1.001002",
"lib" => 0
);
unless ( eval { Module::Build->VERSION(0.4004) } ) {
my $tr = delete $module_build_args{test_requires};
my $br = $module_build_args{build_requires};
for my $mod ( keys %$tr ) {
if ( exists $br->{$mod} ) {
$br->{$mod} = $tr->{$mod} if $tr->{$mod} > $br->{$mod};
}
else {
$br->{$mod} = $tr->{$mod};
}
}
delete $module_build_args{test_requires};
$module_build_args{build_requires} = \%fallback_build_requires;
}
my $build = Module::Build->new(%module_build_args);
......
Release history for Test-File-ShareDir
0.4.0 2013-11-21T06:38:44Z
[00 Major Changes]
- New Modules/Interfaces to make life easier for people who only need one
of (Dist|Module) shares.
[Dependencies::Added / develop requires]
- Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl
- Dist::Zilla::Plugin::Authority 1.006
- Dist::Zilla::Plugin::AutoPrereqs
- Dist::Zilla::Plugin::CheckExtraTests
- Dist::Zilla::Plugin::ConfirmRelease
- Dist::Zilla::Plugin::EOLTests
- Dist::Zilla::Plugin::Git::Check
- Dist::Zilla::Plugin::Git::Commit
- Dist::Zilla::Plugin::Git::CommitBuild
- Dist::Zilla::Plugin::Git::GatherDir
- Dist::Zilla::Plugin::Git::NextVersion
- Dist::Zilla::Plugin::Git::Tag
- Dist::Zilla::Plugin::GithubMeta
- Dist::Zilla::Plugin::License
- Dist::Zilla::Plugin::Manifest
- Dist::Zilla::Plugin::ManifestSkip
- Dist::Zilla::Plugin::MetaConfig
- Dist::Zilla::Plugin::MetaData::BuiltWith
- Dist::Zilla::Plugin::MetaJSON
- Dist::Zilla::Plugin::MetaProvides::Package 1.14000001
- Dist::Zilla::Plugin::MetaTests
- Dist::Zilla::Plugin::MetaYAML
- Dist::Zilla::Plugin::ModuleBuild
- Dist::Zilla::Plugin::NextRelease
- Dist::Zilla::Plugin::PkgVersion
- Dist::Zilla::Plugin::PodCoverageTests
- Dist::Zilla::Plugin::PodSyntaxTests
- Dist::Zilla::Plugin::PodWeaver
- Dist::Zilla::Plugin::Prereqs
- Dist::Zilla::Plugin::Prereqs::MatchInstalled
- Dist::Zilla::Plugin::PruneCruft
- Dist::Zilla::Plugin::ReadmeAnyFromPod
- Dist::Zilla::Plugin::ReadmeFromPod
- Dist::Zilla::Plugin::ReportVersions::Tiny
- Dist::Zilla::Plugin::Test::CPAN::Changes
- Dist::Zilla::Plugin::Test::Compile::PerFile
- Dist::Zilla::Plugin::Test::Kwalitee
- Dist::Zilla::Plugin::Test::MinimumVersion
- Dist::Zilla::Plugin::Test::Perl::Critic
- Dist::Zilla::Plugin::TestRelease
- Dist::Zilla::Plugin::Twitter
- Dist::Zilla::Plugin::UploadToCPAN
- Dist::Zilla::PluginBundle::Author::KENTNL 2.002001
- Test::CPAN::Changes 0.19
- Test::Kwalitee 1.12
[Dependencies::Added / develop suggests]
- Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0
[Dependencies::Added / runtime requires]
- Class::Tiny
[Dependencies::Added / test requires]
- lib
[Dependencies::Changed / build requires]
- Module::Build 0.4004 → 0.4202
[Dependencies::Changed / configure requires]
- Module::Build 0.4004 → 0.4202
[Dependencies::Changed / test requires]
- Test::More 0.98 → 1.001002
[Dependencies::Removed / develop recommends]
- Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0
[Dependencies::Removed / develop requires]
- Dist::Zilla::PluginBundle::Author::KENTNL::Lite
[Dependencies::Removed / develop suggests]
- Dist::Zilla::PluginBundle::Author::KENTNL v1.7.2
[Dependencies::Removed / test requires]
- File::Find
[Documentation]
- Encoding specified
- MetaPOD annotations added
[Packaging]
- use new MB syntax for fallback
[Tests]
- use Test::Compile::PerFile
- Regenerate ReportVersions::Tiny to not report develop deps.
- Regenerate CPAN::Changes test
- Regenerate Kwalitee test
0.3.3 2013-04-03T11:32:08Z
[!Noteable Changes]
- Replace Path::Class with Path::Tiny
......@@ -57,7 +152,7 @@ Release history for Test-File-ShareDir
[Bugs]
- Absolute paths were treated incorrectly as relative ones. Now using
Path::Class properly which should fix this problem. Thanks to RJBS for
diagnosing and reporting this problem.
diagnosing and reporting this problem.
[Dependencies]
- test removed: English
......
.perltidyrc
.travis.yml
Build.PL
Changes
LICENSE
......@@ -7,10 +8,35 @@ META.json
META.yml
README
dist.ini
layout/self_structure.dot
layout/self_structure.png
lib/Test/File/ShareDir.pm
lib/Test/File/ShareDir/Dist.pm
lib/Test/File/ShareDir/Module.pm
lib/Test/File/ShareDir/Object/Dist.pm
lib/Test/File/ShareDir/Object/Inc.pm
lib/Test/File/ShareDir/Object/Module.pm
lib/Test/File/ShareDir/TempDirObject.pm
maint-travis-ci/README.mkdn
maint-travis-ci/before_script.pl
maint-travis-ci/install_deps.pl
maint-travis-ci/lib/tools.pm
maint-travis-ci/merge_travis_yml.pl
maint-travis-ci/report_fail_ctx.pl
maint-travis-ci/script.pl
maint-travis-ci/sterilize_env.pl
maint-travis-ci/sync_tree.pl
maint-travis-ci/yamls/sterile.mkdn
maint-travis-ci/yamls/sterile.yaml
maint-travis-ci/yamls/sterile2.yaml
perlcritic.rc
t/00-compile.t
t/00-compile/lib_Test_File_ShareDir_Dist_pm.t
t/00-compile/lib_Test_File_ShareDir_Module_pm.t
t/00-compile/lib_Test_File_ShareDir_Object_Dist_pm.t
t/00-compile/lib_Test_File_ShareDir_Object_Inc_pm.t
t/00-compile/lib_Test_File_ShareDir_Object_Module_pm.t
t/00-compile/lib_Test_File_ShareDir_TempDirObject_pm.t
t/00-compile/lib_Test_File_ShareDir_pm.t
t/000-report-versions-tiny.t
t/01_basic.t
t/01_files/lib/Example.pm
......@@ -20,6 +46,14 @@ t/02_files/share/afile
t/03_cwd.t
t/03_files/lib/Example.pm
t/03_files/share/afile
t/04_basic_simple.t
t/04_files/lib/Example.pm
t/04_files/share/afile
t/05_dist_dir_simple.t
t/05_files/share/afile
t/06_cwd_simple.t
t/06_files/lib/Example.pm
t/06_files/share/afile
weaver.ini
xt/author/critic.t
xt/release/cpan-changes.t
......
This diff is collapsed.
This diff is collapsed.
......@@ -3,7 +3,7 @@ NAME
testing.
VERSION
version 0.3.3
version 0.4.0
SYNOPSIS
use Test::More;
......@@ -32,6 +32,68 @@ DESCRIPTION
For this reason, unless you have File::ShareDir 1.00 or later installed,
this module will not be usable by you.
SIMPLE INTERFACE
Starting with version 0.4.0, there are a few extra interfaces you can
use.
These will probably be more useful, and easier to grok, because they
don't have a layer of indirection in order to simultaneously support
both "Module" and "Dist" "ShareDir"'s.
Simple Exporter Interfaces
"Test::File::ShareDir::Dist"
"Test::File::ShareDir::Dist" provides a simple export interface for
making "TempDir" "ShareDir"'s from a given path:
use Test::File::ShareDir::Dist { "Dist-Name" => "share/" };
This will automatically create a "ShareDir" for "Dist-Name" in a
"TempDir" based on the contents of "CWD/share/"
See "Test::File::ShareDir::Dist" for details.
"Test::File::ShareDir::Module"
"Test::File::ShareDir::Module" provides a simple export interface for
making "TempDir" "ShareDir"'s from a given path:
use Test::File::ShareDir::Module { "Module::Name" => "share/" };
This will automatically create a "ShareDir" for "Module::Name" in a
"TempDir" based on the contents of "CWD/share/"
See "Test::File::ShareDir::Module" for details.
Simple Object Oriented Interfaces
"Test::File::ShareDir::Object::Dist"
"Test::File::ShareDir::Object::Dist" provides a simple object oriented
interface for making "TempDir" "ShareDir"'s from a given path:
use Test::File::ShareDir::Object::Dist;
my $obj = Test::File::ShareDir::Object::Dist->new( dists => { "Dist-Name" => "share/" } );
$obj->install_all_dists;
$obj->add_to_inc;
This will automatically create a "ShareDir" for "Dist-Name" in a
"TempDir" based on the contents of "CWD/share/"
See "Test::File::ShareDir::Object::Dist" for details.
"Test::File::ShareDir::Object::Module"
"Test::File::ShareDir::Object::Module" provides a simple object oriented
interface for making "TempDir" "ShareDir"'s from a given path:
use Test::File::ShareDir::Object::Module;
my $obj = Test::File::ShareDir::Object::Module->new( modules => { "Module::Name" => "share/" } );
$obj->install_all_modules;
$obj->add_to_inc;
This will automatically create a "ShareDir" for "Module::Name" in a
"TempDir" based on the contents of "CWD/share/"
See "Test::File::ShareDir::Object::Module" for details.
IMPORTING
-root
This parameter is the prefix the other paths are relative to.
......
......@@ -4,7 +4,7 @@ author = Kent Fredric <kentnl@cpan.org>
license = Perl_5
copyright_holder = Kent Fredric <kentnl@cpan.org>
; Uncomment this to bootstrap via self
; Uncomment this to bootstrap via self
; [Bootstrap::lib]
[@Author::KENTNL]
......
strict digraph Perl {
graph [compound=1, concentrate=1, overlap=false, rankdir=LR, ranksep=1, smoothing=triangle, splines=spline];
node [label="\N", shape=record, style=dotted];
edge [minlen=1];
"Class::Tiny::Object" [label="Class::Tiny::Object"];
"Test::File::ShareDir" [label="Test::File::ShareDir"];
"Test::File::ShareDir::Dist" [label="Test::File::ShareDir::Dist"];
"Test::File::ShareDir::Module" [label="Test::File::ShareDir::Module"];
"Test::File::ShareDir::Object::Dist" [label="Test::File::ShareDir::Object::Dist", shape=Mrecord, style=solid, color="#7e1e9c", fontsize=7, height="0.1"];
"Test::File::ShareDir::Object::Inc" [label="Test::File::ShareDir::Object::Inc", shape=Mrecord, style=solid, color="#7e1e9c", fontsize=7, height="0.1"];
"Test::File::ShareDir::Object::Module" [label="Test::File::ShareDir::Object::Module", shape=Mrecord, style=solid, color="#7e1e9c", fontsize=7, height="0.1"];
"Test::File::ShareDir::TempDirObject" [label="Test::File::ShareDir::TempDirObject", shape=Mrecord, style=solid, color="#7e1e9c", fontsize=7, height="0.1"];
"Class::Tiny::Object" -> "Test::File::ShareDir::Object::Dist" [arrowhead=open, arrowsize="0.5", color="#ff81c0", dir=forward, fontsize=6, headclip=1, label="inherited by", samehead=head, tailclip=1, weight=10];
"Class::Tiny::Object" -> "Test::File::ShareDir::Object::Inc" [arrowhead=open, arrowsize="0.5", color="#ff81c0", dir=forward, fontsize=6, headclip=1, label="inherited by", samehead=head, tailclip=1, weight=10];
"Class::Tiny::Object" -> "Test::File::ShareDir::Object::Module" [arrowhead=open, arrowsize="0.5", color="#ff81c0", dir=forward, fontsize=6, headclip=1, label="inherited by", samehead=head, tailclip=1, weight=10];
}
......@@ -6,7 +6,7 @@ BEGIN {
$Test::File::ShareDir::AUTHORITY = 'cpan:KENTNL';
}
{
$Test::File::ShareDir::VERSION = '0.3.3';
$Test::File::ShareDir::VERSION = '0.4.0';
}
# ABSTRACT: Create a Fake ShareDir for your modules for testing.
......@@ -42,13 +42,15 @@ __END__
=pod
=encoding UTF-8
=head1 NAME
Test::File::ShareDir - Create a Fake ShareDir for your modules for testing.
=head1 VERSION
version 0.3.3
version 0.4.0
=head1 SYNOPSIS
......@@ -77,6 +79,77 @@ This module only has support for creating 'new' style share dirs and are NOT com
For this reason, unless you have File::ShareDir 1.00 or later installed, this module will not be usable by you.
=head1 SIMPLE INTERFACE
Starting with version C<0.4.0>, there are a few extra interfaces you can use.
These will probably be more useful, and easier to grok, because they don't have a layer of
indirection in order to simultaneously support both C<Module> and C<Dist> C<ShareDir>'s.
=head2 Simple Exporter Interfaces
=head3 C<Test::File::ShareDir::Dist>
L<< C<Test::File::ShareDir::Dist>|Test::File::ShareDir::Dist >> provides a simple export interface
for making C<TempDir> C<ShareDir>'s from a given path:
use Test::File::ShareDir::Dist { "Dist-Name" => "share/" };
This will automatically create a C<ShareDir> for C<Dist-Name> in a C<TempDir> based on the contents of C<CWD/share/>
See L<< C<Test::File::ShareDir::Dist>|Test::File::ShareDir::Dist >> for details.
=head3 C<Test::File::ShareDir::Module>
L<< C<Test::File::ShareDir::Module>|Test::File::ShareDir::Module >> provides a simple export interface
for making C<TempDir> C<ShareDir>'s from a given path:
use Test::File::ShareDir::Module { "Module::Name" => "share/" };
This will automatically create a C<ShareDir> for C<Module::Name> in a C<TempDir> based on the contents of C<CWD/share/>
See L<< C<Test::File::ShareDir::Module>|Test::File::ShareDir::Module >> for details.
=head2 Simple Object Oriented Interfaces
=head3 C<Test::File::ShareDir::Object::Dist>
L<< C<Test::File::ShareDir::Object::Dist>|Test::File::ShareDir::Object::Dist >> provides a simple object oriented interface for making C<TempDir> C<ShareDir>'s from a given path:
use Test::File::ShareDir::Object::Dist;
my $obj = Test::File::ShareDir::Object::Dist->new( dists => { "Dist-Name" => "share/" } );
$obj->install_all_dists;
$obj->add_to_inc;
This will automatically create a C<ShareDir> for C<Dist-Name> in a C<TempDir> based on the contents of C<CWD/share/>
See L<< C<Test::File::ShareDir::Object::Dist>|Test::File::ShareDir::Object::Dist >> for details.
=head3 C<Test::File::ShareDir::Object::Module>
L<< C<Test::File::ShareDir::Object::Module>|Test::File::ShareDir::Object::Module >> provides a simple object oriented interface for making C<TempDir> C<ShareDir>'s from a given path:
use Test::File::ShareDir::Object::Module;
my $obj = Test::File::ShareDir::Object::Module->new( modules => { "Module::Name" => "share/" } );
$obj->install_all_modules;
$obj->add_to_inc;
This will automatically create a C<ShareDir> for C<Module::Name> in a C<TempDir> based on the contents of C<CWD/share/>
See L<< C<Test::File::ShareDir::Object::Module>|Test::File::ShareDir::Object::Module >> for details.
=begin MetaPOD::JSON v1.1.0
{
"namespace":"Test::File::ShareDir",
"interface":"exporter"
}
=end MetaPOD::JSON
=head1 IMPORTING
=head2 -root
......
use strict;
use warnings;
package Test::File::ShareDir::Dist;
BEGIN {
$Test::File::ShareDir::Dist::AUTHORITY = 'cpan:KENTNL';
}
{
$Test::File::ShareDir::Dist::VERSION = '0.4.0';
}
# ABSTRACT: Simplified C<dist> oriented C<ShareDir> tester
use File::ShareDir 1.00 qw();
sub import {
my ( $class, $arg ) = @_;
if ( not ref $arg or not ref $arg eq 'HASH' ) {
require Carp;
return Carp::croak q[Must pass a hashref];
}
my %input_config = %{$arg};
require Test::File::ShareDir::Object::Dist;
my $params = {};
for my $key ( keys %input_config ) {
next unless $key =~ /\A-(.*)\z/msx;
$params->{$1} = delete $input_config{$key};
}
$params->{dists} = {} if not exists $params->{dists};
for my $key ( keys %input_config ) {
$params->{dists}->{$key} = $input_config{$key};
}
my $object = Test::File::ShareDir::Object::Dist->new($params);
$object->install_all_dists();
$object->add_to_inc();
return 1;
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Test::File::ShareDir::Dist - Simplified C<dist> oriented C<ShareDir> tester
=head1 VERSION
version 0.4.0
=head1 SYNOPSIS
use Test::File::ShareDir::Dist {
'-root' => 'some/root/path',
'Dist-Zilla-Plugin-Foo' => 'share/DZPF',
};
C<-root> is optional, and defaults to C<cwd>
B<NOTE:> There's a bug prior to 5.18 with C<use Foo { -key => }>, so for backwards compatibility, make sure you either quote the key: C<use Foo { '-key' => }>, or make it the non-first key.
=begin MetaPOD::JSON v1.1.0
{
"namespace":"Test::File::ShareDir::Dist",
"interface":"exporter"
}
=end MetaPOD::JSON
=head1 AUTHOR
Kent Fredric <kentnl@cpan.org>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Kent Fredric <kentnl@cpan.org>.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
use strict;
use warnings;
package Test::File::ShareDir::Module;
BEGIN {
$Test::File::ShareDir::Module::AUTHORITY = 'cpan:KENTNL';
}
{
$Test::File::ShareDir::Module::VERSION = '0.4.0';
}
# ABSTRACT: Simplified C<module> oriented C<ShareDir> tester
use File::ShareDir 1.00 qw();
sub import {
my ( $class, $arg ) = @_;
if ( not ref $arg or not ref $arg eq 'HASH' ) {
require Carp;
return Carp::croak q[Must pass a hashref];
}
my %input_config = %{$arg};
require Test::File::ShareDir::Object::Module;
my $params = {};
for my $key ( keys %input_config ) {
next unless $key =~ /\A-(.*)\z/msx;
$params->{$1} = delete $input_config{$key};
}
$params->{modules} = {} if not exists $params->{modules};
for my $key ( keys %input_config ) {
$params->{modules}->{$key} = $input_config{$key};
}
my $object = Test::File::ShareDir::Object::Module->new($params);
$object->install_all_modules();
$object->add_to_inc();
return 1;
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Test::File::ShareDir::Module - Simplified C<module> oriented C<ShareDir> tester
=head1 VERSION
version 0.4.0
=head1 SYNOPSIS
use Test::File::ShareDir::Module {
'-root' => "some/root/path",
'Module::Foo' => "share/ModuleFoo",
};
C<-root> is optional, and defaults to C<cwd>
B<NOTE:> There's a bug prior to 5.18 with C<use Foo { -key => }>, so for backwards compatibility, make sure you either quote the key: C<use Foo { '-key' => }>, or make it the non-first key.
=begin MetaPOD::JSON v1.1.0
{
"namespace":"Test::File::ShareDir::Module",
"interface":"exporter"
}
=end MetaPOD::JSON
=head1 AUTHOR
Kent Fredric <kentnl@cpan.org>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Kent Fredric <kentnl@cpan.org>.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
use strict;
use warnings;
package Test::File::ShareDir::Object::Dist;
BEGIN {
$Test::File::ShareDir::Object::Dist::AUTHORITY = 'cpan:KENTNL';
}
{
$Test::File::ShareDir::Object::Dist::VERSION = '0.4.0';
}
# ABSTRACT: Object Oriented C<ShareDir> creation for distributions
use Class::Tiny {
inc => sub {
require Test::File::ShareDir::Object::Inc;
return Test::File::ShareDir::Object::Inc->new();
},
dists => sub {
return {};
},
root => sub {
require Path::Tiny;
return Path::Tiny::path(q[./])->absolute;
},
};
sub __rcopy { require File::Copy::Recursive; goto \&File::Copy::Recursive::rcopy; }
sub dist_names {
my ($self) = @_;
return keys %{ $self->dists };
}
sub dist_share_target_dir {
my ( $self, $distname ) = @_;
return $self->inc->dist_tempdir->child($distname);
}
sub dist_share_source_dir {
my ( $self, $distname ) = @_;
require Path::Tiny;
return Path::Tiny::path( $self->dists->{$distname} )->absolute( $self->root );
}
sub install_dist {
my ( $self, $distname ) = @_;
my $source = $self->dist_share_source_dir($distname);
my $target = $self->dist_share_target_dir($distname);
return __rcopy( $source, $target );
}
sub install_all_dists {
my ($self) = @_;
for my $dist ( $self->dist_names ) {
$self->install_dist($dist);