Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/LibreOffice/bin/   (Office von Apache Version 25.8.3.2©)  Datei vom 5.10.2025 mit Größe 4 kB image not shown  

Quelle  find-unusedheaders.sh   Sprache: Shell

 
#!/usr/bin/env bash
#
# 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/.

# Search for headers not included in any source files
# Note: there are still exceptions (such as ODK) so results are not completely foolproof

# Search in all subdirs, except for those not containing C/C++ headers
for subdir in $(ls -d */ | grep -v \
                                -e include/ `# Handled differently` \
                                -e android \
                                -e animations `# No headers here` \
                                -e bean \
                                -e bin/ `# Skip subdirs not containing C/C++ code ` \
                                -e cpputools/ \
                                -e distro-configs/ \
                                -e docmodel/ `# No headers here` \
                                -e eventattacher/ \
                                -e external/ `# FIXME Should be handled differently, but it\'s such a mess` \
                                -e extras/ \
                                -e i18nlangtag/ \
                                -e icon-themes/ \
                                -e idlc/ \
                                -e instsetoo_native/ \
                                -e jurt/ \
                                -e jvmaccess/ \
                                -e librelogo/ \
                                -e m4/ \
                                -e msicreator/ \
                                -e nlpsolver/ \
                                -e offapi/ \
                                -e officecfg/ \
                                -e oovbaapi/ \
                                -e osx/ \
                                -e pch/ \
                                -e postprocess/ \
                                -e qadevOOo/ \
                                -e readlicense_oo/ \
                                -e remotebridges/ \
                                -e reportbuilder/ \
                                -e ridljar/ \
                                -e schema/ \
                                -e scp2/ \
                                -e smoketest/ \
                                -e swext/ \
                                -e sysui/ \
                                -e udkapi/ \
                                -e uitest/ \
                                -e unoil/ \
                                -e unotest/ \
                                -e ure/ \
                                -e wizards/ \
                                -e xmlreader/ \
                                -e instdir/ `# Skip typical build-related temporaries` \
                                -e workdir/ \
                                -e autom4te.cache/ \
                                -e config_host/ \
                                -e dictionaries/ `# Skip typical submodules` \
                                -e helpcontent2/ \
                                -e translations/
                                ) ; do

    # Get a feeling of progress :)
    echo "Checking module: $subdir";

    # Find all .h / .hxx files and see if they are mentioned in the module
    # skip special directories: pch and precompiled_ (compilerplugins does not have separate pch dir), workben (playground code), test (dead code?)
    for i in  $(find "$subdir" -name "*\.h" -o -name "*\.hxx" -o -name "\.hrc" -o -name "*\.hlst" | grep -v -e "/pch/" -e "/precompiled_" -e "/workben/" -e "/test/" | xargs basename -a ); do
        # Search only in source files, and skip mentions in makefiles, .yaml, clang-format excludelist etc.
        if [ $(git grep -l "$i" "$subdir"/{*\.[hc]xx,*\.[hc],*\.hrc,*\.mm,*\.m,*\.py} | wc -l) -eq 0 ] ; then
            echo "Out of use header: $(find "$subdir" -name "$i")";
        fi
    done
done

echo "Checking global headers";
# Search for files in include is different since they can be used in any module
for i in  $(find include/ -name "*\.h" -o -name "*\.hxx" -o -name "\.hrc" | cut -d "/" -f 2- ); do
    # Some headers are only included between double quotes
    if [ $(git grep -l -e \<$i\> -e \"$i\" {*\.[hc]xx,*\.[hc],*\.hrc,*\.mm,*\.m} | grep -v pch | wc -l) -eq 0 ] ; then
        echo "Out of use header: include/$i";
    fi
done

72%


¤ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.