You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mitogen/lgtm.yml

417 lines
20 KiB
YAML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# ##########################################################################################
# # 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:
# # Identify the top-level file called `generate_javadoc.py` as documentation-related.
# - generate_javadoc.py
# test:
# # Override LGTMs default classification of test files by excluding all files.
# - exclude: /
# # Classify all files in the top-level directories test/ and testsuites/ as test code.
# - test
# - testsuites
# # Classify all files with suffix `.test` as test code.
# # Note: use only forward slash / as a path separator.
# # Use ** to indicate an arbitrary parent path.
# # Use * to indicate any sequence of characters excluding /.
# # Always enclose the expression in double quotes if it includes *.
# - "**/*.test"
# # Refine the classifications above by excluding files in test/util/.
# - exclude: test/util
# # 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:
# # Exclude all `*.c` files under the `ui/` directory from classification as
# # generated code.
# # By default, all files not checked into the repository are considered to be
# # 'generated'.
# - exclude: ui/**.c
# # 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:
- "mitogen/compat"
# # 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:
# # Define your own category, for example: 'some_custom_category'.
# some_custom_category:
# # Classify all files in the top-level directory tools/ (or the top-level file
# # called tools).
# - tools
#
# #########################################################################################
# # Use the `queries` block to change the default display of query results. #
# #########################################################################################
#
queries:
# Mitogen 2.4 compatibility trips this query everywhere, so just disable it
- exclude: py/unreachable-statement
- exclude: py/should-use-with
# mitogen.core.b() trips this query everywhere, so just disable it
- exclude: py/import-and-import-from
# # Specifically hide the results of two queries.
# - exclude: cpp/use-of-goto
# - exclude: java/equals-on-unrelated-types
# # Hide the results of all queries.
# - exclude: "*"
# # Refine by including the `java/command-line-injection` query.
# - include: java/command-line-injection
# # Include all queries tagged security and correctness', and with a severity of
# # error.
# - include:
# tags:
# - "security"
# - "correctness"
# severity: "error"
#
# #########################################################################################
# # 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:
# # Define settings for C/C++ analysis
# #####################################
# cpp:
# # The `prepare` step exists for customization on LGTM.com only.
# prepare:
# # The `packages` section is valid for LGTM.com only. It names Ubuntu packages to
# # be installed.
# packages:
# - libxml2-dev
# - libxslt1-dev
# # Add an `after-prepare` step if you need to run commands after the prepare step.
# # Each command should be listed on a separate line.
# # This step is useful for C/C++ analysis where you want to prepare the environment
# # for the `configure` step without changing the default behavior for that step.
# after_prepare:
# - mkdir -p $LGTM_WORKSPACE/latest-gcc-symlinks
# - ln -s /usr/bin/g++-6 $LGTM_WORKSPACE/latest-gcc-symlinks/g++
# - ln -s /usr/bin/gcc-6 $LGTM_WORKSPACE/latest-gcc-symlinks/gcc
# - export PATH=$LGTM_WORKSPACE/latest-gcc-symlinks:$PATH
# - export GNU_MAKE=make
# - export GIT=true
# # The `configure` step generates build configuration files which the `index` step
# # then uses to build the codebase.
# configure:
# command:
# - ./prepare_deps
# # Optional step. You should add a `before_index` step if you need to run commands
# # before the `index` step.
# before_index:
# - export BOOST_DIR=$LGTM_SRC/boost
# - export GTEST_DIR=$LGTM_SRC/googletest
# - export HUNSPELL_DIR=$LGTM_SRC/hunspell
# - export CRYPTOPP_DIR=$LGTM_SRC/cryptopp
# # The `index` step builds the code and extracts information during the build
# # process.
# index:
# # Override the autobuild process by specifying a list of custom build commands
# # to use instead.
# build_command:
# - $GNU_MAKE -j2 -s
# # Specify that all project or solution files should be used for extraction.
# # Default: false.
# all_solutions: true
# # Specify a list of one or more project or solution files for extraction.
# # Default: LGTM chooses the file closest to the root of the repository (this may
# # fail if there are multiple candidates).
# solution:
# - myProject.sln
# # Specify MSBuild settings
# msbuild:
# # Specify a list of additional arguments to MSBuild. Default: empty.
# arguments: /p:Platform=x64 /p:Configuration=Release
# # Specify the MSBuild configuration to use, for example, debug or release.
# # Default: read from the solution file or files.
# configuration:
# # Specify the platform to target, for example: x86, x64, or Any CPU.
# # Default: read from the solution file or files.
# platform:
# # Specify the MSBuild target. Default: rebuild.
# target:
# # Specify whether or not to perform a NuGet restore for extraction. Default: true.
# nuget_restore: false
# # Specify a version of Microsoft Visual Studio to use for MSBuild or any custom
# # build commands (build_command). For example:
# # 10 for Visual Studio 2010
# # 12 for Visual Studio 2012
# # 14 for Visual Studio 2015
# # 15 for Visual Studio 2017
# # Default: read from project files.
# vstools_version: 10
#
# # Define settings for C# analysis
# ##################################
# csharp:
# # The `prepare` step exists for customization on LGTM.com only.
# prepare:
# # 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 builds the code and extracts information during the build
# # process.
# index:
# # Specify that all project or solution files should be used for extraction.
# # Default: false.
# all_solutions: true
# # Specify a list of one or more project or solution files for extraction.
# # Default: LGTM chooses the file closest to the root of the repository (this may
# # fail if there are multiple candidates).
# solution:
# - myProject.sln
# # Override the autobuild process by specifying a list of custom build commands
# # to use instead.
# build_command:
# # By default, LGTM analyzes the code by building it. You can override this,
# # and tell LGTM not to build the code. Beware that this can lead
# # to less accurate results.
# buildless: true
# # Specify .NET Core settings.
# dotnet:
# # Specify additional arguments to `dotnet build`.
# # Default: empty.
# arguments:
# # Specify the version of .NET Core SDK to use.
# # Default: The version installed on the build machine.
# version: 2.1
# # Specify MSBuild settings.
# msbuild:
# # Specify a list of additional arguments to MSBuild. Default: empty.
# arguments: /P:WarningLevel=2
# # Specify the MSBuild configuration to use, for example, debug or release.
# # Default: read from the solution file or files.
# configuration: release
# # Specify the platform to target, for example: x86, x64, or Any CPU.
# # Default: read from the solution file or files.
# platform: x86
# # Specify the MSBuild target. Default: rebuild.
# target: notest
# # Specify whether or not to perform a NuGet restore for extraction. Default: true.
# nuget_restore: false
# # Specify a version of Microsoft Visual Studio to use for MSBuild or any custom
# # build commands (build_command). For example:
# # 10 for Visual Studio 2010
# # 12 for Visual Studio 2012
# # 14 for Visual Studio 2015
# # 15 for Visual Studio 2017
# # Default: read from project files
# vstools_version: 10
# # Specify additional options for the extractor,
# # for example --fast to perform a faster extraction that produces a smaller
# # database.
# extractor:
#
# # Define settings for COBOL analysis
# #####################################
# cobol:
# # The `prepare` step exists for customization on LGTM.com only.
# prepare:
# # 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
# index:
# # Specify the source file format: fixed, free, or variable.
# # Default: fixed.
# format: "variable"
# # Specify the number of spaces in a tab. Default: 4.
# tab_length: 2
# # Specify whether preprocessing is applied before extraction or not.
# # Default: true (preprocessing on).
# preprocessing: false
# # Specify file extensions that LGTM will identify as belonging to source files.
# # Default: files with a .CBL, .cbl, .COB or .cob extension are considered
# # source files.
# source_globs:
# - "**.cbl"
# - "**.CBL"
# - "**.cob"
# - "**.cobol"
# - "**.COB"
# # Specify file extensions that LGTM will identify as belonging to library files.
# # Default: files with a .CPY, .cpy, .COPY or .copy extension.
# library_globs:
# - "**.CPY"
# - "**.COPY"
#
# # Define settings for Java analysis
# ####################################
# java:
# # The `prepare` step exists for customization on LGTM.com only.
# prepare:
# # 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 Gradle settings.
# gradle:
# # Specify the required Gradle version.
# # Default: determined automatically.
# version: 4.4
# # Override the autobuild process by specifying a list of custom build commands
# # to use instead.
# build_command: ./compile-all.sh
# # Specify the Java version required to build the project.
# java_version: 11
# # Specify Maven settings.
# maven:
# # Specify the path (absolute or relative) of a Maven settings file to use.
# # Default: Maven uses a settings file in the default location, if it exists.
# settings_file: /opt/share/settings.xml
# # Specify the path of a Maven toolchains file.
# # Default: Maven uses a toolchains file in the default location, if it exists.
# toolchains_file: /opt/share/toolchains.xml
# # Specify the required Maven version.
# # Default: the Maven version is determined automatically, where feasible.
# version: 3.5.2
# # Specify how XML files should be extracted:
# # ALL = extract all XML files.
# # DEFAULT = only extract XML files named `AndroidManifest.xml`.
# # DISABLED = do not extract any XML files.
# xml_mode: ALL
#
# # Define settings for JavaScript analysis
# ##########################################
# javascript:
# # The `prepare` step exists for customization on LGTM.com only.
# prepare:
# # 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:
# - thirdparty/lib
# - node_modules
# # You can add additional file types for LGTM to extract, by mapping file
# # extensions (including the leading dot) to file types. The usual
# # include/exclude patterns apply, so, for example, `.jsm` files under
# # `thirdparty/lib` and `node_modules` will not be extracted.
# filetypes:
# ".jsm": "js"
# ".tmpl": "html"
# # Specify a list of glob patterns to include/exclude files from extraction; this
# # is applied on top of the include/exclude paths from above; patterns are
# # processed in the same way as for path classifiers above.
# # Default: include all files with known extensions (such as .js, .ts and .html),
# # but exclude files ending in `-min.js` or `.min.js`.
# filters:
# # exclude any node_modules folders anywhere.
# - exclude: "**/node_modules/*"
# # exclude any *.ts files anywhere.
# - exclude: "**/*.ts"
# # but include *.ts files under src/js/typescript.
# - include: "src/js/typescript/**/*.ts"
# # Specify the type of project: module or script.
# # Default: type is automatically detected.
# source_type: module
# # Specify how TypeScript files should be extracted:
# # none = exclude all TypeScript files.
# # basic = extract syntactic information from TypeScript files.
# # full = extract syntactic and type information from TypeScript files.
# # Default: full.
# typescript: basic
# # By default, LGTM doesn't extract any XML files. You can override this by
# # using the `xml_mode` property and setting it to `all`.
# xml_mode: all
#
# # 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
# # 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
# # Override the version of the Python interpreter used for setup and extraction
# # Default: Python 3 if no version is explicitly specified, and if there are no
# # commits to the repository before January 1, 2017. Otherwise Python 2.
# version: 3
# # Optional step. You should add a `before_index` step if you need to run commands
# # before the `index` step.
# before_index:
# - antlr4 -Dlanguage=Python3 Grammar.g4
# # The `index` step extracts information from the files in the codebase.
# index:
# # Specify a list of files and folders to exclude from extraction.
# # Default: Git submodules and Subversion externals.
# exclude:
# - legacy-implementation
# - thirdparty/libs
# filters:
# - exclude: "**/documentation/examples/snippets/*.py"
# - include: "**/documentation/examples/test_application/*"
# include: