needsbuild hook interface changed; the hooks should now return the modified array...
authorJoey Hess <joey@kitenet.net>
Tue, 7 Sep 2010 16:08:59 +0000 (12:08 -0400)
committerJoey Hess <joey@kitenet.net>
Tue, 7 Sep 2010 16:08:59 +0000 (12:08 -0400)
13 files changed:
IkiWiki/Plugin/aggregate.pm
IkiWiki/Plugin/calendar.pm
IkiWiki/Plugin/edittemplate.pm
IkiWiki/Plugin/listdirectives.pm
IkiWiki/Plugin/meta.pm
IkiWiki/Plugin/pinger.pm
IkiWiki/Plugin/po.pm
IkiWiki/Plugin/skeleton.pm.example
IkiWiki/Plugin/theme.pm
IkiWiki/Plugin/version.pm
IkiWiki/Render.pm
debian/changelog
doc/plugins/write.mdwn

index 7789c4c2a9d38b7e616d9d3b4df8e4d96fe74ec6..fe53d868dbad39d455f59b45c91af54b4ee156cd 100644 (file)
@@ -210,6 +210,8 @@ sub needsbuild (@) {
                        markunseen($feed->{sourcepage});
                }
        }
+
+       return $needsbuild;
 }
 
 sub preprocess (@) {
index bb995d49956e27234e5bb9b621c2caa641b93d40..c7d2b7c01d8943f26e34e43231cc4ee26e0b6847 100644 (file)
@@ -491,6 +491,7 @@ sub needsbuild (@) {
                        }
                }
        }
+       return $needsbuild;
 }
 
 1
index 226f83bb4bdfc6dfb11dd326fd6db9d02aae8eae..4f07866e443c61ff73e778620e691d85c81f2084 100644 (file)
@@ -41,6 +41,8 @@ sub needsbuild (@) {
                        }
                }
        }
+
+       return $needsbuild;
 }
 
 sub preprocess (@) {
index 8a67f716026003e8b00135f4de5f1f7da60794a2..835e253886d67e2223bab034643c4823fa8d23bb 100644 (file)
@@ -64,6 +64,8 @@ sub needsbuild (@) {
                        }
                }
        }
+
+       return $needsbuild;
 }
 
 sub preprocess (@) {
index d18585d3d876129990cd829b88f306eb985308fb..5941e3f3f589fa5fee34f5e871949ed891aa685a 100644 (file)
@@ -37,6 +37,7 @@ sub needsbuild (@) {
                        }
                }
        }
+       return $needsbuild;
 }
 
 sub scrub ($$) {
index c20ecb5d4ef3a663f5496135f56ddb5369c5dd87..cc9f52d2b50e7e880882ff56b89d8bafba5c274d 100644 (file)
@@ -45,6 +45,7 @@ sub needsbuild (@) {
                        }
                }
        }
+       return $needsbuild;
 }
 
 sub preprocess (@) {
index f3530faf32d1b710d84c6abc6acb5dfa6182141f..7b62092e1bf2071af4351499ce3bfadb39df10de 100644 (file)
@@ -221,6 +221,8 @@ sub needsbuild () {
        foreach my $master (keys %translations) {
                map add_depends($_, $master), values %{otherlanguages_pages($master)};
        }
+
+       return $needsbuild;
 }
 
 sub scan (@) {
index 341d678679b65706b6189d509d06e0fd77f07772..7974d5e5325f396a6bd90cc446e239bed9a0c44f 100644 (file)
@@ -73,7 +73,11 @@ sub refresh () {
 }
 
 sub needsbuild ($) {
+       my $needsbuild=shift;
+
        debug("skeleton plugin needsbuild");
+
+       return $needsbuild;
 }
 
 sub preprocess (@) {
index 03b0816ed6fc5a6c42f0da916d898c6633eb7d15..ee94547e90c51dad608b020e1be6bc0a434d38d7 100644 (file)
@@ -60,6 +60,7 @@ sub needsbuild ($) {
                
                $wikistate{theme}{currenttheme}=$config{theme};
        }
+       return $needsbuild;
 }
 
 1
index c13643478ab25012c5aacab3f0c9ca43aa2b2689..fc265526c15e41682efec8c7702d3a54e5efcf17 100644 (file)
@@ -37,6 +37,7 @@ sub needsbuild (@) {
                        }
                }
        }
+       return $needsbuild;
 }
 
 sub preprocess (@) {
index 9921915b49ddd96a4ce2970653d205d99a568b1a..0dbe9611af72f31a1fcc6084049375fae8286d59 100644 (file)
@@ -759,7 +759,10 @@ sub refresh () {
        my ($new, $internal_new)=find_new_files($files);
        my ($del, $internal_del)=find_del_files($pages);
        my ($changed, $internal_changed)=find_changed($files);
-       run_hooks(needsbuild => sub { shift->($changed) });
+       run_hooks(needsbuild => sub {
+               my $ret=shift->($changed);
+               $changed=$ret if ref $ret eq 'ARRAY';
+       });
        my $oldlink_targets=calculate_old_links($changed, $del);
 
        foreach my $file (@$changed) {
index 81bd99a718ffc0be530aeaeef860ae5f6f5a30ce..430bd302c69800f476e390d26d2b4da15b3faee3 100644 (file)
@@ -1,3 +1,11 @@
+ikiwiki (3.20100832) UNRELEASED; urgency=low
+
+  * needsbuild hook interface changed; the hooks should now return
+    the modified array of things that need built. (Backwards compatability
+    code keeps plugins using the old interface working.)
+
+ -- Joey Hess <joeyh@debian.org>  Tue, 07 Sep 2010 12:08:05 -0400
+
 ikiwiki (3.20100831) unstable; urgency=low
 
   * filecheck: Fall back to using the file command if the freedesktop
index 10b4df835f9fde4eac70f6980727fbad8a7aa562..31bb64e68a258eccf046e0900f36fecd15c66034 100644 (file)
@@ -179,8 +179,8 @@ function is passed no values.
 
 This allows a plugin to manipulate the list of files that need to be
 built when the wiki is refreshed. The function is passed a reference to an
-array of files that will be rebuilt, and can modify the array, either
-adding or removing files from it.
+array of files that will be rebuilt. It should return an array reference
+that is a modified version of its input. It can add or remove files from it.
 
 ### scan