{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/lgtm.json","$comment":"https://lgtm.com/help/lgtm/lgtm.yml-configuration-file","definitions":{"queryItem":{"title":"Query","type":"object","properties":{"id":{"title":"ID","description":"Use to identify a specific query whose results you want to include or exclude from display on LGTM.","type":"string"},"severity":{"title":"Severity","description":"Use to specify a single level of severity (error, warning or recommendation) for queries whose results you want to include or exclude from display.","type":"string"},"tags":{"title":"Tags","description":"Use to specify one or more tags for queries whose results you want to include or exclude from display.","type":"array","items":{"title":"Tag","type":"string"}}}}},"description":"Configuration file for lgtm, for continuous security analysis.","properties":{"path_classifiers":{"title":"Path Classifiers","description":"Defines the tag that you want to modify. Usually this is a built-in tag, but you can define your own tags.","type":"object","additionalProperties":{"description":"Classify files on this path with the parent tag.","type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"exclude":{"title":"Exclude","description":"Do not classify files on this path with the parent tag.","type":"string"}}}]}}},"queries":{"anyOf":[{"type":"array","items":{"type":"object","title":"Query","properties":{"exclude":{"$ref":"#/definitions/queryItem","title":"Exclude","description":"Hide the results for queries with the specified properties."},"include":{"$ref":"#/definitions/queryItem","title":"Include","description":"Show the results for queries with the specified properties."}}}},{"type":"null"}],"title":"Queries"},"extraction":{"title":"Extraction","type":"object","additionalProperties":{"type":"object","properties":{"prepare":{"title":"Prepare","description":"Customizable step used by all languages.","type":"object","properties":{"packages":{"title":"Packages","description":"One or more packages to install.","type":"array","items":{"title":"Package","type":"string"}}}},"after_prepare":{"title":"After Prepare","description":"Customizable step used by all languages.","type":"array","items":{"type":"string"}},"before_index":{"title":"Before Index","description":"Customizable step used by all languages.","type":"array","items":{"type":"string"}},"index":{"title":"Index","description":"Customizable step used by all languages.","type":"object","properties":{"all_solutions":{"title":"All Solutions","description":"Specify that all project or solution files should be used for extraction.","type":"boolean","default":false},"build_command":{"title":"Build Command","anyOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"buildless":{"title":"Buildless","description":"Specify whether or not to extract the codebase without building the code.","type":"boolean","default":false},"dotnet":{"title":".NET","type":"object","properties":{"arguments":{"title":"Arguments","description":"Specify a list of additional arguments to dotnet build.","type":"array","items":{"title":"Argument","type":"string"},"default":[]},"version":{"title":"Version","description":"Specify the version of the .NET Core SDK to use.","type":"string"}}},"exclude":{"title":"Exclude","description":"Specify a list of files and folders to exclude from extraction. Each path is specified by defining paths relative to LGTM_SRC.","type":"array","items":{"type":"string"}},"filetypes":{"type":"object","title":"Filetypes","description":"Specify additional file types to extract.","additionalProperties":{"type":"string"}},"gradle":{"title":"Gradle","type":"object","properties":{"version":{"title":"Version","anyOf":[{"type":"string"},{"type":"number"}]}}},"include":{"title":"Include","description":"Specify a list of files and folders to scan for files to extract.","type":"array","items":{"type":"string"}},"java_version":{"title":"Java Version","description":"Specify the Java version required to build the project.","anyOf":[{"type":"string"},{"type":"number"}]},"maven":{"title":"Maven","description":"Specify Maven settings to use by specifying one or more of the maven subproperties detailed below.","type":"object","properties":{"settings_file":{"title":"Settings File","description":"Specify the path (absolute or relative) of a Maven settings file to use.","type":"string"},"toolchains_file":{"title":"Toolchains File","description":"Specify the path of a Maven toolchains file to use.","type":"string"},"version":{"title":"Version","description":"Specify the required Maven version.","anyOf":[{"type":"string"},{"type":"number"}]}}},"msbuild":{"title":"MSBuild","type":"object","properties":{"arguments":{"title":"Arguments","description":"Specify a list of additional arguments to MSBuild.","type":"array","items":{"title":"Argument","type":"string"}},"configuration":{"title":"Configuration","description":"Specify the MSBuild configuration to use, for example, debug or release.","type":"string"},"platform":{"title":"Platform","description":"Specify the platform to target, for example: x86, x64, or Any CPU.","type":"string"},"target":{"title":"Target","description":"Specify the MSBuild target.","type":"string","default":"rebuild"}}},"nuget_restore":{"title":"NuGet Restore","description":"Specify whether or not to perform a NuGet restore for extraction.","type":"boolean","default":true},"properties_files":{"title":"Properties Files","description":"Specify whether .properties files are extracted.","type":"boolean","default":false},"solution":{"title":"Solution","description":"Specify a list of one or more project or solution files for extraction.","type":"array","items":{"type":"string"}},"typescript":{"title":"TypeScript","description":"Specify how TypeScript files should be extracted.","enum":["none","basic","full"],"default":"full"},"xml_mode":{"title":"XML Mode","description":"Specify how XML files should be extracted.","enum":["all","default","disabled"]}}},"configure":{"title":"Configure","description":"Customizable step used only by C/C++ extraction.","type":"object","properties":{"command":{"title":"Command","description":"Override the default process by specifying a list of commands to run to generate the build configuration.","anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]}}},"python_setup":{"title":"Python Setup","description":"This step is used only by Python blocks. It sets up the Python interpreter and virtual environment, ready for the index step to extract the codebase.","type":"object","properties":{"exclude_requirements":{"title":"Exclude Requirements","description":"Specify packages to exclude from extraction/analysis.","type":"array","items":{"title":"Package","type":"string"}},"requirements":{"title":"Requirements","description":"Specify a list of pip packages to install. If any of these packages cannot be installed, the extraction will fail.","type":"array","items":{"title":"Package","type":"string"}},"requirements_files":{"title":"Requirement Files","description":"Specify a list of requirements text files to use to set up the environment, or false for none.","anyOf":[{"type":"array","items":{"type":"string"}},{"type":"boolean"}]},"setup_py":{"title":"Setup Python","description":"Specify a setup.py file to use to set up the environment, or false for none.","type":"string"},"version":{"title":"Version","description":"Override the version of the Python interpreter used for setup and extraction.","anyOf":[{"type":"string"},{"type":"number"}],"default":3}}}}}}},"type":"object"}