diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /bin/find-files-not-referenced-by-makefile.py | |
parent | Initial commit. (diff) | |
download | libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'bin/find-files-not-referenced-by-makefile.py')
-rwxr-xr-x | bin/find-files-not-referenced-by-makefile.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/bin/find-files-not-referenced-by-makefile.py b/bin/find-files-not-referenced-by-makefile.py new file mode 100755 index 000000000..70232ed1c --- /dev/null +++ b/bin/find-files-not-referenced-by-makefile.py @@ -0,0 +1,53 @@ +#!/usr/bin/python2 + +# Look for CXX files that are not referenced by any makefile + +import subprocess +import sys + +sourceFiles = set() + +a = subprocess.Popen("git ls-files", stdout=subprocess.PIPE, shell=True) +with a.stdout as txt: + for filename in txt: + if filename.find(".cxx") != -1 \ + and filename.find("precompiled") == -1 \ + and filename.find("/workben") == -1 \ + and not filename.startswith("odk/examples/") \ + and not filename.startswith("bridges/") \ + and not filename.startswith("compilerplugins/") \ + and filename.find("/qa/") == -1 \ + and filename.find("/test/") == -1 \ + and not filename.startswith("testtools/") \ + and not filename.startswith("vcl/") \ + and not filename.startswith("cli_ure/"): + sourceFiles.add(filename.strip()) + +a = subprocess.Popen("git ls-files */*.mk", stdout=subprocess.PIPE, shell=True) +with a.stdout as txt: + for makefilename in txt: + makefilename = makefilename.strip() + with open(makefilename, "r") as makefile: + moduleName = makefilename[:makefilename.find("/")] + state = 0 + for line in makefile: + line = line.strip() + if state == 0 and "_add_exception_objects" in line: + state = 1 + elif state == 1 and line != "))": + s = line.replace("\\","").replace(")", "").strip() + # parse line like: $(call gb_Helper_optional,AVMEDIA,svx/source/sidebar/media/MediaPlaybackPanel) \ + idx = s.rfind(",") + if idx != -1: + s = s[idx+1:].strip() + sourceFiles.discard(s + ".cxx") + elif state == 1: + state = 0 + + + + +print "files not listed in makefile" +print "----------------------------" +for x in sorted(sourceFiles): + print x |