@@ -1,5 +1,12 @@
Revision history for Color-Scheme
+1.07 2015-03-23 08:50:59-04:00 America/New_York
+ - allow for single-bit imprecision in color parts, as perl 5.21.x
+ has changed its rounding in some cases (with long doubles)
+
+1.06 2014-02-13 14:31:19-05:00 America/New_York
+ typo fixes (thanks, Yanick!)
+
1.05 2013-07-01 20:59:24 America/New_York
repackage, update bugtracker, etc.
@@ -22,7 +22,7 @@ This is free software, licensed under:
Version 1, February 1989
Copyright (C) 1989 Free Software Foundation, Inc.
- 51 Franklin St, Suite 500, Boston, MA 02110-1335 USA
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -1,3 +1,4 @@
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.034.
Changes
LICENSE
MANIFEST
@@ -7,10 +8,11 @@ Makefile.PL
README
dist.ini
lib/Color/Scheme.pm
-t/00-compile.t
-t/000-report-versions-tiny.t
+t/00-report-prereqs.dd
+t/00-report-prereqs.t
t/colors.t
t/colors2.t
+t/lib/ColorTest.pm
t/synopsis.t
t/three-sixty.t
xt/release/changes_has_content.t
@@ -4,25 +4,24 @@
"Ian Langworth <ian.langworth@gmail.com>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 4.300035, CPAN::Meta::Converter version 2.131560",
+ "generated_by" : "Dist::Zilla version 5.034, CPAN::Meta::Converter version 2.150001",
"license" : [
"perl_5"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
- "version" : "2"
+ "version" : 2
},
"name" : "Color-Scheme",
"prereqs" : {
"configure" : {
"requires" : {
- "ExtUtils::MakeMaker" : "6.30"
+ "ExtUtils::MakeMaker" : "0"
}
},
"develop" : {
"requires" : {
- "Test::Pod" : "1.41",
- "version" : "0.9901"
+ "Test::Pod" : "1.41"
}
},
"runtime" : {
@@ -35,11 +34,15 @@
}
},
"test" : {
+ "recommends" : {
+ "CPAN::Meta" : "2.120900"
+ },
"requires" : {
- "File::Find" : "0",
- "File::Temp" : "0",
- "Test::Differences" : "0.47",
- "Test::More" : "0.96"
+ "Exporter" : "0",
+ "ExtUtils::MakeMaker" : "0",
+ "File::Spec" : "0",
+ "Test::More" : "0.96",
+ "parent" : "0"
}
}
},
@@ -55,136 +58,193 @@
"web" : "https://github.com/rjbs/Color-Scheme"
}
},
- "version" : "1.05",
+ "version" : "1.07",
"x_Dist_Zilla" : {
"perl" : {
- "version" : "5.019001"
+ "version" : "5.021009"
},
"plugins" : [
{
"class" : "Dist::Zilla::Plugin::Git::GatherDir",
+ "config" : {
+ "Dist::Zilla::Plugin::GatherDir" : {
+ "exclude_filename" : [],
+ "exclude_match" : [],
+ "follow_symlinks" : "0",
+ "include_dotfiles" : "0",
+ "prefix" : "",
+ "prune_directory" : [],
+ "root" : "."
+ },
+ "Dist::Zilla::Plugin::Git::GatherDir" : {
+ "include_untracked" : "0"
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
"name" : "@RJBS/Git::GatherDir",
- "version" : "2.014"
+ "version" : "2.031"
},
{
"class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
"name" : "@RJBS/CheckPrereqsIndexed",
- "version" : "0.009"
+ "version" : "0.015"
},
{
"class" : "Dist::Zilla::Plugin::CheckExtraTests",
"name" : "@RJBS/CheckExtraTests",
- "version" : "0.011"
+ "version" : "0.025"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PromptIfStale",
+ "config" : {
+ "Dist::Zilla::Plugin::PromptIfStale" : {
+ "check_all_plugins" : 0,
+ "check_all_prereqs" : 0,
+ "modules" : [
+ "Dist::Zilla::PluginBundle::RJBS"
+ ],
+ "phase" : "build",
+ "skip" : []
+ }
+ },
+ "name" : "@RJBS/RJBS-Outdated",
+ "version" : "0.040"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::PromptIfStale",
+ "config" : {
+ "Dist::Zilla::Plugin::PromptIfStale" : {
+ "check_all_plugins" : "1",
+ "check_all_prereqs" : 0,
+ "modules" : [],
+ "phase" : "release",
+ "skip" : []
+ }
+ },
+ "name" : "@RJBS/CPAN-Outdated",
+ "version" : "0.040"
},
{
"class" : "Dist::Zilla::Plugin::PruneCruft",
"name" : "@RJBS/@Filter/PruneCruft",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::ManifestSkip",
"name" : "@RJBS/@Filter/ManifestSkip",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::MetaYAML",
"name" : "@RJBS/@Filter/MetaYAML",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::License",
"name" : "@RJBS/@Filter/License",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::Readme",
"name" : "@RJBS/@Filter/Readme",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::ExecDir",
"name" : "@RJBS/@Filter/ExecDir",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::ShareDir",
"name" : "@RJBS/@Filter/ShareDir",
- "version" : "4.300035"
- },
- {
- "class" : "Dist::Zilla::Plugin::MakeMaker",
- "name" : "@RJBS/@Filter/MakeMaker",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::Manifest",
"name" : "@RJBS/@Filter/Manifest",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::TestRelease",
"name" : "@RJBS/@Filter/TestRelease",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::ConfirmRelease",
"name" : "@RJBS/@Filter/ConfirmRelease",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::UploadToCPAN",
"name" : "@RJBS/@Filter/UploadToCPAN",
- "version" : "4.300035"
+ "version" : "5.034"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::MakeMaker",
+ "config" : {
+ "Dist::Zilla::Role::TestRunner" : {
+ "default_jobs" : 9
+ }
+ },
+ "name" : "@RJBS/MakeMaker",
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::AutoPrereqs",
"name" : "@RJBS/AutoPrereqs",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::Git::NextVersion",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::NextVersion" : {
+ "first_version" : "0.001",
+ "version_by_branch" : "0",
+ "version_regexp" : "(?^:^([0-9]+\\.[0-9]+)$)"
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
"name" : "@RJBS/Git::NextVersion",
- "version" : "2.014"
+ "version" : "2.031"
},
{
"class" : "Dist::Zilla::Plugin::PkgVersion",
"name" : "@RJBS/PkgVersion",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::MetaConfig",
"name" : "@RJBS/MetaConfig",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::MetaJSON",
"name" : "@RJBS/MetaJSON",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::NextRelease",
"name" : "@RJBS/NextRelease",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::Test::ChangesHasContent",
"name" : "@RJBS/Test::ChangesHasContent",
- "version" : "0.006"
+ "version" : "0.007"
},
{
"class" : "Dist::Zilla::Plugin::PodSyntaxTests",
"name" : "@RJBS/PodSyntaxTests",
- "version" : "4.300035"
- },
- {
- "class" : "Dist::Zilla::Plugin::Test::Compile",
- "name" : "@RJBS/Test::Compile",
- "version" : "2.002"
+ "version" : "5.034"
},
{
- "class" : "Dist::Zilla::Plugin::ReportVersions::Tiny",
- "name" : "@RJBS/ReportVersions::Tiny",
- "version" : "1.08"
+ "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
+ "name" : "@RJBS/Test::ReportPrereqs",
+ "version" : "0.020"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
@@ -195,67 +255,257 @@
}
},
"name" : "@RJBS/TestMoreWithSubtests",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::PodWeaver",
+ "config" : {
+ "Dist::Zilla::Plugin::PodWeaver" : {
+ "config_plugins" : [
+ "@RJBS"
+ ],
+ "finder" : [
+ ":InstallModules",
+ ":ExecFiles"
+ ],
+ "plugins" : [
+ {
+ "class" : "Pod::Weaver::Plugin::EnsurePod5",
+ "name" : "@CorePrep/EnsurePod5",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Plugin::H1Nester",
+ "name" : "@CorePrep/H1Nester",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Plugin::SingleEncoding",
+ "name" : "@RJBS/SingleEncoding",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Name",
+ "name" : "@RJBS/Name",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Version",
+ "name" : "@RJBS/Version",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Region",
+ "name" : "@RJBS/Prelude",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Generic",
+ "name" : "@RJBS/Synopsis",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Generic",
+ "name" : "@RJBS/Description",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Generic",
+ "name" : "@RJBS/Overview",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Generic",
+ "name" : "@RJBS/Stability",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Collect",
+ "name" : "Attributes",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Collect",
+ "name" : "Methods",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Collect",
+ "name" : "Functions",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Leftovers",
+ "name" : "@RJBS/Leftovers",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Region",
+ "name" : "@RJBS/postlude",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Authors",
+ "name" : "@RJBS/Authors",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Contributors",
+ "name" : "@RJBS/Contributors",
+ "version" : "0.009"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Legal",
+ "name" : "@RJBS/Legal",
+ "version" : "4.010"
+ },
+ {
+ "class" : "Pod::Weaver::Plugin::Transformer",
+ "name" : "@RJBS/List",
+ "version" : "4.010"
+ }
+ ]
+ }
+ },
"name" : "@RJBS/PodWeaver",
- "version" : "3.101641"
+ "version" : "4.006"
},
{
"class" : "Dist::Zilla::Plugin::GithubMeta",
"name" : "@RJBS/GithubMeta",
- "version" : "0.28"
+ "version" : "0.48"
},
{
"class" : "Dist::Zilla::Plugin::Git::Check",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::Check" : {
+ "untracked_files" : "die"
+ },
+ "Dist::Zilla::Role::Git::DirtyFiles" : {
+ "allow_dirty" : [
+ "dist.ini",
+ "Changes"
+ ],
+ "allow_dirty_match" : [],
+ "changelog" : "Changes"
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
"name" : "@RJBS/@Git/Check",
- "version" : "2.014"
+ "version" : "2.031"
},
{
"class" : "Dist::Zilla::Plugin::Git::Commit",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::Commit" : {
+ "add_files_in" : [],
+ "commit_msg" : "v%v%n%n%c",
+ "time_zone" : "local"
+ },
+ "Dist::Zilla::Role::Git::DirtyFiles" : {
+ "allow_dirty" : [
+ "dist.ini",
+ "Changes"
+ ],
+ "allow_dirty_match" : [],
+ "changelog" : "Changes"
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
"name" : "@RJBS/@Git/Commit",
- "version" : "2.014"
+ "version" : "2.031"
},
{
"class" : "Dist::Zilla::Plugin::Git::Tag",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::Tag" : {
+ "branch" : null,
+ "signed" : 0,
+ "tag" : "1.07",
+ "tag_format" : "%v",
+ "tag_message" : "v%v",
+ "time_zone" : "local"
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
"name" : "@RJBS/@Git/Tag",
- "version" : "2.014"
+ "version" : "2.031"
},
{
"class" : "Dist::Zilla::Plugin::Git::Push",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::Push" : {
+ "push_to" : [
+ "origin :",
+ "github :"
+ ],
+ "remotes_must_exist" : 0
+ },
+ "Dist::Zilla::Role::Git::Repo" : {
+ "repo_root" : "."
+ }
+ },
"name" : "@RJBS/@Git/Push",
- "version" : "2.014"
+ "version" : "2.031"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::Git::Contributors",
+ "config" : {
+ "Dist::Zilla::Plugin::Git::Contributors" : {
+ "include_authors" : "0",
+ "include_releaser" : "1",
+ "order_by" : "name",
+ "paths" : []
+ }
+ },
+ "name" : "@RJBS/Git::Contributors",
+ "version" : "0.011"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":InstallModules",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":IncModules",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":TestFiles",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExecFiles",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ShareFiles",
- "version" : "4.300035"
+ "version" : "5.034"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":MainModule",
- "version" : "4.300035"
+ "version" : "5.034"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":AllFiles",
+ "version" : "5.034"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : ":NoFiles",
+ "version" : "5.034"
}
],
"zilla" : {
@@ -263,8 +513,13 @@
"config" : {
"is_trial" : "0"
},
- "version" : "4.300035"
+ "version" : "5.034"
}
- }
+ },
+ "x_contributors" : [
+ "Ian Langworth <ian@cpan.org>",
+ "Ricardo Signes <rjbs@cpan.org>",
+ "Yanick Champoux <yanick@babyl.dyndns.org>"
+ ]
}
@@ -3,134 +3,177 @@ abstract: 'generate pleasant color schemes'
author:
- 'Ian Langworth <ian.langworth@gmail.com>'
build_requires:
- File::Find: 0
- File::Temp: 0
- Test::Differences: 0.47
- Test::More: 0.96
+ Exporter: '0'
+ ExtUtils::MakeMaker: '0'
+ File::Spec: '0'
+ Test::More: '0.96'
+ parent: '0'
configure_requires:
- ExtUtils::MakeMaker: 6.30
+ ExtUtils::MakeMaker: '0'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.300035, CPAN::Meta::Converter version 2.131560'
+generated_by: 'Dist::Zilla version 5.034, CPAN::Meta::Converter version 2.150001'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: 1.4
+ version: '1.4'
name: Color-Scheme
requires:
- Carp: 0
- List::Util: 1.14
- POSIX: 1.08
- strict: 0
- warnings: 0
+ Carp: '0'
+ List::Util: '1.14'
+ POSIX: '1.08'
+ strict: '0'
+ warnings: '0'
resources:
bugtracker: https://github.com/rjbs/Color-Scheme/issues
homepage: https://github.com/rjbs/Color-Scheme
repository: https://github.com/rjbs/Color-Scheme.git
-version: 1.05
+version: '1.07'
x_Dist_Zilla:
perl:
- version: 5.019001
+ version: '5.021009'
plugins:
-
class: Dist::Zilla::Plugin::Git::GatherDir
+ config:
+ Dist::Zilla::Plugin::GatherDir:
+ exclude_filename: []
+ exclude_match: []
+ follow_symlinks: '0'
+ include_dotfiles: '0'
+ prefix: ''
+ prune_directory: []
+ root: .
+ Dist::Zilla::Plugin::Git::GatherDir:
+ include_untracked: '0'
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
name: '@RJBS/Git::GatherDir'
- version: 2.014
+ version: '2.031'
-
class: Dist::Zilla::Plugin::CheckPrereqsIndexed
name: '@RJBS/CheckPrereqsIndexed'
- version: 0.009
+ version: '0.015'
-
class: Dist::Zilla::Plugin::CheckExtraTests
name: '@RJBS/CheckExtraTests'
- version: 0.011
+ version: '0.025'
+ -
+ class: Dist::Zilla::Plugin::PromptIfStale
+ config:
+ Dist::Zilla::Plugin::PromptIfStale:
+ check_all_plugins: 0
+ check_all_prereqs: 0
+ modules:
+ - Dist::Zilla::PluginBundle::RJBS
+ phase: build
+ skip: []
+ name: '@RJBS/RJBS-Outdated'
+ version: '0.040'
+ -
+ class: Dist::Zilla::Plugin::PromptIfStale
+ config:
+ Dist::Zilla::Plugin::PromptIfStale:
+ check_all_plugins: '1'
+ check_all_prereqs: 0
+ modules: []
+ phase: release
+ skip: []
+ name: '@RJBS/CPAN-Outdated'
+ version: '0.040'
-
class: Dist::Zilla::Plugin::PruneCruft
name: '@RJBS/@Filter/PruneCruft'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::ManifestSkip
name: '@RJBS/@Filter/ManifestSkip'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::MetaYAML
name: '@RJBS/@Filter/MetaYAML'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::License
name: '@RJBS/@Filter/License'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::Readme
name: '@RJBS/@Filter/Readme'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::ExecDir
name: '@RJBS/@Filter/ExecDir'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::ShareDir
name: '@RJBS/@Filter/ShareDir'
- version: 4.300035
- -
- class: Dist::Zilla::Plugin::MakeMaker
- name: '@RJBS/@Filter/MakeMaker'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::Manifest
name: '@RJBS/@Filter/Manifest'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::TestRelease
name: '@RJBS/@Filter/TestRelease'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::ConfirmRelease
name: '@RJBS/@Filter/ConfirmRelease'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::UploadToCPAN
name: '@RJBS/@Filter/UploadToCPAN'
- version: 4.300035
+ version: '5.034'
+ -
+ class: Dist::Zilla::Plugin::MakeMaker
+ config:
+ Dist::Zilla::Role::TestRunner:
+ default_jobs: 9
+ name: '@RJBS/MakeMaker'
+ version: '5.034'
-
class: Dist::Zilla::Plugin::AutoPrereqs
name: '@RJBS/AutoPrereqs'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::Git::NextVersion
+ config:
+ Dist::Zilla::Plugin::Git::NextVersion:
+ first_version: '0.001'
+ version_by_branch: '0'
+ version_regexp: (?^:^([0-9]+\.[0-9]+)$)
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
name: '@RJBS/Git::NextVersion'
- version: 2.014
+ version: '2.031'
-
class: Dist::Zilla::Plugin::PkgVersion
name: '@RJBS/PkgVersion'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::MetaConfig
name: '@RJBS/MetaConfig'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::MetaJSON
name: '@RJBS/MetaJSON'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::NextRelease
name: '@RJBS/NextRelease'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::Test::ChangesHasContent
name: '@RJBS/Test::ChangesHasContent'
- version: 0.006
+ version: '0.007'
-
class: Dist::Zilla::Plugin::PodSyntaxTests
name: '@RJBS/PodSyntaxTests'
- version: 4.300035
- -
- class: Dist::Zilla::Plugin::Test::Compile
- name: '@RJBS/Test::Compile'
- version: 2.002
+ version: '5.034'
-
- class: Dist::Zilla::Plugin::ReportVersions::Tiny
- name: '@RJBS/ReportVersions::Tiny'
- version: 1.08
+ class: Dist::Zilla::Plugin::Test::ReportPrereqs
+ name: '@RJBS/Test::ReportPrereqs'
+ version: '0.020'
-
class: Dist::Zilla::Plugin::Prereqs
config:
@@ -138,57 +181,205 @@ x_Dist_Zilla:
phase: test
type: requires
name: '@RJBS/TestMoreWithSubtests'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::PodWeaver
+ config:
+ Dist::Zilla::Plugin::PodWeaver:
+ config_plugins:
+ - '@RJBS'
+ finder:
+ - ':InstallModules'
+ - ':ExecFiles'
+ plugins:
+ -
+ class: Pod::Weaver::Plugin::EnsurePod5
+ name: '@CorePrep/EnsurePod5'
+ version: '4.010'
+ -
+ class: Pod::Weaver::Plugin::H1Nester
+ name: '@CorePrep/H1Nester'
+ version: '4.010'
+ -
+ class: Pod::Weaver::Plugin::SingleEncoding
+ name: '@RJBS/SingleEncoding'
+ version: '4.010'
+ -
+ class: Pod::Weaver::Section::Name
+ name: '@RJBS/Name'
+ version: '4.010'
+ -
+ class: Pod::Weaver::Section::Version
+ name: '@RJBS/Version'
+ version: '4.010'
+ -
+ class: Pod::Weaver::Section::Region
+ name: '@RJBS/Prelude'
+ version: '4.010'
+ -
+ class: Pod::Weaver::Section::Generic
+ name: '@RJBS/Synopsis'
+ version: '4.010'
+ -
+ class: Pod::Weaver::Section::Generic
+ name: '@RJBS/Description'
+ version: '4.010'
+ -
+ class: Pod::Weaver::Section::Generic
+ name: '@RJBS/Overview'
+ version: '4.010'
+ -
+ class: Pod::Weaver::Section::Generic
+ name: '@RJBS/Stability'
+ version: '4.010'
+ -
+ class: Pod::Weaver::Section::Collect
+ name: Attributes
+ version: '4.010'
+ -
+ class: Pod::Weaver::Section::Collect
+ name: Methods
+ version: '4.010'
+ -
+ class: Pod::Weaver::Section::Collect
+ name: Functions
+ version: '4.010'
+ -
+ class: Pod::Weaver::Section::Leftovers
+ name: '@RJBS/Leftovers'
+ version: '4.010'
+ -
+ class: Pod::Weaver::Section::Region
+ name: '@RJBS/postlude'
+ version: '4.010'
+ -
+ class: Pod::Weaver::Section::Authors
+ name: '@RJBS/Authors'
+ version: '4.010'
+ -
+ class: Pod::Weaver::Section::Contributors
+ name: '@RJBS/Contributors'
+ version: '0.009'
+ -
+ class: Pod::Weaver::Section::Legal
+ name: '@RJBS/Legal'
+ version: '4.010'
+ -
+ class: Pod::Weaver::Plugin::Transformer
+ name: '@RJBS/List'
+ version: '4.010'
name: '@RJBS/PodWeaver'
- version: 3.101641
+ version: '4.006'
-
class: Dist::Zilla::Plugin::GithubMeta
name: '@RJBS/GithubMeta'
- version: 0.28
+ version: '0.48'
-
class: Dist::Zilla::Plugin::Git::Check
+ config:
+ Dist::Zilla::Plugin::Git::Check:
+ untracked_files: die
+ Dist::Zilla::Role::Git::DirtyFiles:
+ allow_dirty:
+ - dist.ini
+ - Changes
+ allow_dirty_match: []
+ changelog: Changes
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
name: '@RJBS/@Git/Check'
- version: 2.014
+ version: '2.031'
-
class: Dist::Zilla::Plugin::Git::Commit
+ config:
+ Dist::Zilla::Plugin::Git::Commit:
+ add_files_in: []
+ commit_msg: v%v%n%n%c
+ time_zone: local
+ Dist::Zilla::Role::Git::DirtyFiles:
+ allow_dirty:
+ - dist.ini
+ - Changes
+ allow_dirty_match: []
+ changelog: Changes
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
name: '@RJBS/@Git/Commit'
- version: 2.014
+ version: '2.031'
-
class: Dist::Zilla::Plugin::Git::Tag
+ config:
+ Dist::Zilla::Plugin::Git::Tag:
+ branch: ~
+ signed: 0
+ tag: '1.07'
+ tag_format: '%v'
+ tag_message: v%v
+ time_zone: local
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
name: '@RJBS/@Git/Tag'
- version: 2.014
+ version: '2.031'
-
class: Dist::Zilla::Plugin::Git::Push
+ config:
+ Dist::Zilla::Plugin::Git::Push:
+ push_to:
+ - 'origin :'
+ - 'github :'
+ remotes_must_exist: 0
+ Dist::Zilla::Role::Git::Repo:
+ repo_root: .
name: '@RJBS/@Git/Push'
- version: 2.014
+ version: '2.031'
+ -
+ class: Dist::Zilla::Plugin::Git::Contributors
+ config:
+ Dist::Zilla::Plugin::Git::Contributors:
+ include_authors: '0'
+ include_releaser: '1'
+ order_by: name
+ paths: []
+ name: '@RJBS/Git::Contributors'
+ version: '0.011'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':InstallModules'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':IncModules'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':TestFiles'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExecFiles'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ShareFiles'
- version: 4.300035
+ version: '5.034'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':MainModule'
- version: 4.300035
+ version: '5.034'
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':AllFiles'
+ version: '5.034'
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: ':NoFiles'
+ version: '5.034'
zilla:
class: Dist::Zilla::Dist::Builder
config:
- is_trial: 0
- version: 4.300035
+ is_trial: '0'
+ version: '5.034'
+x_contributors:
+ - 'Ian Langworth <ian@cpan.org>'
+ - 'Ricardo Signes <rjbs@cpan.org>'
+ - 'Yanick Champoux <yanick@babyl.dyndns.org>'
@@ -1,19 +1,16 @@
-
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.034.
use strict;
use warnings;
-use ExtUtils::MakeMaker 6.30;
-
-
+use ExtUtils::MakeMaker;
my %WriteMakefileArgs = (
"ABSTRACT" => "generate pleasant color schemes",
"AUTHOR" => "Ian Langworth <ian.langworth\@gmail.com>",
- "BUILD_REQUIRES" => {},
"CONFIGURE_REQUIRES" => {
- "ExtUtils::MakeMaker" => "6.30"
+ "ExtUtils::MakeMaker" => 0
},
"DISTNAME" => "Color-Scheme",
"EXE_FILES" => [],
@@ -27,48 +24,40 @@ my %WriteMakefileArgs = (
"warnings" => 0
},
"TEST_REQUIRES" => {
- "File::Find" => 0,
- "File::Temp" => 0,
- "Test::Differences" => "0.47",
- "Test::More" => "0.96"
+ "Exporter" => 0,
+ "ExtUtils::MakeMaker" => 0,
+ "File::Spec" => 0,
+ "Test::More" => "0.96",
+ "parent" => 0
},
- "VERSION" => "1.05",
+ "VERSION" => "1.07",
"test" => {
"TESTS" => "t/*.t"
}
);
-unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
- my $tr = delete $WriteMakefileArgs{TEST_REQUIRES};
- my $br = $WriteMakefileArgs{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};
- }
- }
-}
+my %FallbackPrereqs = (
+ "Carp" => 0,
+ "Exporter" => 0,
+ "ExtUtils::MakeMaker" => 0,
+ "File::Spec" => 0,
+ "List::Util" => "1.14",
+ "POSIX" => "1.08",
+ "Test::More" => "0.96",
+ "parent" => 0,
+ "strict" => 0,
+ "warnings" => 0
+);
-unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
- my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
- my $pp = $WriteMakefileArgs{PREREQ_PM};
- for my $mod ( keys %$br ) {
- if ( exists $pp->{$mod} ) {
- $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod};
- }
- else {
- $pp->{$mod} = $br->{$mod};
- }
- }
+
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
+ delete $WriteMakefileArgs{TEST_REQUIRES};
+ delete $WriteMakefileArgs{BUILD_REQUIRES};
+ $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
}
delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
WriteMakefile(%WriteMakefileArgs);
-
-
-
@@ -1,7 +1,7 @@
This archive contains the distribution Color-Scheme,
-version 1.05:
+version 1.07:
generate pleasant color schemes
@@ -11,3 +11,5 @@ This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
+This README file was generated by Dist::Zilla::Plugin::Readme v5.034.
+
@@ -1,11 +1,8 @@
use strict;
use warnings;
package Color::Scheme;
-{
- $Color::Scheme::VERSION = '1.05';
-}
# ABSTRACT: generate pleasant color schemes
-
+$Color::Scheme::VERSION = '1.07';
use Carp;
use List::Util 1.14 qw(min max);
use POSIX 1.08 qw(floor);
@@ -55,6 +52,58 @@ my %COLOR_WHEEL = (
sub _round { floor( 0.5 + shift ) }
+#pod =head1 SYNOPSIS
+#pod
+#pod use Color::Scheme;
+#pod
+#pod my $scheme = Color::Scheme->new
+#pod ->from_hex('ff0000') # or ->from_hue(0)
+#pod ->scheme('analogic')
+#pod ->distance(0.3)
+#pod ->add_complement(1)
+#pod ->variation('pastel')
+#pod ->web_safe(1)
+#pod
+#pod my @list = $scheme->colors();
+#pod # @list = ( "999999","666699","ffffff","99cccc",
+#pod # "999999","666699","ffffff","9999cc",
+#pod # "669999","666699","ffffff","99cccc",
+#pod # "cccccc","996666","ffffff","cccc99" )
+#pod
+#pod my $set = $scheme->colorset();
+#pod # $set = [ [ "999999","666699","ffffff","99cccc", ],
+#pod # [ "999999","666699","ffffff","9999cc", ],
+#pod # [ "669999","666699","ffffff","99cccc", ],
+#pod # [ "cccccc","996666","ffffff","cccc99" ] ]
+#pod
+#pod
+#pod =head1 DESCRIPTION
+#pod
+#pod This module is a Perl implementation of Color Schemes
+#pod 2 (L<http://wellstyled.com/tools/colorscheme2/>), a color scheme generator.
+#pod Start by visitng the Color Schemes 2 web site and playing with the colors.
+#pod When you want to generate those schemes on the fly, begin using this module.
+#pod The descriptions herein don't make too much sense without actually seeing the
+#pod colorful results.
+#pod
+#pod Henceforth, paragraphs in quotes denote documentation copied from Color Schemes 2.
+#pod
+#pod "Important note: This tool I<doesn't use the standard HSV or HSB model> (the
+#pod same HSV/HSB values ie. in Photoshop describe different colors!). The color
+#pod wheel used here differs from the RGB spectre used on computer screens, it's
+#pod more in accordance with the classical color theory. This is also why some
+#pod colors (especially shades of blue) make less bright shades than the basic
+#pod colors of the RGB-model. In plus, the RGB-model uses red-green-blue as primary
+#pod colors, but the red-yellow-blue combination is used here. This deformation also
+#pod causes incompatibility in color conversions from RGB-values. Therefore, the RGB
+#pod input (eg. the HTML hex values like #F854A9) is not exact, the conversion is
+#pod rough and sometimes may produce slightly different color."
+#pod
+#pod =method new
+#pod
+#pod The C<new> method will return a new C<Color::Scheme> object.
+#pod
+#pod =cut
sub new {
my ( $class, @args ) = @_;
@@ -72,6 +121,21 @@ sub new {
}, $class;
}
+#pod =method colors
+#pod
+#pod Returns an array of 4, 8, 12 or 16 colors in C<RRGGBB> hexidecimal notation
+#pod (without a leading "#") depending on the color scheme and addComplement
+#pod parameter. For each set of four, the first is usually the most saturated color,
+#pod the second a darkened version, the third a pale version and fourth
+#pod a less-pale version.
+#pod
+#pod For example: With a contrast scheme, L<"colors()"> would return eight colors.
+#pod Indexes 1 and 5 could be background colors, 2 and 6 could be foreground colors.
+#pod
+#pod Trust me, it's much better if you check out the Color Scheme web site, whose
+#pod URL is listed in in L<"DESCRIPTION">.
+#pod
+#pod =cut
sub colors {
my ($self) = @_;
@@ -133,6 +197,28 @@ sub colors {
return @output;
}
+#pod =method colorset
+#pod
+#pod Returns a list of lists of the colors in groups of four. This method simply
+#pod allows you to reference a color in the scheme by its group isntead of its
+#pod absolute index in the list of colors. I am assuming that L<"colorset()">
+#pod will make it easier to use this module with the templating systems that are
+#pod out there.
+#pod
+#pod For example, if you were to follow the synopsis, say you wanted to retrieve
+#pod the two darkest colors from the first two groups of the scheme, which is
+#pod typically the second color in the group. You could retrieve them with
+#pod L<"colors()">:
+#pod
+#pod my $first_background = ($scheme->colors)[1];
+#pod my $second_background = ($scheme->colors)[5];
+#pod
+#pod Or, with this method,
+#pod
+#pod my $first_background = $scheme->colorset->[0][1];
+#pod my $second_background = $scheme->colorset->[1][1];
+#pod
+#pod =cut
sub colorset {
my ($self) = @_;
@@ -142,6 +228,16 @@ sub colorset {
return \@grouped_colors;
}
+#pod =method from_hue
+#pod
+#pod $scheme->from_hue( $degrees )
+#pod
+#pod Sets the base color hue, where C<degrees> is an integer. (Values greater than
+#pod 359 and less than 0 wrap back around the wheel.)
+#pod
+#pod The default base hue is 0, or bright red.
+#pod
+#pod =cut
sub from_hue {
my ( $self, $h ) = @_;
@@ -150,6 +246,16 @@ sub from_hue {
return $self;
}
+#pod =method from_hex
+#pod
+#pod $scheme->from_hex( $color )
+#pod
+#pod Sets the base color to the given color, where C<color> is in the hexidecimal
+#pod form RRGGBB. C<color> should not be preceded with a hash (#).
+#pod
+#pod The default base color is the equivalent of #ff0000, or bright red.
+#pod
+#pod =cut
sub from_hex {
my ( $self, $hex ) = @_;
@@ -221,6 +327,16 @@ sub from_hex {
return $self;
}
+#pod =method add_complement
+#pod
+#pod $scheme->add_complement( $bool )
+#pod
+#pod If C<$bool> is true, an extra set of colors will be produced using the
+#pod complement of the selected color.
+#pod
+#pod This only works with the analogic color scheme. The default is false.
+#pod
+#pod =cut
sub add_complement {
my ( $self, $b ) = @_;
@@ -229,6 +345,16 @@ sub add_complement {
return $self;
}
+#pod =method web_safe
+#pod
+#pod $scheme->web_safe( $bool )
+#pod
+#pod Sets whether the colors returned by L<"colors()"> or L<"colorset()"> will be
+#pod web-safe.
+#pod
+#pod The default is false.
+#pod
+#pod =cut
sub web_safe {
my ( $self, $b ) = @_;
@@ -237,6 +363,16 @@ sub web_safe {
return $self;
}
+#pod =method distance
+#pod
+#pod $scheme->distance( $float )
+#pod
+#pod C<$float> must be a value from 0 to 1. You might use this with the L<"triade">,
+#pod L<"tetrade"> or L<"analogic"> color schemes.
+#pod
+#pod The default is 0.5.
+#pod
+#pod =cut
sub distance {
my ( $self, $d ) = @_;
@@ -247,6 +383,14 @@ sub distance {
return $self;
}
+#pod =method scheme
+#pod
+#pod $scheme->scheme( $name )
+#pod
+#pod C<$name> must be a valid color scheme name. See L<"COLOR SCHEMES">. The default
+#pod is L<"mono">.
+#pod
+#pod =cut
sub scheme {
my ( $self, $name ) = @_;
@@ -256,6 +400,13 @@ sub scheme {
return $self;
}
+#pod =method variation
+#pod
+#pod $scheme->variation( $name )
+#pod
+#pod C<$name> must be a valid color variation name. See L<"COLOR VARIATIONS">.
+#pod
+#pod =cut
sub variation {
my ( $self, $v ) = @_;
@@ -387,6 +538,123 @@ sub get_hex {
return sprintf( '%02x' x @rgb, @rgb );
}
+#pod =head1 COLOR SCHEMES
+#pod
+#pod The following documentation is adapated (and mostly copied verbatim) from the
+#pod Color Schemes 2 help. Use one of these scheme names as an argument to the
+#pod L<"scheme()"> method.
+#pod
+#pod =head2 monochromatic (or mono)
+#pod
+#pod "Monochormatic scheme is based on only one color tint, and uses only variations
+#pod made by changing its saturation and brightness. Black and white colors are
+#pod always added. The result is comfortable for eyes, even when using aggressive
+#pod color. However, it's harder to find accents and highlights.
+#pod
+#pod "The application makes only several monochromatic variants of each color. You'll
+#pod be able to make others - more or less saturated, lighter or darker.
+#pod Monochromatic variations are made for each color in other schemes, too."
+#pod
+#pod =head2 contrast
+#pod
+#pod "Base color is supplemented with its complement (color on the opposite side of
+#pod the wheel). One warm and one cold color is always created - we have to
+#pod consider, which one will be dominant, and if the result should look warm, or
+#pod cold. Suitable monochromatic variations of this two colors may be added to the
+#pod scheme."
+#pod
+#pod =head2 triade
+#pod
+#pod "Base color is supplemented with two colors, placed identically on both sides of
+#pod its complement. Unlike the 'sharp' contrast, this scheme is often more
+#pod comfortable for the eyes, it's softer, and has more space for balancing warm
+#pod and cold colors.
+#pod
+#pod "You can use the L<"distance()"> method to set the distance of these colors
+#pod from the base color complement. The less the value is, the closer the colors
+#pod are to the contrast color, and are more similar. The best value is between 0.25
+#pod and 0.5. Higher values aren't too suitable - except the shift by 60E<0x00B0>,
+#pod which makes another color scheme, the triade:
+#pod
+#pod "The triade is made by three colors evenly distributed on the thirds of the
+#pod color wheel (by 120 degrees). The triade-schemes are vibrating, full of energy,
+#pod and have large space to make contrasts, accents and to balance warm and cold
+#pod colors. You can make the triade in the 'soft contrast' scheme setting the
+#pod distance to the maximal value, 1."
+#pod
+#pod =head2 tetrade
+#pod
+#pod "This scheme, also known as 'double-contrast,' is made by a pair of colors and
+#pod their complements. It's based on the tetrade - the foursome of colors evenly
+#pod distributed on the fourths of the color wheel (by 90 degreees). The tetrade is
+#pod very aggressive color scheme, requiring very good planning and very sensitive
+#pod approach to relations of these colors.
+#pod
+#pod "Less distance between two base colors causes less tension in the result.
+#pod However, this scheme is always more 'nervous' and 'action' than other schemes.
+#pod While working with it, we have to take care especially of relations between one
+#pod color and the complement of its adjacent color - in case of the tetrade
+#pod (maximum distance 1), good feeling and very sensitive approach are necessary."
+#pod
+#pod =head2 analogic
+#pod
+#pod "This scheme is made by base color and its adjacent colors - two colors
+#pod identically on both sides. It always looks very elegantly and clear, the result
+#pod has less tension and it's uniformly warm, or cold. If a color on the warm-cold
+#pod border is chosen, the color with opposite 'temperature' may be used for
+#pod accenting the other two colors.
+#pod
+#pod "You can set the distance of adjacent colors by using L<"distance()">. Values
+#pod between 0.25 and 0.5 (15-30 degrees on the wheel) are optimal. You can also add
+#pod the contrast color; the scheme is then supplemented with the complement of the
+#pod base color. It must be treated only as a complement - it adds tension to the
+#pod palette, and it's too aggressive when overused. However, used in details and as
+#pod accent of main colors, it can be very effective and elegant."
+#pod
+#pod =head1 COLOR VARIATIONS
+#pod
+#pod "Each of colors in displayed scheme has four variations. These are colors of
+#pod the same hue, but they differ in the saturation and brightness. ... The very
+#pod first variation ... is the base variation, which determines the look of the
+#pod scheme. The other three variations are just additional. Iff the scheme is made
+#pod by less than four colors, the unused place is used to display variations (or
+#pod the complement) of the base color."
+#pod
+#pod Use one of these variation names as an argument to the L<"variation()"> method.
+#pod
+#pod =head2 default
+#pod
+#pod The default preset. Generally pretty nice.
+#pod
+#pod =head2 pastel
+#pod
+#pod Softer colors with added whiteness.
+#pod
+#pod =head2 soft
+#pod
+#pod Darker pastel colors.
+#pod
+#pod =head2 light
+#pod
+#pod Very light, almost washed-out colors.
+#pod
+#pod =head2 hard
+#pod
+#pod Deeper, more-saturated colors.
+#pod
+#pod =head2 pale
+#pod
+#pod Greyer, less-saturated colors.
+#pod
+#pod =head1 CREDIT
+#pod
+#pod Color Schemes 2, its documentation and original JavaScript code are copyright
+#pod pixy L<http://www.wellstyled.com/>
+#pod
+#pod The author has explicitly granted license for this distribution of code to be
+#pod redistribute as specified in the L<COPYRIGHT AND LICENSE> section.
+#pod
+#pod =cut
1;
@@ -394,13 +662,15 @@ __END__
=pod
+=encoding UTF-8
+
=head1 NAME
Color::Scheme - generate pleasant color schemes
=head1 VERSION
-version 1.05
+version 1.07
=head1 SYNOPSIS
@@ -408,7 +678,7 @@ version 1.05
my $scheme = Color::Scheme->new
->from_hex('ff0000') # or ->from_hue(0)
- ->scheme('analog')
+ ->scheme('analogic')
->distance(0.3)
->add_complement(1)
->variation('pastel')
@@ -431,7 +701,7 @@ version 1.05
This module is a Perl implementation of Color Schemes
2 (L<http://wellstyled.com/tools/colorscheme2/>), a color scheme generator.
Start by visitng the Color Schemes 2 web site and playing with the colors.
-When you want to generate those schemes on the fly, begin using this modoule.
+When you want to generate those schemes on the fly, begin using this module.
The descriptions herein don't make too much sense without actually seeing the
colorful results.
@@ -667,6 +937,26 @@ redistribute as specified in the L<COPYRIGHT AND LICENSE> section.
Ian Langworth <ian.langworth@gmail.com>
+=head1 CONTRIBUTORS
+
+=for stopwords Ian Langworth Ricardo Signes Yanick Champoux
+
+=over 4
+
+=item *
+
+Ian Langworth <ian@cpan.org>
+
+=item *
+
+Ricardo Signes <rjbs@cpan.org>
+
+=item *
+
+Yanick Champoux <yanick@babyl.dyndns.org>
+
+=back
+
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2005 by Ian Langworth.
@@ -1,74 +0,0 @@
-#!perl
-
-use strict;
-use warnings;
-
-use Test::More;
-
-
-
-use File::Find;
-use File::Temp qw{ tempdir };
-
-my @modules;
-find(
- sub {
- return if $File::Find::name !~ /\.pm\z/;
- my $found = $File::Find::name;
- $found =~ s{^lib/}{};
- $found =~ s{[/\\]}{::}g;
- $found =~ s/\.pm$//;
- # nothing to skip
- push @modules, $found;
- },
- 'lib',
-);
-
-sub _find_scripts {
- my $dir = shift @_;
-
- my @found_scripts = ();
- find(
- sub {
- return unless -f;
- my $found = $File::Find::name;
- # nothing to skip
- open my $FH, '<', $_ or do {
- note( "Unable to open $found in ( $! ), skipping" );
- return;
- };
- my $shebang = <$FH>;
- return unless $shebang =~ /^#!.*?\bperl\b\s*$/;
- push @found_scripts, $found;
- },
- $dir,
- );
-
- return @found_scripts;
-}
-
-my @scripts;
-do { push @scripts, _find_scripts($_) if -d $_ }
- for qw{ bin script scripts };
-
-my $plan = scalar(@modules) + scalar(@scripts);
-$plan ? (plan tests => $plan) : (plan skip_all => "no tests to run");
-
-{
- # fake home for cpan-testers
- # no fake requested ## local $ENV{HOME} = tempdir( CLEANUP => 1 );
-
- like( qx{ $^X -Ilib -e "require $_; print '$_ ok'" }, qr/^\s*$_ ok/s, "$_ loaded ok" )
- for sort @modules;
-
- SKIP: {
- eval "use Test::Script 1.05; 1;";
- skip "Test::Script needed to test script compilation", scalar(@scripts) if $@;
- foreach my $file ( @scripts ) {
- my $script = $file;
- $script =~ s!.*/!!;
- script_compiles( $file, "$script script compiles" );
- }
- }
-
-}
@@ -0,0 +1,35 @@
+do { my $x = {
+ 'configure' => {
+ 'requires' => {
+ 'ExtUtils::MakeMaker' => '0'
+ }
+ },
+ 'develop' => {
+ 'requires' => {
+ 'Test::Pod' => '1.41'
+ }
+ },
+ 'runtime' => {
+ 'requires' => {
+ 'Carp' => '0',
+ 'List::Util' => '1.14',
+ 'POSIX' => '1.08',
+ 'strict' => '0',
+ 'warnings' => '0'
+ }
+ },
+ 'test' => {
+ 'recommends' => {
+ 'CPAN::Meta' => '2.120900'
+ },
+ 'requires' => {
+ 'Exporter' => '0',
+ 'ExtUtils::MakeMaker' => '0',
+ 'File::Spec' => '0',
+ 'Test::More' => '0.96',
+ 'parent' => '0'
+ }
+ }
+ };
+ $x;
+ }
\ No newline at end of file
@@ -0,0 +1,183 @@
+#!perl
+
+use strict;
+use warnings;
+
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.020
+
+use Test::More tests => 1;
+
+use ExtUtils::MakeMaker;
+use File::Spec;
+
+# from $version::LAX
+my $lax_version_re =
+ qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )?
+ |
+ (?:\.[0-9]+) (?:_[0-9]+)?
+ ) | (?:
+ v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )?
+ |
+ (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)?
+ )
+ )/x;
+
+# hide optional CPAN::Meta modules from prereq scanner
+# and check if they are available
+my $cpan_meta = "CPAN::Meta";
+my $cpan_meta_pre = "CPAN::Meta::Prereqs";
+my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" && eval "require $cpan_meta_pre"; ## no critic
+
+# Verify requirements?
+my $DO_VERIFY_PREREQS = 1;
+
+sub _max {
+ my $max = shift;
+ $max = ( $_ > $max ) ? $_ : $max for @_;
+ return $max;
+}
+
+sub _merge_prereqs {
+ my ($collector, $prereqs) = @_;
+
+ # CPAN::Meta::Prereqs object
+ if (ref $collector eq $cpan_meta_pre) {
+ return $collector->with_merged_prereqs(
+ CPAN::Meta::Prereqs->new( $prereqs )
+ );
+ }
+
+ # Raw hashrefs
+ for my $phase ( keys %$prereqs ) {
+ for my $type ( keys %{ $prereqs->{$phase} } ) {
+ for my $module ( keys %{ $prereqs->{$phase}{$type} } ) {
+ $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module};
+ }
+ }
+ }
+
+ return $collector;
+}
+
+my @include = qw(
+
+);
+
+my @exclude = qw(
+
+);
+
+# Add static prereqs to the included modules list
+my $static_prereqs = do 't/00-report-prereqs.dd';
+
+# Merge all prereqs (either with ::Prereqs or a hashref)
+my $full_prereqs = _merge_prereqs(
+ ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ),
+ $static_prereqs
+);
+
+# Add dynamic prereqs to the included modules list (if we can)
+my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
+if ( $source && $HAS_CPAN_META ) {
+ if ( my $meta = eval { CPAN::Meta->load_file($source) } ) {
+ $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
+ }
+}
+else {
+ $source = 'static metadata';
+}
+
+my @full_reports;
+my @dep_errors;
+my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs;
+
+# Add static includes into a fake section
+for my $mod (@include) {
+ $req_hash->{other}{modules}{$mod} = 0;
+}
+
+for my $phase ( qw(configure build test runtime develop other) ) {
+ next unless $req_hash->{$phase};
+ next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING});
+
+ for my $type ( qw(requires recommends suggests conflicts modules) ) {
+ next unless $req_hash->{$phase}{$type};
+
+ my $title = ucfirst($phase).' '.ucfirst($type);
+ my @reports = [qw/Module Want Have/];
+
+ for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) {
+ next if $mod eq 'perl';
+ next if grep { $_ eq $mod } @exclude;
+
+ my $file = $mod;
+ $file =~ s{::}{/}g;
+ $file .= ".pm";
+ my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC;
+
+ my $want = $req_hash->{$phase}{$type}{$mod};
+ $want = "undef" unless defined $want;
+ $want = "any" if !$want && $want == 0;
+
+ my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required";
+
+ if ($prefix) {
+ my $have = MM->parse_version( File::Spec->catfile($prefix, $file) );
+ $have = "undef" unless defined $have;
+ push @reports, [$mod, $want, $have];
+
+ if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) {
+ if ( $have !~ /\A$lax_version_re\z/ ) {
+ push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)";
+ }
+ elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) {
+ push @dep_errors, "$mod version '$have' is not in required range '$want'";
+ }
+ }
+ }
+ else {
+ push @reports, [$mod, $want, "missing"];
+
+ if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) {
+ push @dep_errors, "$mod is not installed ($req_string)";
+ }
+ }
+ }
+
+ if ( @reports ) {
+ push @full_reports, "=== $title ===\n\n";
+
+ my $ml = _max( map { length $_->[0] } @reports );
+ my $wl = _max( map { length $_->[1] } @reports );
+ my $hl = _max( map { length $_->[2] } @reports );
+
+ if ($type eq 'modules') {
+ splice @reports, 1, 0, ["-" x $ml, "", "-" x $hl];
+ push @full_reports, map { sprintf(" %*s %*s\n", -$ml, $_->[0], $hl, $_->[2]) } @reports;
+ }
+ else {
+ splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl];
+ push @full_reports, map { sprintf(" %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports;
+ }
+
+ push @full_reports, "\n";
+ }
+ }
+}
+
+if ( @full_reports ) {
+ diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports;
+}
+
+if ( @dep_errors ) {
+ diag join("\n",
+ "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n",
+ "The following REQUIRED prerequisites were not satisfied:\n",
+ @dep_errors,
+ "\n"
+ );
+}
+
+pass;
+
+# vim: ts=4 sts=4 sw=4 et:
@@ -1,81 +0,0 @@
-use strict;
-use warnings;
-use Test::More 0.88;
-# This is a relatively nice way to avoid Test::NoWarnings breaking our
-# expectations by adding extra tests, without using no_plan. It also helps
-# avoid any other test module that feels introducing random tests, or even
-# test plans, is a nice idea.
-our $success = 0;
-END { $success && done_testing; }
-
-# List our own version used to generate this
-my $v = "\nGenerated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.08\n";
-
-eval { # no excuses!
- # report our Perl details
- my $want = "any version";
- $v .= "perl: $] (wanted $want) on $^O from $^X\n\n";
-};
-defined($@) and diag("$@");
-
-# Now, our module version dependencies:
-sub pmver {
- my ($module, $wanted) = @_;
- $wanted = " (want $wanted)";
- my $pmver;
- eval "require $module;";
- if ($@) {
- if ($@ =~ m/Can't locate .* in \@INC/) {
- $pmver = 'module not found.';
- } else {
- diag("${module}: $@");
- $pmver = 'died during require.';
- }
- } else {
- my $version;
- eval { $version = $module->VERSION; };
- if ($@) {
- diag("${module}: $@");
- $pmver = 'died during VERSION check.';
- } elsif (defined $version) {
- $pmver = "$version";
- } else {
- $pmver = '<undef>';
- }
- }
-
- # So, we should be good, right?
- return sprintf('%-45s => %-10s%-15s%s', $module, $pmver, $wanted, "\n");
-}
-
-eval { $v .= pmver('Carp','any version') };
-eval { $v .= pmver('ExtUtils::MakeMaker','6.30') };
-eval { $v .= pmver('File::Find','any version') };
-eval { $v .= pmver('File::Temp','any version') };
-eval { $v .= pmver('List::Util','1.14') };
-eval { $v .= pmver('POSIX','1.08') };
-eval { $v .= pmver('Test::Differences','0.47') };
-eval { $v .= pmver('Test::More','0.96') };
-eval { $v .= pmver('Test::Pod','1.41') };
-eval { $v .= pmver('strict','any version') };
-eval { $v .= pmver('version','0.9901') };
-eval { $v .= pmver('warnings','any version') };
-
-
-# All done.
-$v .= <<'EOT';
-
-Thanks for using my code. I hope it works for you.
-If not, please try and include this output in the bug report.
-That will help me reproduce the issue and solve your problem.
-
-EOT
-
-diag($v);
-ok(1, "we really didn't test anything, just reporting data");
-$success = 1;
-
-# Work around another nasty module on CPAN. :/
-no warnings 'once';
-$Template::Test::NO_FLUSH = 1;
-exit 0;
@@ -2,10 +2,11 @@
use strict;
use warnings;
-use Test::More tests => 5;
-use Test::Differences 0.47;
+use Test::More;
use Color::Scheme;
+use t::lib::ColorTest;
+
{
my $c = Color::Scheme->new->from_hex('ff9900')->distance(0.5);
my %tests = (
@@ -45,7 +46,12 @@ use Color::Scheme;
);
while ( my ( $scheme, $colors ) = each %tests ) {
- eq_or_diff [ $c->scheme($scheme)->colors ], $colors, "$scheme scheme";
+ color_test(
+ [ $c->scheme($scheme)->colors ],
+ $colors,
+ "$scheme scheme",
+ );
}
}
+done_testing;
@@ -3,31 +3,32 @@ use strict;
use warnings;
use Test::More tests => 15;
-use Test::Differences 0.47;
use Color::Scheme;
+use t::lib::ColorTest;
+
{
my $scheme = Color::Scheme->new;
- eq_or_diff( [ $scheme->colors ],
+ color_test( [ $scheme->colors ],
[ 'ff9900', 'b36b00', 'ffe6bf', 'ffcc80' ], 'simple' );
$scheme->from_hex('ff0000');
- eq_or_diff(
+ color_test(
[ $scheme->colors ],
[ 'ff0000', 'b30000', 'ffbfbf', 'ff8080' ],
'red hex'
);
$scheme->from_hue(230);
- eq_or_diff(
+ color_test(
[ $scheme->colors ],
[ '0074ff', '0051b3', 'bfdcff', '80b9ff' ],
'set hue to 230'
);
$scheme->scheme('analogic');
- eq_or_diff(
+ color_test(
[ $scheme->colors ],
[ '0074ff', '0051b3', 'bfdcff', '80b9ff', '331aff', '2412b3',
'ccc6ff', '998cff', '00ffb3', '00b37d', 'bfffec', '80ffd9'
@@ -36,7 +37,7 @@ use Color::Scheme;
);
$scheme->distance(0.3);
- eq_or_diff(
+ color_test(
[ $scheme->colors ],
[ '0074ff', '0051b3', 'bfdcff', '80b9ff', '1132ff', '0c23b3',
'c4ccff', '8898ff', '00efff', '00a7b3', 'bffbff', '80f7ff'
@@ -45,7 +46,7 @@ use Color::Scheme;
);
$scheme->add_complement(1);
- eq_or_diff(
+ color_test(
[ $scheme->colors ],
[ '0074ff', '0051b3', 'bfdcff', '80b9ff', '1132ff', '0c23b3',
'c4ccff', '8898ff', '00efff', '00a7b3', 'bffbff', '80f7ff',
@@ -55,7 +56,7 @@ use Color::Scheme;
);
$scheme->variation('pale');
- eq_or_diff(
+ color_test(
[ $scheme->colors ],
[ '8e969e', '737980', 'e6f1ff', 'acb5bf', '9395a3', '747580',
'e7eaff', 'adb0bf', '778384', '737f80', 'e6fdff', 'acbebf',
@@ -65,7 +66,7 @@ use Color::Scheme;
);
$scheme->web_safe(1);
- eq_or_diff(
+ color_test(
[ $scheme->colors ],
[ '999999', '666699', 'ffffff', '99cccc', '999999', '666699',
'ffffff', '9999cc', '669999', '666699', 'ffffff', '99cccc',
@@ -80,7 +81,7 @@ use Color::Scheme;
$scheme->from_hue(15);
$scheme->scheme('contrast');
- eq_or_diff(
+ color_test(
[ $scheme->colors ],
[ 'ff3300', 'b32400', 'ffccbf', 'ff9980',
'00b366', '007d48', 'bfffe4', '80ffc9'
@@ -89,7 +90,7 @@ use Color::Scheme;
);
$scheme->scheme('triade');
- eq_or_diff(
+ color_test(
[ $scheme->colors ],
[ 'ff3300', 'b32400', 'ffccbf', 'ff9980', '33ff00', '24b300',
'ccffbf', '99ff80', '0066b3', '00487d', 'bfe4ff', '80c9ff'
@@ -98,7 +99,7 @@ use Color::Scheme;
);
$scheme->scheme('tetrade');
- eq_or_diff(
+ color_test(
[ $scheme->colors ],
[ 'ff3300', 'b32400', 'ffccbf', 'ff9980', '00b366', '007d48',
'bfffe4', '80ffc9', '0033cc', '00248f', 'bfcfff', '809fff',
@@ -108,7 +109,7 @@ use Color::Scheme;
);
$scheme->variation('pastel');
- eq_or_diff(
+ color_test(
[ $scheme->colors ],
[ 'e68a73', '804d40', 'e6d3cf', 'bf4d30', '50a17e', '408064',
'cfe6dc', '30bf82', '5c73b8', '405080', 'cfd4e6', '3054bf',
@@ -118,7 +119,7 @@ use Color::Scheme;
);
$scheme->variation('soft');
- eq_or_diff(
+ color_test(
[ $scheme->colors ],
[ 'cc9b8f', '806159', 'e6d3cf', 'bf7360', '648f7d', '59806f',
'cfe6dc', '60bf96', '727ea3', '596380', 'cfd4e6', '6078bf',
@@ -128,7 +129,7 @@ use Color::Scheme;
);
$scheme->variation('light');
- eq_or_diff(
+ color_test(
[ $scheme->colors ],
[ 'ffccbf', 'bf7360', 'ffebe6', 'ff9980', 'bfffe4', '60bf96',
'e6fff4', '80ffc9', 'bfcfff', '6078bf', 'e6ecff', '809fff',
@@ -138,7 +139,7 @@ use Color::Scheme;
);
$scheme->variation('hard');
- eq_or_diff(
+ color_test(
[ $scheme->colors ],
[ 'ff3300', '991f00', 'ffebe6', 'ff8566', '00b366', '006b3d',
'e6fff4', '66ffbe', '0033cc', '001f7a', 'e6ecff', '668cff',
@@ -0,0 +1,30 @@
+package t::lib::ColorTest;
+use parent 'Exporter';
+our @EXPORT = qw(color_test);
+
+use Test::More;
+
+my $COLOR_RE;
+BEGIN { $COLOR_RE = qr/\A([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\z/; }
+sub color_test {
+ my ($have, $want, $description) = @_;
+
+ local $Test::Builder::Level = $Test::Builder::Level + 1;
+ subtest $description => sub {
+ for my $i (0 .. $#$have) {
+ my $fail;
+ my @have = map {; hex | 1 } ($have->[$i] =~ $COLOR_RE);
+ my @want = map {; hex | 1 } ($want->[$i] =~ $COLOR_RE);
+
+ die "bogus color <$have->[$i]>" unless @have == 3;
+ die "bogus color <$want->[$i]>" unless @want == 3;
+
+ ok(
+ ! (grep { $have[$_] != $want[$_] } (0..2)),
+ "color $i: have $have->[$i], want $want->[$i]"
+ );
+ }
+ };
+}
+
+1;
@@ -4,9 +4,10 @@ use strict;
use warnings;
use Test::More tests => 8;
-use Test::Differences 0.47;
use Color::Scheme;
+use t::lib::ColorTest;
+
my @names = qw( scheme1 scheme2 );
my $scheme1 = Color::Scheme->new->from_hex('ff0000')->scheme('analogic')
@@ -20,7 +21,7 @@ foreach my $scheme ( $scheme1, $scheme2 ) {
my $name = shift @names;
my @list = $scheme->colors();
- eq_or_diff(
+ color_test(
\@list,
[ qw(
ff6666 993333 ffcccc cc3333
@@ -32,16 +33,20 @@ foreach my $scheme ( $scheme1, $scheme2 ) {
"colors() for $name",
);
- my $set = $scheme->colorset();
- eq_or_diff(
- $set,
- [ [qw( ff6666 993333 ffcccc cc3333)],
- [qw( ff9966 996633 ffcccc cc6633)],
- [qw( cc6699 993366 ffcccc cc3399)],
- [qw( 66cc66 339933 ccffcc 33cc33)],
- ],
- "colorset() for $name",
- );
+ subtest "colorset output structure" => sub {;
+ my $set = $scheme->colorset();
+ is(@$set, 4, "four-length array");
+ ok(
+ (4 == grep { @$_ == 4 } @$set),
+ "...of four-length arrays",
+ );
+
+ color_test(
+ [ map { @$_ } @$set ],
+ \@list,
+ "colorset() for $name",
+ );
+ };
# the docs for colorset() shouldn't lie
is( ( $scheme->colors )[1],
@@ -3,9 +3,10 @@ use strict;
use warnings;
use Test::More tests => 3;
-use Test::Differences 0.47;
use Color::Scheme;
+use t::lib::ColorTest;
+
my $scheme = Color::Scheme->new;
eval {
@@ -20,6 +21,6 @@ my @set2 = $scheme->colors;
$scheme->from_hue(-360);
my @set3 = $scheme->colors;
-eq_or_diff( \@set1, \@set2, '360 deg == 0 deg' );
-eq_or_diff( \@set1, \@set3, '360 deg == -360 deg' );
+color_test( \@set1, \@set2, '360 deg == 0 deg' );
+color_test( \@set1, \@set3, '360 deg == -360 deg' );
@@ -4,7 +4,7 @@ use Test::More tests => 2;
note 'Checking Changes';
my $changes_file = 'Changes';
-my $newver = '1.05';
+my $newver = '1.07';
my $trial_token = '-TRIAL';
SKIP: {
@@ -1,7 +1,6 @@
#!perl
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
use Test::More;
-
-eval "use Test::Pod 1.41";
-plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
+use Test::Pod 1.41;
all_pod_files_ok();