bazelbuild / rules_kotlin
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 21% duplication:
    • 7,952 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,671 duplicated lines
  • 310 duplicates
system21% (1,671 lines)
Duplication per Extension
bzl29% (1,552 lines)
kt3% (78 lines)
proto14% (41 lines)
Duplication per Component (primary)
src/main/starlark/rkt_1_6100% (256 lines)
src/main/starlark/rkt_1_5100% (256 lines)
src/main/starlark/rkt_1_493% (245 lines)
src/main/starlark/legacy100% (243 lines)
kotlin/internal/jvm11% (222 lines)
kotlin/internal24% (115 lines)
src/main/kotlin/io3% (78 lines)
kotlin/internal/js20% (69 lines)
kotlin20% (52 lines)
src/main/starlark/core8% (43 lines)
src/main/protobuf14% (41 lines)
kotlin/internal/utils11% (25 lines)
src/main/starlark/release14% (13 lines)
src/main/kotlin8% (13 lines)
kotlin/internal/lint0% (0 lines)
src/main/starlark/release_archive0% (0 lines)

Duplication Between Components (50+ lines)

G src/main/starlark/rkt_1_5 src/main/starlark/rkt_1_5 src/main/starlark/rkt_1_6 src/main/starlark/rkt_1_6 src/main/starlark/rkt_1_5--src/main/starlark/rkt_1_6 512 src/main/starlark/rkt_1_4 src/main/starlark/rkt_1_4 src/main/starlark/rkt_1_4--src/main/starlark/rkt_1_5 501 src/main/starlark/rkt_1_4--src/main/starlark/rkt_1_6 501 src/main/starlark/legacy src/main/starlark/legacy src/main/starlark/legacy--src/main/starlark/rkt_1_5 499 src/main/starlark/legacy--src/main/starlark/rkt_1_6 499 src/main/starlark/legacy--src/main/starlark/rkt_1_4 488 kotlin/internal/jvm kotlin/internal/jvm kotlin/internal kotlin/internal kotlin/internal/jvm--kotlin/internal 137 src/main/starlark/core src/main/starlark/core kotlin/internal/jvm--src/main/starlark/core 117 kotlin/internal/utils kotlin/internal/utils kotlin/internal/jvm--kotlin/internal/utils 102 src/main/kotlin src/main/kotlin kotlin/internal/jvm--src/main/kotlin 90 src/main/starlark/release src/main/starlark/release kotlin/internal/jvm--src/main/starlark/release 86 kotlin/internal--src/main/starlark/core 90 kotlin/internal--kotlin/internal/utils 74 kotlin/internal--src/main/kotlin 62 kotlin/internal--src/main/starlark/release 62 kotlin/internal/js kotlin/internal/js kotlin/internal/js--kotlin/internal/jvm 126 kotlin/internal/js--kotlin/internal 93 kotlin/internal/js--src/main/starlark/core 64 kotlin/internal/js--kotlin/internal/utils 51 kotlin kotlin kotlin--kotlin/internal/jvm 122 kotlin--kotlin/internal 92 kotlin--kotlin/internal/js 68 kotlin--src/main/starlark/core 76 kotlin--kotlin/internal/utils 63 kotlin--src/main/kotlin 51 src/main/starlark/core--src/main/starlark/release 50 kotlin/internal/utils--src/main/starlark/core 63 src/main/kotlin--src/main/starlark/core 51

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 310 duplicates...
Size#FoldersFilesLinesCode
161 x 2 src/main/starlark/rkt_1_5/kotlin
src/main/starlark/rkt_1_6/kotlin
opts.bzl
opts.bzl
1:167 (100%)
1:167 (100%)
view
110 x 2 src/main/starlark/legacy/kotlin
src/main/starlark/rkt_1_4/kotlin
opts.bzl
opts.bzl
1:110 (68%)
1:110 (60%)
view
95 x 2 src/main/starlark/rkt_1_5/jvm
src/main/starlark/rkt_1_6/jvm
opts.bzl
opts.bzl
1:103 (100%)
1:103 (100%)
view
90 x 2 src/main/starlark/rkt_1_4/kotlin
src/main/starlark/rkt_1_6/kotlin
opts.bzl
opts.bzl
1:90 (49%)
1:90 (55%)
view
90 x 2 src/main/starlark/legacy/kotlin
src/main/starlark/rkt_1_6/kotlin
opts.bzl
opts.bzl
1:90 (55%)
1:90 (55%)
view
90 x 2 src/main/starlark/rkt_1_4/kotlin
src/main/starlark/rkt_1_5/kotlin
opts.bzl
opts.bzl
1:90 (49%)
1:90 (55%)
view
90 x 2 src/main/starlark/legacy/kotlin
src/main/starlark/rkt_1_5/kotlin
opts.bzl
opts.bzl
1:90 (55%)
1:90 (55%)
view
82 x 2 src/main/starlark/legacy/jvm
src/main/starlark/rkt_1_4/jvm
opts.bzl
opts.bzl
1:90 (100%)
1:90 (100%)
view
53 x 2 src/main/starlark/legacy/kotlin
src/main/starlark/rkt_1_4/kotlin
opts.bzl
opts.bzl
109:167 (32%)
129:187 (29%)
view
45 x 2 src/main/starlark/legacy/jvm
src/main/starlark/rkt_1_6/jvm
opts.bzl
opts.bzl
1:46 (54%)
1:46 (47%)
view
45 x 2 src/main/starlark/rkt_1_4/jvm
src/main/starlark/rkt_1_6/jvm
opts.bzl
opts.bzl
1:46 (54%)
1:46 (47%)
view
45 x 2 src/main/starlark/rkt_1_4/jvm
src/main/starlark/rkt_1_5/jvm
opts.bzl
opts.bzl
1:46 (54%)
1:46 (47%)
view
45 x 2 src/main/starlark/legacy/jvm
src/main/starlark/rkt_1_5/jvm
opts.bzl
opts.bzl
1:46 (54%)
1:46 (47%)
view
40 x 2 src/main/starlark/legacy/kotlin
src/main/starlark/rkt_1_6/kotlin
opts.bzl
opts.bzl
122:167 (24%)
122:167 (24%)
view
40 x 2 src/main/starlark/rkt_1_4/kotlin
src/main/starlark/rkt_1_5/kotlin
opts.bzl
opts.bzl
142:187 (22%)
122:167 (24%)
view
40 x 2 src/main/starlark/legacy/kotlin
src/main/starlark/rkt_1_5/kotlin
opts.bzl
opts.bzl
122:167 (24%)
122:167 (24%)
view
40 x 2 src/main/starlark/rkt_1_4/kotlin
src/main/starlark/rkt_1_6/kotlin
opts.bzl
opts.bzl
142:187 (22%)
122:167 (24%)
view
39 x 2 src/main/starlark/legacy/jvm
src/main/starlark/rkt_1_5/jvm
opts.bzl
opts.bzl
45:90 (47%)
58:103 (41%)
view
39 x 2 src/main/starlark/rkt_1_4/jvm
src/main/starlark/rkt_1_6/jvm
opts.bzl
opts.bzl
45:90 (47%)
58:103 (41%)
view
39 x 2 src/main/starlark/rkt_1_4/jvm
src/main/starlark/rkt_1_5/jvm
opts.bzl
opts.bzl
45:90 (47%)
58:103 (41%)
view