apache / incubator-kie-tools
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
properties
txt
snap
mdx
xsd
feature
mod
bats
tpl
vscodeignore
patch
mjs
npmrc
eslintignore
plist
wsdl
gitattributes
prettierignore
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.

main931144 LOC (57%) 14,296 files
test474116 LOC (29%) 4,978 files
generated5008 LOC (<1%) 1 file
build and deployment34325 LOC (2%) 351 files
other185311 LOC (11%) 2,039 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
xsd
mjs
tpl
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 14296 files match defined criteria (931,144 LOC, 100.0% vs. main code):
    • 9,751 *.java files (613,586 LOC)
    • 1,163 *.tsx files (143,392 LOC)
    • 1,787 *.ts files (88,467 LOC)
    • 225 *.go files (27,953 LOC)
    • 306 *.js files (15,044 LOC)
    • 34 *.xsd files (11,988 LOC)
    • 175 *.css files (10,472 LOC)
    • 310 *.html files (6,490 LOC)
    • 125 *.yaml files (3,895 LOC)
    • 264 *.xml files (3,430 LOC)
    • 61 *.less files (2,237 LOC)
    • 30 *.ftl files (1,636 LOC)
    • 48 *.scss files (971 LOC)
    • 1 *.g4 files (667 LOC)
    • 4 *.mjs files (420 LOC)
    • 6 *.tpl files (236 LOC)
    • 4 *.py files (231 LOC)
    • 1 *.ps1 files (22 LOC)
    • 1 *.cjs files (7 LOC)
  • " *.java" is biggest, containing 65.9% of LOC.
  • " *.cjs" is smallest, containing 0% of LOC.


*.java613586 LOC (65%) 9,751 files
*.tsx143392 LOC (15%) 1,163 files
*.ts88467 LOC (9%) 1,787 files
*.go27953 LOC (3%) 225 files
*.js15044 LOC (1%) 306 files
*.xsd11988 LOC (1%) 34 files
*.css10472 LOC (1%) 175 files
*.html6490 LOC (<1%) 310 files
*.yaml3895 LOC (<1%) 125 files
*.xml3430 LOC (<1%) 264 files
*.less2237 LOC (<1%) 61 files
*.ftl1636 LOC (<1%) 30 files
*.scss971 LOC (<1%) 48 files
*.g4667 LOC (<1%) 1 file
*.mjs420 LOC (<1%) 4 files
*.tpl236 LOC (<1%) 6 files
*.py231 LOC (<1%) 4 files
*.ps122 LOC (<1%) 1 file
*.cjs7 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
snap
feature
bats
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*/jest[.][a-zA-Z0-9\.]+".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
    • files with paths like ".*[.]snap".
    • files with paths like ".*[.][Tt]ests[.].*".
    • files with paths like ".*[.]tests[.].*".
    • files with paths like ".*/__mock[a-zA-Z0-9_\- ]+/.*".
    • files with paths like ".*[-]tests/.*".
    • files with paths like ".*/e2e/.*".
    • files with paths like ".*[.]spec[.]ts".
    • files with paths like ".*/test[-]resources/.*".
    • files with paths like ".*[.]feature".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*/mock[a-zA-Z0-9_\- ]+/.*".
    • files with paths like ".*/[Mm]ocks/.*".
    • files with paths like ".*/[Ss]pecs/.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*[-]test[-].*".
    • files with paths like ".*/karma[.]conf[.]js".
    • files with paths like ".*[.]spec[.]js".
    • files with paths like ".*[-]tests[-].*".
  • 4978 files match defined criteria (474,116 LOC, 50.9% vs. main code):
    • 3,868 *.java files (369,598 LOC)
    • 460 *.ts files (43,735 LOC)
    • 41 *.snap files (15,751 LOC)
    • 102 *.go files (13,222 LOC)
    • 148 *.xml files (12,292 LOC)
    • 105 *.tsx files (8,074 LOC)
    • 88 *.js files (5,505 LOC)
    • 69 *.html files (2,964 LOC)
    • 54 *.yaml files (1,707 LOC)
    • 15 *.feature files (566 LOC)
    • 7 *.bats files (548 LOC)
    • 13 *.less files (68 LOC)
    • 6 *.css files (53 LOC)
    • 1 *.sh files (24 LOC)
    • 1 *.cjs files (9 LOC)
  • " *.java" is biggest, containing 77.96% of LOC.
  • " *.cjs" is smallest, containing 0% of LOC.


