From b36f2b9f87cd299634878aa3ad8b4e184b20d7ef Mon Sep 17 00:00:00 2001
From: Guillem Jover <guillem@hadrons.org>
Date: Fri, 26 Apr 2013 23:41:56 +0200
Subject: [PATCH] Do not trigger Policy::Modules::RequireVersionVar on programs

This generates tons of false positives, because non-modules (like test
scripts or programs) should not require a VERSION.
---
 lib/Perl/Critic/Policy/Modules/RequireVersionVar.pm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/Perl/Critic/Policy/Modules/RequireVersionVar.pm b/lib/Perl/Critic/Policy/Modules/RequireVersionVar.pm
index d26282e..286253e 100644
--- a/lib/Perl/Critic/Policy/Modules/RequireVersionVar.pm
+++ b/lib/Perl/Critic/Policy/Modules/RequireVersionVar.pm
@@ -33,6 +33,13 @@ sub applies_to           { return 'PPI::Document'          }
 
 #-----------------------------------------------------------------------------
 
+sub prepare_to_scan_document {
+    my ( $self, $document ) = @_;
+    return $document->is_module();   # Must be a library or module.
+}
+
+#-----------------------------------------------------------------------------
+
 sub violates {
     my ( $self, $elem, $doc ) = @_;
 
@@ -136,7 +143,7 @@ distribution.
 
 =head1 DESCRIPTION
 
-Every Perl file (modules, libraries, and programs) should have a
+Every Perl module (modules, libraries) should have a
 package-scoped C<$VERSION> variable.  The C<$VERSION> allows clients to
 insist on a particular revision of your file like this:
 
-- 
1.8.2.1

