Maintainers.pl: add @IGNORABLE and document EXCLUDED, MAP fields
David Mitchell [Fri, 19 Jun 2009 14:57:27 +0000 (15:57 +0100)]
Porting/Maintainers.pl

index f3bc86c..cc6f4c0 100644 (file)
@@ -88,6 +88,21 @@ package Maintainers;
     'zefram'   => 'Andrew Main <zefram@cpan.org>',
     );
 
+
+# IGNORABLE: files which, if they appear in the root of a CPAN
+# distribution, need not appear in core (i.e. core-cpan-diff won't
+# complain if it can't find them)
+
+@IGNORABLE = qw(
+    .cvsignore .dualLivedDiffConfig .gitignore
+    ANNOUNCE Announce Artistic AUTHORS BENCHMARK BUGS Build.PL
+    CHANGELOG ChangeLog CHANGES Changes COPYING Copying CREDITS
+    GOALS HISTORY INSTALL INSTALL.SKIP LICENSE Makefile.PL
+    MANIFEST MANIFEST.SKIP META.yml NEW NOTES ppport.h README
+    SIGNATURE THANKS TODO Todo VERSION WHATSNEW
+);
+
 # Each entry in the  %Modules hash roughly represents a distribution,
 # except in the case of CPAN=1, where it *exactly* represents a single
 # CPAN distribution.
@@ -119,6 +134,37 @@ package Maintainers;
 # included in core are derived from. Note that the file's version may not
 # necessarily match the newest version on CPAN.
 
+# EXCLUDED is a list of files to be excluded from a CPAN tarball before
+# comparing the remaining contents with core. Each item can either be a
+# full pathname (eg 't/foo.t') or a pattern (e.g. qr{^t/}).
+# It defaults to the empty list.
+
+# MAP is a hash that maps CPAN paths to their core equivalents.
+# Each key reprepresents a string prefix, with longest prefixes checked
+# first. The first match causes that prefix to be replaced with the
+# corresponding key. For example, with the following MAP:
+#   { 
+#     'lib/'    => 'lib/',
+#     ''        => 'lib/Foo/',
+#   },
+#
+# these files are mapped as shown:
+#
+#    README     becomes lib/Foo/README
+#    lib/Foo.pm becomes lib/Foo.pm 
+#
+# The default is dependent on the type of module.
+# For distributions which appear to be stored under ext/, it defaults to:
+#
+#   { '' => 'ext/Foo-Bar/' }
+#
+# otherwise, it's
+#
+#   { 
+#     'lib/'    => 'lib/',
+#     ''        => 'lib/Foo/Bar/',
+#   }
+
 %Modules = (
 
     'Archive::Extract' =>