summaryrefslogtreecommitdiff
path: root/lgtm.yml
blob: 952122d73e5a855779bf5631051fb0dce215d4b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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