opensearch-project / opensearch-build
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
  • 33% duplication:
    • 5,121 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,730 duplicated lines
  • 656 duplicates
system33% (1,730 lines)
Duplication per Extension
yml62% (1,188 lines)
py20% (542 lines)
Duplication per Component (primary)
src/manifests45% (351 lines)
manifests/1.0.178% (168 lines)
manifests/1.1.051% (144 lines)
manifests/1.0.091% (134 lines)
manifests/1.2.462% (114 lines)
manifests/1.3.057% (112 lines)
manifests/1.2.054% (108 lines)
manifests/1.1.151% (106 lines)
manifests/1.2.363% (92 lines)
manifests/1.2.163% (92 lines)
manifests/1.2.263% (92 lines)
src/assemble_workflow16% (52 lines)
src/build_workflow9% (37 lines)
src/ci_workflow11% (35 lines)
src/system11% (28 lines)
src/manifests_workflow5% (17 lines)
src/checkout_workflow66% (12 lines)
src7% (10 lines)
config90% (9 lines)
docker/release64% (9 lines)
manifests/2.0.024% (8 lines)
src/git0% (0 lines)
src/sign_workflow0% (0 lines)
src/paths0% (0 lines)
vars0% (0 lines)
deployment/lib0% (0 lines)
deployment0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G manifests/1.0.0 manifests/1.0.0 manifests/1.0.1 manifests/1.0.1 manifests/1.0.0--manifests/1.0.1 238 manifests/1.2.4 manifests/1.2.4 manifests/1.0.0--manifests/1.2.4 168 manifests/1.3.0 manifests/1.3.0 manifests/1.0.0--manifests/1.3.0 164 manifests/1.1.0 manifests/1.1.0 manifests/1.0.0--manifests/1.1.0 168 manifests/1.1.1 manifests/1.1.1 manifests/1.0.0--manifests/1.1.1 168 manifests/1.2.0 manifests/1.2.0 manifests/1.0.0--manifests/1.2.0 168 manifests/1.2.3 manifests/1.2.3 manifests/1.0.0--manifests/1.2.3 168 manifests/1.2.1 manifests/1.2.1 manifests/1.0.0--manifests/1.2.1 168 manifests/1.2.2 manifests/1.2.2 manifests/1.0.0--manifests/1.2.2 168 manifests/1.0.1--manifests/1.2.4 168 manifests/1.0.1--manifests/1.3.0 164 manifests/1.0.1--manifests/1.1.0 168 manifests/1.0.1--manifests/1.1.1 168 manifests/1.0.1--manifests/1.2.0 168 manifests/1.0.1--manifests/1.2.3 168 manifests/1.0.1--manifests/1.2.1 168 manifests/1.0.1--manifests/1.2.2 168 manifests/1.2.4--manifests/1.3.0 208 manifests/1.1.0--manifests/1.2.4 190 manifests/1.1.0--manifests/1.3.0 186 manifests/1.1.0--manifests/1.1.1 206 manifests/1.1.0--manifests/1.2.0 200 manifests/1.1.0--manifests/1.2.3 168 manifests/1.1.0--manifests/1.2.1 168 manifests/1.1.0--manifests/1.2.2 168 manifests/1.1.1--manifests/1.2.4 168 manifests/1.1.1--manifests/1.3.0 164 manifests/1.1.1--manifests/1.2.0 206 manifests/1.1.1--manifests/1.2.3 168 manifests/1.1.1--manifests/1.2.1 168 manifests/1.1.1--manifests/1.2.2 168 manifests/1.2.0--manifests/1.2.4 184 manifests/1.2.0--manifests/1.3.0 164 manifests/1.2.0--manifests/1.2.3 184 manifests/1.2.0--manifests/1.2.1 184 manifests/1.2.0--manifests/1.2.2 184 manifests/1.2.3--manifests/1.2.4 184 manifests/1.2.3--manifests/1.3.0 164 manifests/1.2.1--manifests/1.2.4 184 manifests/1.2.1--manifests/1.3.0 164 manifests/1.2.1--manifests/1.2.3 184 manifests/1.2.1--manifests/1.2.2 184 manifests/1.2.2--manifests/1.2.4 184 manifests/1.2.2--manifests/1.3.0 164 manifests/1.2.2--manifests/1.2.3 184 src/build_workflow src/build_workflow src/ci_workflow src/ci_workflow src/build_workflow--src/ci_workflow 70

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 656 duplicates...
Size#FoldersFilesLinesCode
84 x 2 manifests/1.2.0
manifests/1.2.3
opensearch-1.2.0-test.yml
opensearch-1.2.3-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.1.0
manifests/1.2.2
opensearch-1.1.0-test.yml
opensearch-1.2.2-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.0.0
manifests/1.2.1
opensearch-1.0.0-test.yml
opensearch-1.2.1-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.2.3
manifests/1.2.4
opensearch-1.2.3-test.yml
opensearch-1.2.4-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.1.1
manifests/1.2.2
opensearch-1.1.1-test.yml
opensearch-1.2.2-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.2.1
manifests/1.2.3
opensearch-1.2.1-test.yml
opensearch-1.2.3-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.0.1
manifests/1.2.1
opensearch-1.0.1-test.yml
opensearch-1.2.1-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.2.1
manifests/1.2.4
opensearch-1.2.1-test.yml
opensearch-1.2.4-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.0.1
manifests/1.2.2
opensearch-1.0.1-test.yml
opensearch-1.2.2-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.2.2
manifests/1.2.4
opensearch-1.2.2-test.yml
opensearch-1.2.4-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.1.0
manifests/1.2.3
opensearch-1.1.0-test.yml
opensearch-1.2.3-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.2.0
manifests/1.2.4
opensearch-1.2.0-test.yml
opensearch-1.2.4-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.1.0
manifests/1.2.1
opensearch-1.1.0-test.yml
opensearch-1.2.1-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.0.0
manifests/1.2.0
opensearch-1.0.0-test.yml
opensearch-1.2.0-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.1.0
manifests/1.1.1
opensearch-1.1.0-test.yml
opensearch-1.1.1-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.1.1
manifests/1.2.3
opensearch-1.1.1-test.yml
opensearch-1.2.3-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.0.1
manifests/1.2.0
opensearch-1.0.1-test.yml
opensearch-1.2.0-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.1.1
manifests/1.2.0
opensearch-1.1.1-test.yml
opensearch-1.2.0-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.0.0
manifests/1.2.3
opensearch-1.0.0-test.yml
opensearch-1.2.3-test.yml
1:91 (100%)
1:91 (100%)
view
84 x 2 manifests/1.2.0
manifests/1.2.1
opensearch-1.2.0-test.yml
opensearch-1.2.1-test.yml
1:91 (100%)
1:91 (100%)
view
Duplicated Units
The list of top 5 duplicated units.
See data for all 5 unit duplicates...
Size#FoldersFilesLinesCode
11 x 2 src/build_workflow
src/ci_workflow
build_args.py
ci_args.py
0:0 
0:0 
view
8 x 3 src/manifests/build
src/manifests/build
src/manifests
build_manifest_1_0.py
build_manifest_1_1.py
build_manifest.py
0:0 
0:0 
0:0 
view
7 x 2 src/manifests
src/manifests/bundle
bundle_manifest.py
bundle_manifest_1_0.py
0:0 
0:0 
view
6 x 2 src/manifests/build
src/manifests/build
build_manifest_1_0.py
build_manifest_1_1.py
0:0 
0:0 
view
6 x 3 src/manifests/build
src/manifests/build
src/manifests
build_manifest_1_0.py
build_manifest_1_1.py
build_manifest.py
0:0 
0:0 
0:0 
view