[Libreoffice-commits] core.git: bin/find_unusedheaders.pl
Jelle van der Waa
jelle at vdwaa.nl
Tue Oct 15 01:12:14 PDT 2013
bin/find_unusedheaders.pl | 49 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
New commits:
commit 1793e5c1ff5d4b84178b4805026b8d455f32b0e5
Author: Jelle van der Waa <jelle at vdwaa.nl>
Date: Sun Oct 13 15:47:28 2013 +0200
fdo#70371: Initial perl script
Change-Id: I9b0ec2b00c11f7f09cd37273bbbcb856d1c7c862
Reviewed-on: https://gerrit.libreoffice.org/6238
Reviewed-by: Björn Michaelsen <bjoern.michaelsen at canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen at canonical.com>
diff --git a/bin/find_unusedheaders.pl b/bin/find_unusedheaders.pl
new file mode 100755
index 0000000..c6d7bda
--- /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;
+ }
+ }
+}
More information about the Libreoffice-commits
mailing list