Merge pull request #4536 from mwichmann/SConsExamples
[scons.git] / lgtm.yml
blob952122d73e5a855779bf5631051fb0dce215d4b8
1 ##########################################################################################
2 # Customize file classifications.                                                        #
3 # Results from files under any classifier will be excluded from LGTM                     #
4 # statistics.                                                                            #
5 ##########################################################################################
7 ##########################################################################################
8 # Use the `path_classifiers` block to define changes to the default classification of    #
9 # files.                                                                                 #
10 ##########################################################################################
12 path_classifiers:
13   docs:
14     - doc
15     - bin
16   test:
17     # Override LGTM's default classification of test files by excluding all files.
18     - exclude: /
19     # Classify all files in the top-level directories test/ and testing/ as test code.
20     - test
21     - testing
22     # Classify all files with suffix `.Test.py` as test code.
23     - "**/*.Test.py"
24     # and the test runner
25     - runtest.py
26   # The default behavior is to tag all files created during the
27   # build as `generated`. Results are hidden for generated code. You can tag 
28   # further files as being generated by adding them to the `generated` section.
29   generated:
30     - build
31     # By default, all files not checked into the repository are considered to be
32     # 'generated'.
33   # The default behavior is to tag library code as `library`. Results are hidden 
34   # for library code. You can tag further files as being library code by adding them
35   # to the `library` section.
36   library:
37     - exclude: path/to/libary/code/**/*.c
38   # The default behavior is to tag template files as `template`. Results are hidden 
39   # for template files. You can tag further files as being template files by adding 
40   # them to the `template` section.
41   template:
42     - template
43   # Define your own category, for example: 'some_custom_category'.
44   bench:
45     - bench
46     - timings
48 #########################################################################################
49 # Define changes to the default code extraction process.                                #
50 # Each block configures the extraction of a single language, and modifies actions in a  #
51 # named step. Every named step includes automatic default actions,                      #
52 # except for the 'prepare' step. The steps are performed in the following sequence:     #
53 # prepare                                                                               #
54 # after_prepare                                                                         #
55 # configure (C/C++ only)                                                                #
56 # python_setup (Python only)                                                            #
57 # before_index                                                                          #
58 # index                                                                                 #
59 ##########################################################################################
61 #########################################################################################
62 # Environment variables available to the steps:                                         #
63 #########################################################################################
65 # LGTM_SRC
66 #   The root of the source tree.
67 # LGTM_WORKSPACE
68 #   An existing (initially empty) folder outside the source tree.
69 #   Used for temporary download and setup commands.
71 #########################################################################################
72 # Use the extraction block to define changes to the default code extraction process     #
73 # for one or more languages. The settings for each language are defined in a child      #
74 # block, with one or more steps.                                                        #
75 #########################################################################################
77 extraction: 
78   javascript:
79     # The `prepare` step exists for customization on LGTM.com only.
80     # prepare:
81     #   packages:
82     #     - example_package
83     # Add an `after-prepare` step if you need to run commands after the prepare step.
84     # Each command should be listed on a separate line.
85     after_prepare:
86       - export PATH=$LGTM_WORKSPACE/tools:$PATH
87     # The `index` step extracts information from the files in the codebase.
88     index:
89       # Specify a list of files and folders to extract.
90       # Default: The project root directory.
91       include:
92         - src/js
93       # Specify a list of files and folders to exclude from extraction.
94       exclude:
95         - SCons/Tool/docbook/docbook-xsl-1.76.1
97   # Define settings for Python analysis
98   ######################################
99   python:
100     # The `prepare` step exists for customization on LGTM.com only.
101     # prepare:
102     #   # The `packages` section is valid for LGTM.com only. It names packages to
103     #   # be installed.
104     #   packages: libpng-dev
105     # This step is useful for Python analysis where you want to prepare the 
106     # environment for the `python_setup` step without changing the default behavior 
107     # for that step.
108     after_prepare:
109       - export PATH=$LGTM_WORKSPACE/tools:$PATH
110       # This sets up the Python interpreter and virtual environment, ready for the 
111       # `index` step to extract the codebase.
112     python_setup:
113       # Specify packages that should NOT be installed despite being mentioned in the
114       # requirements.txt file.
115       # Default: no package marked for exclusion.
116       exclude_requirements:
117         - pywin32
118         - readme-renderer
119         - sphinx<3.5.0
120         - sphinx_rtd_theme
121         - lxml==4.6.3
122         - rst2pdf
123       # Specify a list of pip packages to install.
124       # If any of these packages cannot be installed, the extraction will fail.
125       requirements:
126         #- Pillow
127       # Specify a list of requirements text files to use to set up the environment,
128       # or false for none. Default: any requirements.txt, test-requirements.txt,
129       # and similarly named files identified in the codebase are used.
130       requirements_files:
131         - required-packages.txt
132       # Specify a setup.py file to use to set up the environment, or false for none.
133       # Default: any setup.py files identified in the codebase are used in preference
134       # to any requirements text files.
135       #setup_py: new-setup.py