bazelbuild / rules_docker
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
  • 17% duplication:
    • 11,288 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,024 duplicated lines
  • 2,470 duplicates
system17% (2,024 lines)
Duplication per Extension
bzl20% (1,679 lines)
tpl29% (203 lines)
py5% (56 lines)
yaml36% (48 lines)
go2% (38 lines)
Duplication per Component (primary)
container8% (438 lines)
docker15% (338 lines)
contrib23% (284 lines)
java22% (99 lines)
python365% (89 lines)
python63% (89 lines)
repositories24% (86 lines)
skylib23% (77 lines)
go43% (73 lines)
scala74% (63 lines)
groovy62% (57 lines)
cc49% (57 lines)
kotlin62% (56 lines)
nodejs25% (46 lines)
rust64% (41 lines)
d64% (41 lines)
lang9% (29 lines)
toolchains9% (27 lines)
oci80% (21 lines)
testing16% (13 lines)
stamp0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G container container contrib contrib container--contrib 421 docker docker container--docker 298 skylib skylib container--skylib 251 repositories repositories container--repositories 236 java java container--java 224 go go container--go 224 python3 python3 container--python3 205 python python container--python 205 nodejs nodejs container--nodejs 205 toolchains toolchains container--toolchains 199 oci oci container--oci 187 testing testing container--testing 187 contrib--docker 312 contrib--skylib 245 contrib--repositories 230 contrib--java 200 contrib--go 200 contrib--python3 187 contrib--python 187 contrib--nodejs 187 contrib--toolchains 197 contrib--oci 197 contrib--testing 181 docker--skylib 168 docker--repositories 153 docker--java 123 docker--go 123 docker--python3 110 docker--python 110 docker--nodejs 110 docker--toolchains 120 docker--oci 104 docker--testing 104 skylib--toolchains 102 repositories--skylib 139 java--skylib 109 java--nodejs 97 scala scala java--scala 120 go--skylib 109 go--java 114 go--python3 109 go--python 109 go--nodejs 109 python3--skylib 96 cc cc cc--container 205 cc--contrib 187 cc--docker 110 cc--go 127 python--python3 178 groovy groovy kotlin kotlin groovy--kotlin 112

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 2,470 duplicates...
Size#FoldersFilesLinesCode
32 x 2 java
scala
image.bzl
image.bzl
301:334 (8%)
57:90 (37%)
view
28 x 2 python
python3
image.bzl
image.bzl
103:131 (24%)
98:127 (25%)
view
28 x 2 groovy
kotlin
image.bzl
image.bzl
71:101 (30%)
70:100 (31%)
view
26 x 2 container
contrib
tpl
push-tag.sh.tpl
push-all.sh.tpl
1:29 (96%)
1:28 (59%)
view
19 x 2 java
python
jetty.bzl
python.bzl
1:21 (79%)
1:21 (79%)
view
19 x 2 nodejs
python3
nodejs.bzl
python3.bzl
1:21 (79%)
1:21 (79%)
view
19 x 2 java
python3
jetty.bzl
python3.bzl
1:21 (79%)
1:21 (79%)
view
19 x 2 go
java
go.bzl
jetty.bzl
1:21 (79%)
1:21 (79%)
view
19 x 2 cc
python3
cc.bzl
python3.bzl
1:21 (79%)
1:21 (79%)
view
19 x 2 cc
java
cc.bzl
java.bzl
1:21 (79%)
1:21 (79%)
view
19 x 2 java
python3
java.bzl
python3.bzl
1:21 (79%)
1:21 (79%)
view
19 x 2 go
java
static.bzl
jetty.bzl
1:21 (79%)
1:21 (79%)
view
19 x 2 go
python
go.bzl
python.bzl
1:21 (79%)
1:21 (79%)
view
19 x 2 java
nodejs
jetty.bzl
nodejs.bzl
1:21 (79%)
1:21 (79%)
view
19 x 2 cc
java
cc.bzl
jetty.bzl
1:21 (79%)
1:21 (79%)
view
19 x 2 go
java
static.bzl
java.bzl
1:21 (79%)
1:21 (79%)
view
19 x 2 go
python
static.bzl
python.bzl
1:21 (79%)
1:21 (79%)
view
19 x 2 java
python
java.bzl
python.bzl
1:21 (79%)
1:21 (79%)
view
19 x 2 cc
nodejs
cc.bzl
nodejs.bzl
1:21 (79%)
1:21 (79%)
view
19 x 2 cc
go
cc.bzl
go.bzl
1:21 (79%)
1:21 (79%)
view