summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorByron Jones <glob@mozilla.com>2015-07-07 08:04:40 +0200
committerByron Jones <glob@mozilla.com>2015-07-07 08:04:40 +0200
commitb46c86a9013a85e6244cb78cdb4bba3c6f7cd5a9 (patch)
treec6651566b22415f7d03e1f764ef569a02a59c17b /contrib
parent18686c6c8688bd9fe910ca652f9c7036c6776c5e (diff)
downloadbugzilla-b46c86a9013a85e6244cb78cdb4bba3c6f7cd5a9.tar.gz
bugzilla-b46c86a9013a85e6244cb78cdb4bba3c6f7cd5a9.tar.xz
restore clear-templates to contrib/
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/clear-templates.pl40
1 files changed, 40 insertions, 0 deletions
diff --git a/contrib/clear-templates.pl b/contrib/clear-templates.pl
new file mode 100755
index 000000000..8b0864d46
--- /dev/null
+++ b/contrib/clear-templates.pl
@@ -0,0 +1,40 @@
+#!/usr/bin/perl -w
+
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+use strict;
+use warnings;
+use lib qw(. lib);
+
+use Bugzilla;
+use Bugzilla::Constants;
+use Bugzilla::Install::Filesystem qw(fix_dir_permissions);
+use File::Path qw(mkpath rmtree);
+
+Bugzilla->usage_mode(USAGE_MODE_CMDLINE);
+$| = 1;
+
+# rename the current directory and create a new empty one
+# the templates will lazy-compile on demand
+
+my $path = bz_locations()->{'template_cache'};
+my $delete_path = "$path.deleteme";
+
+print "clearing $path\n";
+
+rmtree("$delete_path") if -e "$delete_path";
+rename($path, $delete_path)
+ or die "renaming '$path' to '$delete_path' failed: $!\n";
+
+mkpath($path)
+ or die "creating '$path' failed: $!\n";
+fix_dir_permissions($path);
+
+# delete the temp directory (it's ok if this fails)
+
+rmtree("$delete_path");