diff options
-rw-r--r-- | IkiWiki/Wrapper.pm | 20 | ||||
-rwxr-xr-x | ikiwiki.in | 18 |
2 files changed, 21 insertions, 17 deletions
diff --git a/IkiWiki/Wrapper.pm b/IkiWiki/Wrapper.pm index bd134c9a3..927368fae 100644 --- a/IkiWiki/Wrapper.pm +++ b/IkiWiki/Wrapper.pm @@ -8,6 +8,26 @@ use File::Spec; use Data::Dumper; use IkiWiki; +sub gen_wrappers () { + debug(gettext("generating wrappers..")); + my %origconfig=(%config); + foreach my $wrapper (@{$config{wrappers}}) { + %config=(%origconfig, %{$wrapper}); + $config{verbose}=$config{setupverbose} + if exists $config{setupverbose}; + $config{syslog}=$config{setupsyslog} + if exists $config{setupsyslog}; + delete @config{qw(setupsyslog setupverbose wrappers genwrappers rebuild)}; + checkconfig(); + if (! $config{cgi} && ! $config{post_commit} && + ! $config{test_receive}) { + $config{post_commit}=1; + } + gen_wrapper(); + } + %config=(%origconfig); +} + sub gen_wrapper () { $config{srcdir}=File::Spec->rel2abs($config{srcdir}); $config{destdir}=File::Spec->rel2abs($config{destdir}); diff --git a/ikiwiki.in b/ikiwiki.in index aa3337938..bcda2469b 100755 --- a/ikiwiki.in +++ b/ikiwiki.in @@ -163,24 +163,8 @@ sub main () { ! $config{clean} && ((! $config{refresh} && ! $config{post_commit}) || $config{genwrappers})) { - debug(gettext("generating wrappers..")); require IkiWiki::Wrapper; - my %origconfig=(%config); - foreach my $wrapper (@{$config{wrappers}}) { - %config=(%origconfig, %{$wrapper}); - $config{verbose}=$config{setupverbose} - if exists $config{setupverbose}; - $config{syslog}=$config{setupsyslog} - if exists $config{setupsyslog}; - delete @config{qw(setupsyslog setupverbose wrappers genwrappers rebuild)}; - checkconfig(); - if (! $config{cgi} && ! $config{post_commit} && - ! $config{test_receive}) { - $config{post_commit}=1; - } - gen_wrapper(); - } - %config=(%origconfig); + gen_wrappers(); } # setup implies a wiki rebuild by default |