]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Add a tool for retrieving directives from source files.
authorSadie Powell <sadie@witchery.services>
Mon, 6 Apr 2020 09:35:11 +0000 (10:35 +0100)
committerSadie Powell <sadie@witchery.services>
Mon, 6 Apr 2020 09:35:11 +0000 (10:35 +0100)
tools/directive [new file with mode: 0755]

diff --git a/tools/directive b/tools/directive
new file mode 100755 (executable)
index 0000000..95fe847
--- /dev/null
@@ -0,0 +1,55 @@
+#!/usr/bin/env perl
+#
+# InspIRCd -- Internet Relay Chat Daemon
+#
+#   Copyright (C) 2020 Sadie Powell <sadie@witchery.services>
+#
+# This file is part of InspIRCd.  InspIRCd is free software: you can
+# redistribute it and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation, version 2.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+
+BEGIN {
+       require 5.10.0;
+       unless (-f 'configure') {
+               print "Error: $0 must be run from the main source directory!\n";
+               exit 1;
+       }
+}
+
+use feature ':5.10';
+use strict;
+use warnings FATAL => qw(all);
+
+use File::Basename qw(dirname);
+use FindBin        qw($RealDir);
+
+use lib dirname $RealDir;
+use make::console;
+use make::directive;
+
+if (scalar @ARGV < 2) {
+       print_format "<|GREEN Usage:|> $0 <<|UNDERLINE FILE|>> [<|UNDERLINE DIRECTIVES...|>]\n", *STDERR;
+       exit 1
+}
+
+my $file = shift;
+print_error "<|GREEN $file|> does not exist and/or is not a file!" unless -f $file;
+
+for my $directive (@ARGV) {
+       my $value = get_directive $file, $directive, '';
+       if (-t STDOUT) {
+               print_format "<|GREEN $directive|>: $value\n";
+       } else {
+               say $value;
+       }
+}