diff --git a/lgtm.yml b/lgtm.yml new file mode 100644 index 0000000000..952122d73e --- /dev/null +++ b/lgtm.yml @@ -0,0 +1,135 @@ +########################################################################################## +# Customize file classifications. # +# Results from files under any classifier will be excluded from LGTM # +# statistics. # +########################################################################################## + +########################################################################################## +# Use the `path_classifiers` block to define changes to the default classification of # +# files. # +########################################################################################## + +path_classifiers: + docs: + - doc + - bin + test: + # Override LGTM's default classification of test files by excluding all files. + - exclude: / + # Classify all files in the top-level directories test/ and testing/ as test code. + - test + - testing + # Classify all files with suffix `.Test.py` as test code. + - "**/*.Test.py" + # and the test runner + - runtest.py + # The default behavior is to tag all files created during the + # build as `generated`. Results are hidden for generated code. You can tag + # further files as being generated by adding them to the `generated` section. + generated: + - build + # By default, all files not checked into the repository are considered to be + # 'generated'. + # The default behavior is to tag library code as `library`. Results are hidden + # for library code. You can tag further files as being library code by adding them + # to the `library` section. + library: + - exclude: path/to/libary/code/**/*.c + # The default behavior is to tag template files as `template`. Results are hidden + # for template files. You can tag further files as being template files by adding + # them to the `template` section. + template: + - template + # Define your own category, for example: 'some_custom_category'. + bench: + - bench + - timings + +######################################################################################### +# Define changes to the default code extraction process. # +# Each block configures the extraction of a single language, and modifies actions in a # +# named step. Every named step includes automatic default actions, # +# except for the 'prepare' step. The steps are performed in the following sequence: # +# prepare # +# after_prepare # +# configure (C/C++ only) # +# python_setup (Python only) # +# before_index # +# index # +########################################################################################## + +######################################################################################### +# Environment variables available to the steps: # +######################################################################################### + +# LGTM_SRC +# The root of the source tree. +# LGTM_WORKSPACE +# An existing (initially empty) folder outside the source tree. +# Used for temporary download and setup commands. + +######################################################################################### +# Use the extraction block to define changes to the default code extraction process # +# for one or more languages. The settings for each language are defined in a child # +# block, with one or more steps. # +######################################################################################### + +extraction: + javascript: + # The `prepare` step exists for customization on LGTM.com only. + # prepare: + # packages: + # - example_package + # Add an `after-prepare` step if you need to run commands after the prepare step. + # Each command should be listed on a separate line. + after_prepare: + - export PATH=$LGTM_WORKSPACE/tools:$PATH + # The `index` step extracts information from the files in the codebase. + index: + # Specify a list of files and folders to extract. + # Default: The project root directory. + include: + - src/js + # Specify a list of files and folders to exclude from extraction. + exclude: + - SCons/Tool/docbook/docbook-xsl-1.76.1 + + # Define settings for Python analysis + ###################################### + python: + # The `prepare` step exists for customization on LGTM.com only. + # prepare: + # # The `packages` section is valid for LGTM.com only. It names packages to + # # be installed. + # packages: libpng-dev + # This step is useful for Python analysis where you want to prepare the + # environment for the `python_setup` step without changing the default behavior + # for that step. + after_prepare: + - export PATH=$LGTM_WORKSPACE/tools:$PATH + # This sets up the Python interpreter and virtual environment, ready for the + # `index` step to extract the codebase. + python_setup: + # Specify packages that should NOT be installed despite being mentioned in the + # requirements.txt file. + # Default: no package marked for exclusion. + exclude_requirements: + - pywin32 + - readme-renderer + - sphinx<3.5.0 + - sphinx_rtd_theme + - lxml==4.6.3 + - rst2pdf + # Specify a list of pip packages to install. + # If any of these packages cannot be installed, the extraction will fail. + requirements: + #- Pillow + # Specify a list of requirements text files to use to set up the environment, + # or false for none. Default: any requirements.txt, test-requirements.txt, + # and similarly named files identified in the codebase are used. + requirements_files: + - required-packages.txt + # Specify a setup.py file to use to set up the environment, or false for none. + # Default: any setup.py files identified in the codebase are used in preference + # to any requirements text files. + #setup_py: new-setup.py