]> Dogcows Code - chaz/git-codeowners/blobdiff - lib/App/Codeowners/Options.pm
make Pod::Usage optional
[chaz/git-codeowners] / lib / App / Codeowners / Options.pm
index 7b43b75cc5e5d0272af568bbaea4979cbfb4755c..3c1eb1d26381717147eeb3dcd833c324989ee152 100644 (file)
@@ -1,15 +1,36 @@
 package App::Codeowners::Options;
 # ABSTRACT: Getopt and shell completion for App::Codeowners
 
+use v5.10.1;
 use warnings;
 use strict;
 
 use Getopt::Long 2.39 ();
 use Path::Tiny;
-use Pod::Usage;
 
 our $VERSION = '9999.999'; # VERSION
 
+sub pod2usage {
+    eval { require Pod::Usage };
+    if ($@) {
+        my $ref  = $VERSION eq '9999.999' ? 'master' : "v$VERSION";
+        my $exit = (@_ == 1 && $_[0] =~ /^\d+$/ && $_[0]) //
+                   (@_ % 2 == 0 && {@_}->{'-exitval'})    // 2;
+        print STDERR <<END;
+Online documentation is available at:
+
+  https://github.com/chazmcgarvey/git-codeowners/blob/$ref/README.md
+
+Tip: To enable inline documentation, install the Pod::Usage module.
+
+END
+        exit $exit;
+    }
+    else {
+        Pod::Usage::pod2usage(@_);
+    }
+}
+
 sub early_options {
     return {
         'color|colour!'         => (-t STDOUT ? 1 : 0), ## no critic (InputOutput::ProhibitInteractiveTest)
This page took 0.01716 seconds and 4 git commands to generate.