apache / camel-k
Source Code Overview

Analysis scope, overview of main, test, generated, deployment, build, and other code.

Source Code Analysis Scope
Files includes and excluded from analyses
feature
txt
mod
tpl
properties
xsl
editorconfig
gitmodules
cmd
Overview of Analyzed Files
Basic stats on analyzed files
Intro
For analysis purposes we separate files in scope into several categories: main, test, generated, deployment and build, and other.

  • The main category contains all manually created source code files that are being used in the production.
  • Files in the main category are used as input for other analyses: logical decomposition, concerns, duplication, file size, unit size, and conditional complexity.
  • Test source code files are used only for testing of the product. These files are normally not deployed to production.
  • Build and deployment source code files are used to configure or support build and deployment process.
  • Generated source code files are automatically generated files that have not been manually changed after generation.
  • While a source code folder may contain a number of files, we are primarily interested in the source code files that are being written and maintained by developers.
  • Files containing binaries, documentation, or third-party libraries, for instance, are excluded from analysis. The exception are third-party libraries that have been changed by developers.

main158010 LOC (76%) 796 files
test34416 LOC (16%) 460 files
generated137 LOC (<1%) 16 files
build and deployment1292 LOC (<1%) 37 files
other13363 LOC (6%) 53 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
tpl
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 796 files match defined criteria (158,010 LOC, 100.0% vs. main code):
    • 154 *.yaml files (100,651 LOC)
    • 633 *.go files (56,736 LOC)
    • 4 *.adoc files (453 LOC)
    • 4 *.tpl files (134 LOC)
    • 1 *.xml files (36 LOC)
  • " *.yaml" is biggest, containing 63.7% of LOC.
  • " *.xml" is smallest, containing 0.02% of LOC.


*.yaml100651 LOC (63%) 154 files
*.go56736 LOC (35%) 633 files
*.adoc453 LOC (<1%) 4 files
*.tpl134 LOC (<1%) 4 files
*.xml36 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
feature
xsl
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*_test[.].*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/e2e/.*".
    • files with paths like ".*[.]feature".
    • files with paths like ".*/[Tt]est/.*".
  • 460 files match defined criteria (34,416 LOC, 21.8% vs. main code):
    • 268 *.go files (31,737 LOC)
    • 81 *.yaml files (1,712 LOC)
    • 30 *.java files (342 LOC)
    • 17 *.feature files (282 LOC)
    • 51 *.groovy files (190 LOC)
    • 3 *.xml files (83 LOC)
    • 4 *.sh files (25 LOC)
    • 1 *.xsl files (19 LOC)
    • 3 *.js files (16 LOC)
    • 2 *.kts files (10 LOC)
  • " *.go" is biggest, containing 92.22% of LOC.
  • " *.kts" is smallest, containing 0.03% of LOC.


*.go31737 LOC (92%) 268 files
*.yaml1712 LOC (4%) 81 files
*.java342 LOC (<1%) 30 files
*.feature282 LOC (<1%) 17 files
*.groovy190 LOC (<1%) 51 files
*.xml83 LOC (<1%) 3 files
*.sh25 LOC (<1%) 4 files
*.xsl19 LOC (<1%) 1 file
*.js16 LOC (<1%) 3 files
*.kts10 LOC (<1%) 2 files
Generated Code
Automatically generated files, not manually changed after generation.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*_generated[.][a-z]+".
  • 16 files match defined criteria (137 LOC, 0.1% vs. main code). All matches are in *.go files.


*.go137 LOC (100%) 16 files
Build and Deployment Code
Source code used to configure or support build and deployment process.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]sh".
    • files with paths like ".*/pom[.]xml".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[.]gitmodules".
  • 37 files match defined criteria (1,292 LOC, 0.8% vs. main code):
    • 36 *.sh files (1,138 LOC)
    • 1 *.xml files (154 LOC)
  • " *.sh" is biggest, containing 88.08% of LOC.
  • " *.xml" is smallest, containing 11.92% of LOC.


*.sh1138 LOC (88%) 36 files
*.xml154 LOC (11%) 1 file
Other Code
mod
txt
properties
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/go[.]mod".
    • files with paths like ".*/[Ss]amples/.*".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]md".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]editorconfig".
    • files with paths like ".*/[.]dockerignore".
    • files with paths like ".*[.]svg".
  • 53 files match defined criteria (13,363 LOC, 8.5% vs. main code):
    • 3 *.json files (6,216 LOC)
    • 5 *.md files (4,458 LOC)
    • 3 *.svg files (1,827 LOC)
    • 22 *.yaml files (404 LOC)
    • 4 *.mod files (302 LOC)
    • 12 *.txt files (100 LOC)
    • 1 *.adoc files (49 LOC)
    • 3 *.properties files (7 LOC)
  • " *.json" is biggest, containing 46.52% of LOC.
  • " *.properties" is smallest, containing 0.05% of LOC.


*.json6216 LOC (46%) 3 files
*.md4458 LOC (33%) 5 files
*.svg1827 LOC (13%) 3 files
*.yaml404 LOC (3%) 22 files
*.mod302 LOC (2%) 4 files
*.txt100 LOC (<1%) 12 files
*.adoc49 LOC (<1%) 1 file
*.properties7 LOC (<1%) 3 files
Analyzers
Info about analyzers used for source code examinations.


2023-08-10 21:21