*.java369598 LOC (77%) 3,868 files
*.ts43735 LOC (9%) 460 files
*.snap15751 LOC (3%) 41 files
*.go13222 LOC (2%) 102 files
*.xml12292 LOC (2%) 148 files
*.tsx8074 LOC (1%) 105 files
*.js5505 LOC (1%) 88 files
*.html2964 LOC (<1%) 69 files
*.yaml1707 LOC (<1%) 54 files
*.feature566 LOC (<1%) 15 files
*.bats548 LOC (<1%) 7 files
*.less68 LOC (<1%) 13 files
*.css53 LOC (<1%) 6 files
*.sh24 LOC (<1%) 1 file
*.cjs9 LOC (<1%) 1 file
Generated Code
Automatically generated files, not manually changed after generation.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with any line of content like "// Generated using .*".
  • 1 file matches defined criteria (5,008 LOC, 0.5% vs. main code). All matches are in *.ts files.


*.ts5008 LOC (100%) 1 file
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 ".*/package[.]json".
    • files with paths like ".*([.]|/)webpack([.]|/).*".
    • files with paths like ".*/pom[.]xml".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/pnpm.*[.]ya?ml".
    • files with paths like ".*[.]sh".
    • files with paths like ".*/docker[-]compose[.]yaml".
    • files with paths like ".*[.]dockerfile".
    • files with paths like ".*/jenkins/.*[.]groovy".
    • files with paths like ".*/[.]gitattributes".
  • 351 files match defined criteria (34,325 LOC, 3.7% vs. main code):
    • 236 *.xml files (29,344 LOC)
    • 55 *.js files (2,891 LOC)
    • 54 *.sh files (1,436 LOC)
    • 4 *.ts files (627 LOC)
    • 2 *.yaml files (27 LOC)
  • " *.xml" is biggest, containing 85.49% of LOC.
  • " *.yaml" is smallest, containing 0.08% of LOC.


*.xml29344 LOC (85%) 236 files
*.js2891 LOC (8%) 55 files
*.sh1436 LOC (4%) 54 files
*.ts627 LOC (1%) 4 files
*.yaml27 LOC (<1%) 2 files
Other Code
properties
txt
mdx
xsd
mod
patch
plist
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[.]prettierignore".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*/[.]vscodeignore".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/go[.]mod".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]plist".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[Ss]amples/.*".
    • files with paths like ".*/checkstyle.*".
    • files with paths like ".*/[Dd]emos?/.*".
    • files with paths like ".*[.]mdx".
    • files with paths like ".*/[.]dockerignore".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*/[Dd]ocumentation/.*".
    • files with paths like ".*/resources/.*[.]xsd".
    • files with paths like ".*/[.]eslintignore".
    • files with paths like ".*[.]npmrc".
    • files with paths like ".*[.]patch".
  • 2039 files match defined criteria (185,311 LOC, 19.9% vs. main code):
    • 139 *.svg files (60,464 LOC)
    • 613 *.json files (54,070 LOC)
    • 547 *.properties files (30,183 LOC)
    • 285 *.md files (16,661 LOC)
    • 82 *.java files (5,288 LOC)
    • 56 *.tsx files (4,061 LOC)
    • 60 *.ts files (2,762 LOC)
    • 51 *.txt files (2,335 LOC)
    • 46 *.mdx files (1,991 LOC)
    • 15 *.xml files (1,466 LOC)
    • 33 *.html files (1,391 LOC)
    • 6 *.xsd files (1,063 LOC)
    • 10 *.sql files (950 LOC)
    • 45 *.js files (755 LOC)
    • 18 *.yaml files (755 LOC)
    • 9 *.mod files (573 LOC)
    • 6 *.css files (152 LOC)
    • 6 *.go files (117 LOC)
    • 4 *.less files (105 LOC)
    • 4 *.patch files (48 LOC)
    • 2 *.scss files (47 LOC)
    • 1 *.dockerfile files (40 LOC)
    • 1 *.plist files (34 LOC)
  • " *.svg" is biggest, containing 32.63% of LOC.
  • " *.plist" is smallest, containing 0.02% of LOC.


*.svg60464 LOC (32%) 139 files
*.json54070 LOC (29%) 613 files
*.properties30183 LOC (16%) 547 files
*.md16661 LOC (8%) 285 files
*.java5288 LOC (2%) 82 files
*.tsx4061 LOC (2%) 56 files
*.ts2762 LOC (1%) 60 files
*.txt2335 LOC (1%) 51 files
*.mdx1991 LOC (1%) 46 files
*.xml1466 LOC (<1%) 15 files
*.html1391 LOC (<1%) 33 files
*.xsd1063 LOC (<1%) 6 files
*.sql950 LOC (<1%) 10 files
*.js755 LOC (<1%) 45 files
*.yaml755 LOC (<1%) 18 files
*.mod573 LOC (<1%) 9 files
*.css152 LOC (<1%) 6 files
*.go117 LOC (<1%) 6 files
*.less105 LOC (<1%) 4 files
*.patch48 LOC (<1%) 4 files
*.scss47 LOC (<1%) 2 files
*.dockerfile40 LOC (<1%) 1 file
*.plist34 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 20:03