[libalt-perl] 01/05: Imported Upstream version 0.19
Lucas Kanashiro
kanashiro-guest at moszumanska.debian.org
Thu Jul 23 03:01:15 UTC 2015
This is an automated email from the git hooks/post-receive script.
kanashiro-guest pushed a commit to branch master
in repository libalt-perl.
commit 970fb191212026043ca580c8ebd19f2e399b0abe
Author: Lucas Kanashiro <kanashiro.duarte at gmail.com>
Date: Wed Jul 22 23:51:02 2015 -0300
Imported Upstream version 0.19
---
CONTRIBUTING | 9 +++--
Changes | 9 +++++
MANIFEST | 2 +-
META.json | 6 ++--
META.yml | 6 ++--
Makefile.PL | 10 +++---
README | 88 +++++++++++++++++++++++++++++-----------------
lib/Alt.pm | 2 +-
lib/Alt.pod | 92 +++++++++++++++++++++++++++++++------------------
lib/Alt/Assert.pod | 2 +-
t/000-require-modules.t | 8 ++---
11 files changed, 150 insertions(+), 84 deletions(-)
diff --git a/CONTRIBUTING b/CONTRIBUTING
index caa337b..dca4e2f 100644
--- a/CONTRIBUTING
+++ b/CONTRIBUTING
@@ -9,7 +9,7 @@ help you be an effective contributor to the Project.
GitHub
------
-The code for this Project is hosted at GitHub. The repository is:
+The code for this Project is hosted at GitHub. The URL is:
https://github.com/ingydotnet/alt-pm
@@ -36,7 +36,7 @@ Zilla::Dist
This Project uses Zilla::Dist to prepare it for publishing to CPAN. Read:
- https://metacpan.org/pod/distribution/Zilla-Dist/lib/Zilla/Dist/Contributing.pod
+ https://metacpan.org/pod/Zilla::Dist::Contributing
for up-to-date instructions on what contributors like yourself need to know to
use it.
@@ -53,3 +53,8 @@ Join the channel. Join the team!
Thanks in advance, Ingy döt Net
+
+
+
+
+# This file generated by Zilla-Dist-0.0.180
diff --git a/Changes b/Changes
index 86d088a..fa894ed 100644
--- a/Changes
+++ b/Changes
@@ -1,3 +1,12 @@
+0.19 Mon Dec 29 14:24:59 PST 2014
+ - Add PERL_ALT_INSTALL to docs
+
+0.18 Mon Dec 29 08:03:15 PST 2014
+ - Update docs regarding versioning
+
+0.17 Sun Dec 28 19:50:06 PST 2014
+ - Update docs with new best practices
+
0.16 Sat Aug 16 14:52:27 PDT 2014
- Fix Meta copyright
diff --git a/MANIFEST b/MANIFEST
index 2e57e55..db3b05b 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.019.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.029.
CONTRIBUTING
Changes
LICENSE
diff --git a/META.json b/META.json
index 1fce7b4..a8874b4 100644
--- a/META.json
+++ b/META.json
@@ -4,7 +4,7 @@
"Ingy döt Net <ingy at cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 5.019, CPAN::Meta::Converter version 2.132830",
+ "generated_by" : "Dist::Zilla version 5.029, CPAN::Meta::Converter version 2.143240",
"license" : [
"perl_5"
],
@@ -24,7 +24,7 @@
"prereqs" : {
"configure" : {
"requires" : {
- "ExtUtils::MakeMaker" : "6.30"
+ "ExtUtils::MakeMaker" : "0"
}
},
"develop" : {
@@ -55,6 +55,6 @@
"web" : "https://github.com/ingydotnet/alt-pm"
}
},
- "version" : "0.16"
+ "version" : "0.19"
}
diff --git a/META.yml b/META.yml
index 3562ea3..a9b6bd6 100644
--- a/META.yml
+++ b/META.yml
@@ -5,9 +5,9 @@ author:
build_requires:
Test::Exception: '0'
configure_requires:
- ExtUtils::MakeMaker: '6.30'
+ ExtUtils::MakeMaker: '0'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.019, CPAN::Meta::Converter version 2.132830'
+generated_by: 'Dist::Zilla version 5.029, CPAN::Meta::Converter version 2.143240'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -25,4 +25,4 @@ resources:
bugtracker: https://github.com/ingydotnet/alt-pm/issues
homepage: https://github.com/ingydotnet/alt-pm
repository: https://github.com/ingydotnet/alt-pm.git
-version: '0.16'
+version: '0.19'
diff --git a/Makefile.PL b/Makefile.PL
index 8016fc5..2f5abd2 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -1,11 +1,11 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.019.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.029.
use strict;
use warnings;
use 5.008001;
-use ExtUtils::MakeMaker 6.30;
+use ExtUtils::MakeMaker;
@@ -13,17 +13,18 @@ my %WriteMakefileArgs = (
"ABSTRACT" => "Alternate Module Implementations",
"AUTHOR" => "Ingy d\x{f6}t Net <ingy\@cpan.org>",
"CONFIGURE_REQUIRES" => {
- "ExtUtils::MakeMaker" => "6.30"
+ "ExtUtils::MakeMaker" => 0
},
"DISTNAME" => "Alt",
"EXE_FILES" => [],
"LICENSE" => "perl",
+ "MIN_PERL_VERSION" => "5.008001",
"NAME" => "Alt",
"PREREQ_PM" => {},
"TEST_REQUIRES" => {
"Test::Exception" => 0
},
- "VERSION" => "0.16",
+ "VERSION" => "0.19",
"test" => {
"TESTS" => "t/*.t"
}
@@ -31,6 +32,7 @@ my %WriteMakefileArgs = (
my %FallbackPrereqs = (
+ "ExtUtils::MakeMaker" => 0,
"Test::Exception" => 0
);
diff --git a/README b/README
index a8c7ebc..2cfbf24 100644
--- a/README
+++ b/README
@@ -2,7 +2,7 @@ NAME
Alt - Alternate Module Implementations
SYNOPSIS
- cpanm Alt::IO::All::crackfueled
+ PERL_ALT_INSTALL=OVERWRITE cpanm Alt::IO::All::Redux
DESCRIPTION
"Alt::" is the namespace for alternate implementations of CPAN modules.
@@ -30,7 +30,7 @@ THE SOLUTION
When a user installs your module like so:
- cpanm Alt::Foo::Bar::better
+ PERL_ALT_INSTALL=OVERWRITE cpanm Alt::Foo::Bar::better
they will get your version of the Foo::Bar framework (Foo::Bar,
Foo::Bar::Baz).
@@ -40,20 +40,11 @@ THE SOLUTION
for an Alternate implementation. If they don't like it, they can simply
reinstall the original Foo-Bar, or try some other alternate.
-WHENCE ALT?
- The Alt- concept was thought up by Ingy as he tried to figure out how to
- revamp the somewhat popular IO::All and YAML.pm modules. Alternates can
- now be released and alpha/beta tested, while the originals remain
- stable.
-
- When Alt-IO-All-new is "community approved" it can replace IO-All. If
- people want the old code, they can can install Alt-IO-All-old.
-
-GUIDELINES
+ALT BEST PRACTICES
This idea is new, and the details should be sorted out through proper
discussions. Pull requests welcome.
- Here are the basic guidelines for using the Alt namespace:
+ Here are the basic guidelines for best using the Alt namespace:
Name Creation
Names for alternate modules should be minted like this:
@@ -61,9 +52,9 @@ GUIDELINES
"Alt-$Original_Dist_Name-$phrase"
For instance, if MSTROUT wants to make an alternate IO-All
- distribution to make it even more crack fueled, he might call it:
+ distribution to have it be Moo-based, he might call it:
- Alt-IO-All-crackfueled
+ Alt-IO-All-Moo
He might also just call it:
@@ -75,42 +66,77 @@ GUIDELINES
alternate. If the alternate is meant to be short-lived, it can just
be the author's CPAN id.
+ Makefile.PL Changes
+ Due to experience with <http://cpantesters.org/> problems, it is
+ important to make your Alt module not install without explicit
+ direction. You can accomplish this easily in a Makefile.PL, with
+ something like this:
+
+ my $alt = $ENV{PERL_ALT_INSTALL} || '';
+ $WriteMakefileArgs{DESTDIR} =
+ $alt ? $alt eq 'OVERWRITE' ? '' : $alt : 'no-install-alt';
+
+ Similar techniques should be available for other module release
+ frameworks.
+
Module for CPAN Indexing
You will need to provide a module like "Alt::IO::All::MSTROUT" so
that CPAN will index something that can cause your distribution to
get installed by people:
- cpanm Alt::IO::All::MSTROUT
+ PERL_ALT_INSTALL=OVERWRITE cpanm Alt::IO::All::MSTROUT
Since you are adding this module, you should add some doc to it
- explaining your Alternate version's improvements.
+ explaining your alternate version's improvements.
- Versioning
- The VERSION of the module you are providing an alternate version of
- should be the same as the original module at the time you release
- the alternate. This will make it play well with others.
-
- To use the IO::All example, if MSTROUT releases Alt-IO-All-MSTROUT
- when IO::All is at version '0.46', his IO::All module should have
- VERSION = '0.46', but his Alt::IO::All::MSTROUT could be VERSION
- '0.000005'. This should make the dist be
- Alt-IO-All-MSTROUT-0.000005.
+ The Alt:: module can be as simple as this:
- If another module wants his version of IO::All, it should list
- Alt::IO::All::MSTROUT 0.000005 as a prereq, and then "use IO::All
- 0.46;" in the code.
+ package Alt::IO::All::MSTROUT;
+ our $VERSION = '0.01';
no_index
It is important to use the "no_index" directive on the modules you
- are providing an alternative to. This is especially important if you
+ are providing an alternates for. This is especially important if you
are the author of the original, as PAUSE will reindex CPAN to your
Alt- version which defeats the purpose. Even if you are not the same
author, it will make your index reports not show failures.
+ Versioning
+ It is important to not declare a $VERSION in any of the modules that
+ you are providing alternates for. This will help ensure that your
+ alternate module does not satisfy the version requirements for
+ something that wants the real module.
+
+ If you want to depend on the alternate versions, then set the
+ dependency on the "Alt::" module.
+
+ NOTE: If you provide an alternate Foo::Bar (with no VERSION) it will
+ satisfy the version requirements for someone who requires "Foo::Bar
+ => 0". In a sense, depending on version 0 means that alternates are
+ OK.
+
+ "use" the Alt
+ You should add this line to your alternate modules:
+
+ use Alt::IO::All::MSTROUT;
+
+ That way the Alt:: module gets loaded any time you "use IO::All"
+ (with the alternate version installed). This gives debugging clues
+ since the Alt:: module is now in %INC.
+
Other Concerns
If you have em, I(ngy) would like to know them. Discuss on
#toolchain on irc.perl.org for now.
+WHENCE ALT?
+ The Alt- concept was thought up by Ingy as he tried to figure out how to
+ revamp the somewhat popular IO::All and YAML.pm modules. Alternates can
+ now be released and alpha/beta tested, while the originals remain
+ stable.
+
+ When Alt-IO-All-new is "community approved" it can replace IO-All. If
+ people want the old code, they can can install Alt-IO-All-old.
+
AUTHOR
Ingy döt Net <ingy at cpan.org>
diff --git a/lib/Alt.pm b/lib/Alt.pm
index 8ad6893..5a0cbc6 100644
--- a/lib/Alt.pm
+++ b/lib/Alt.pm
@@ -1,2 +1,2 @@
package Alt;
-our $VERSION = '0.16';
+our $VERSION = '0.19';
diff --git a/lib/Alt.pod b/lib/Alt.pod
index 3e3d8ed..20855f5 100644
--- a/lib/Alt.pod
+++ b/lib/Alt.pod
@@ -1,7 +1,7 @@
=pod
=for comment
-DO NOT EDIT. This Pod was generated by Swim.
+DO NOT EDIT. This Pod was generated by Swim v0.1.31.
See http://github.com/ingydotnet/swim-pm#readme
=encoding utf8
@@ -12,11 +12,10 @@ Alt - Alternate Module Implementations
=for html
<a href="https://travis-ci.org/ingydotnet/alt-pm"><img src="https://travis-ci.org/ingydotnet/alt-pm.png" alt="alt-pm"></a>
-<a href="https://coveralls.io/r/ingydotnet/alt-pm?branch=master"><img src="https://coveralls.io/repos/ingydotnet/alt-pm/badge.png" alt="alt-pm"></a>
=head1 SYNOPSIS
- cpanm Alt::IO::All::crackfueled
+ PERL_ALT_INSTALL=OVERWRITE cpanm Alt::IO::All::Redux
=head1 DESCRIPTION
@@ -47,7 +46,7 @@ distribute the new version as C<Alt-Foo-Bar-AltIdentifier>.
When a user installs your module like so:
- cpanm Alt::Foo::Bar::better
+ PERL_ALT_INSTALL=OVERWRITE cpanm Alt::Foo::Bar::better
they will get your version of the Foo::Bar framework (Foo::Bar,
Foo::Bar::Baz).
@@ -57,21 +56,12 @@ whole idea. The user isn't surprised by this because they just asked for an
B<Alt>ernate implementation. If they don't like it, they can simply reinstall
the original Foo-Bar, or try some other alternate.
-=head1 WHENCE ALT?
-
-The Alt- concept was thought up by Ingy as he tried to figure out how to
-revamp the somewhat popular IO::All and YAML.pm modules. Alternates can now be
-released and alpha/beta tested, while the originals remain stable.
-
-When Alt-IO-All-new is "community approved" it can replace IO-All. If people
-want the old code, they can can install Alt-IO-All-old.
-
-=head1 GUIDELINES
+=head1 ALT BEST PRACTICES
This idea is new, and the details should be sorted out through proper
discussions. Pull requests welcome.
-Here are the basic guidelines for using the Alt namespace:
+Here are the basic guidelines for best using the Alt namespace:
=over
@@ -82,9 +72,9 @@ Names for alternate modules should be minted like this:
"Alt-$Original_Dist_Name-$phrase"
For instance, if MSTROUT wants to make an alternate IO-All distribution to
-make it even more crack fueled, he might call it:
+have it be Moo-based, he might call it:
- Alt-IO-All-crackfueled
+ Alt-IO-All-Moo
He might also just call it:
@@ -95,40 +85,67 @@ IO::All development. The "phrase" at the end can be anything unique to CPAN,
but should describe the spirit of the alternate. If the alternate is meant to
be short-lived, it can just be the author's CPAN id.
+=item Makefile.PL Changes
+
+Due to experience with L<http://cpantesters.org/> problems, it is important to
+make your Alt module B<not> install without explicit direction. You can
+accomplish this easily in a Makefile.PL, with something like this:
+
+ my $alt = $ENV{PERL_ALT_INSTALL} || '';
+ $WriteMakefileArgs{DESTDIR} =
+ $alt ? $alt eq 'OVERWRITE' ? '' : $alt : 'no-install-alt';
+
+Similar techniques should be available for other module release frameworks.
+
=item Module for CPAN Indexing
You will need to provide a module like C<Alt::IO::All::MSTROUT> so that
CPAN will index something that can cause your distribution to get installed
by people:
- cpanm Alt::IO::All::MSTROUT
+ PERL_ALT_INSTALL=OVERWRITE cpanm Alt::IO::All::MSTROUT
Since you are adding this module, you should add some doc to it explaining
-your Alternate version's improvements.
+your alternate version's improvements.
-=item Versioning
-
-The VERSION of the module you are providing an alternate version of should be
-the same as the original module at the time you release the alternate. This
-will make it play well with others.
+The Alt:: module can be as simple as this:
-To use the IO::All example, if MSTROUT releases Alt-IO-All-MSTROUT when
-IO::All is at version '0.46', his IO::All module should have VERSION = '0.46',
-but his Alt::IO::All::MSTROUT could be VERSION '0.000005'. This should make
-the dist be Alt-IO-All-MSTROUT-0.000005.
-
-If another module wants his version of IO::All, it should list
-Alt::IO::All::MSTROUT 0.000005 as a prereq, and then C<use IO::All 0.46;>
-in the code.
+ package Alt::IO::All::MSTROUT;
+ our $VERSION = '0.01';
=item no_index
It is important to use the C<no_index> directive on the modules you are
-providing an alternative to. This is especially important if you are the
+providing an alternates for. This is especially important if you are the
author of the original, as PAUSE will reindex CPAN to your Alt- version which
defeats the purpose. Even if you are not the same author, it will make your
index reports not show failures.
+=item Versioning
+
+It is important to not declare a C<$VERSION> in any of the modules that you
+are providing alternates for. This will help ensure that your alternate
+module does not satisfy the version requirements for something that wants the
+real module.
+
+If you want to depend on the alternate versions, then set the dependency on
+the C<Alt::> module.
+
+NOTE: If you provide an alternate Foo::Bar (with no VERSION) it B<will>
+ satisfy the version requirements for someone who requires C<<
+ Foo::Bar => 0 >>. In a sense, depending on version 0 means that
+ alternates are OK.
+
+=item C<use> the Alt
+
+You should add this line to your alternate modules:
+
+ use Alt::IO::All::MSTROUT;
+
+That way the Alt:: module gets loaded any time you C<use IO::All> (with the
+alternate version installed). This gives debugging clues since the Alt::
+module is now in C<%INC>.
+
=item Other Concerns
If you have em, I(ngy) would like to know them. Discuss on #toolchain on
@@ -136,6 +153,15 @@ irc.perl.org for now.
=back
+=head1 WHENCE ALT?
+
+The Alt- concept was thought up by Ingy as he tried to figure out how to
+revamp the somewhat popular IO::All and YAML.pm modules. Alternates can now be
+released and alpha/beta tested, while the originals remain stable.
+
+When Alt-IO-All-new is "community approved" it can replace IO-All. If people
+want the old code, they can can install Alt-IO-All-old.
+
=head1 AUTHOR
Ingy döt Net <ingy at cpan.org>
diff --git a/lib/Alt/Assert.pod b/lib/Alt/Assert.pod
index e8c5ec9..555f1a8 100644
--- a/lib/Alt/Assert.pod
+++ b/lib/Alt/Assert.pod
@@ -1,7 +1,7 @@
=pod
=for comment
-DO NOT EDIT. This Pod was generated by Swim.
+DO NOT EDIT. This Pod was generated by Swim v0.1.31.
See http://github.com/ingydotnet/swim-pm#readme
=encoding utf8
diff --git a/t/000-require-modules.t b/t/000-require-modules.t
index 458a8a4..e8a8486 100644
--- a/t/000-require-modules.t
+++ b/t/000-require-modules.t
@@ -4,11 +4,9 @@ use Test::More;
use File::Find;
sub test {
- -f and /\.pm$/ or return;
- s{^lib[/\\]}{};
- s{\.pm$}{};
- s{[/\\]}{::}g;
- ok eval("require $_; 1"), "require $_; # OK";
+ s{^lib/(.*)\.pm$}{$1} or return;
+ s{/}{::}g;
+ ok eval("require $_; 1"), "require $_;$@";
}
find {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libalt-perl.git
More information about the Pkg-perl-cvs-commits
mailing list