summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorJelle van der Waa <jelle@vdwaa.nl>2013-10-13 15:47:28 +0200
committerBjörn Michaelsen <bjoern.michaelsen@canonical.com>2013-10-15 08:11:51 +0000
commit1793e5c1ff5d4b84178b4805026b8d455f32b0e5 (patch)
tree9fc114a92ce045896784755650656063bb90a9d8 /bin
parent71b2bf62d625b67696f612c30e214e71f36a5471 (diff)
fdo#70371: Initial perl script
Change-Id: I9b0ec2b00c11f7f09cd37273bbbcb856d1c7c862 Reviewed-on: https://gerrit.libreoffice.org/6238 Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com> Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Diffstat (limited to 'bin')
-rwxr-xr-xbin/find_unusedheaders.pl49
1 files changed, 49 insertions, 0 deletions
diff --git a/bin/find_unusedheaders.pl b/bin/find_unusedheaders.pl
new file mode 100755
index 000000000000..c6d7bdab59c8
--- /dev/null
+++ b/bin/find_unusedheaders.pl
@@ -0,0 +1,49 @@
+#!/usr/bin/perl
+# This file is part of the LibreOffice project.
+#
+# 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/.
+#
+#
+use strict;
+use warnings;
+use File::Find qw(finddepth);
+use File::Basename;
+
+# Find dirs in:
+# workdir/unxlngx6.pro/Dep/CxxObject/
+# workdir/unxlngx6.pro/Dep/CObject
+#
+# Concat these files and compare them with the output of
+# `git ls-tree HEAD -r --name-only` and report files in the git ls-tree that aren't in the first.
+
+my @files;
+my $tmp;
+my %data = ();
+
+# define a wanted function
+sub wanted {
+ return if($_ eq '.' || $_ eq '..' || -d $_);
+ $tmp = basename($File::Find::name);
+ # remove file extension ( .o )
+ $tmp =~ s/\.[^.]*$//;
+ $data{$tmp} = $File::Find::name;
+}
+
+finddepth(\&wanted, 'workdir/unxlngx6.pro/Dep/CxxObject');
+finddepth(\&wanted, 'workdir/unxlngx6.pro/Dep/CObject');
+
+my @gitfiles = `git ls-tree HEAD -r --name-only`;
+
+# loop over found gitfiles
+foreach my $file (@gitfiles){
+ if($file =~ /\.[hxx|h|c|cxx]$/){
+ $tmp = basename($file);
+ $tmp =~ s/\.[^.]*$//;
+ chomp($tmp);
+ if(!exists($data{$tmp})){
+ print $file;
+ }
+ }
+}