bazelbuild / rules_closure
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
  • 7% duplication:
    • 9,909 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 752 duplicated lines
  • 279 duplicates
system7% (752 lines)
Duplication per Extension
java6% (356 lines)
bzl9% (333 lines)
proto19% (57 lines)
soy12% (6 lines)
Duplication per Component (primary)
javatests/io15% (342 lines)
closure5% (73 lines)
java/io2% (70 lines)
closure/compiler8% (66 lines)
closure/webfiles17% (55 lines)
closure/private10% (39 lines)
closure/templates10% (39 lines)
closure/stylesheets18% (32 lines)
closure/protobuf15% (29 lines)
java/com<1% (7 lines)
closure/testing0% (0 lines)
javatests/com0% (0 lines)
javatests/org0% (0 lines)
java/org0% (0 lines)

Duplication Between Components (50+ lines)

G closure closure closure/webfiles closure/webfiles closure--closure/webfiles 110 closure/templates closure/templates closure--closure/templates 76 closure/stylesheets closure/stylesheets closure--closure/stylesheets 64 closure/compiler closure/compiler closure/compiler--closure 89 closure/compiler--closure/webfiles 77 closure/compiler--closure/templates 91 closure/private closure/private closure/compiler--closure/private 90 closure/compiler--closure/stylesheets 77 closure/protobuf closure/protobuf closure/compiler--closure/protobuf 76 closure/templates--closure/webfiles 64 closure/private--closure 77 closure/private--closure/webfiles 65 closure/private--closure/templates 77 closure/private--closure/stylesheets 65 closure/private--closure/protobuf 64 closure/stylesheets--closure/webfiles 64 closure/stylesheets--closure/templates 64 closure/protobuf--closure 63 closure/protobuf--closure/webfiles 51 closure/protobuf--closure/templates 63 closure/protobuf--closure/stylesheets 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 279 duplicates...
Size#FoldersFilesLinesCode
15 x 2 java/io/bazel/rules/closure
java/io/bazel/rules/closure/webfiles/server
proto
build_info.proto
build_info.proto
1:17 (26%)
1:17 (35%)
view
14 x 2 closure/protobuf
closure/protobuf
closure_js_proto_library.bzl
closure_proto_library.bzl
2:16 (18%)
2:16 (12%)
view
14 x 2 java/io/bazel/rules/closure
java/io/bazel/rules/closure/webfiles
proto
build_info.proto
build_info.proto
2:17 (24%)
2:17 (9%)
view
14 x 2 javatests/io/bazel/rules/closure/webfiles
javatests/io/bazel/rules/closure/webfiles
WebfilesValidatorTest.java
WebfilesValidatorTest.java
256:269 (4%)
277:290 (4%)
view
14 x 2 java/io/bazel/rules/closure/webfiles
java/io/bazel/rules/closure/webfiles/server
proto
build_info.proto
build_info.proto
2:17 (9%)
2:17 (33%)
view
13 x 2 closure/protobuf
closure
closure_js_proto_library.bzl
repositories.bzl
1:13 (17%)
1:13 (1%)
view
13 x 2 closure/protobuf
closure/templates
closure_js_proto_library.bzl
closure_js_template_library.bzl
1:13 (17%)
1:13 (8%)
view
13 x 2 closure/private
closure
deb_extract.bzl
repositories.bzl
1:13 (39%)
1:13 (1%)
view
13 x 2 closure
closure/webfiles
defs.bzl
web_library_external.bzl
1:13 (27%)
1:13 (13%)
view
13 x 2 closure/compiler
closure/webfiles
closure_js_library.bzl
web_library_external.bzl
1:13 (3%)
1:13 (13%)
view
13 x 2 closure/stylesheets
closure/webfiles
closure_css_binary.bzl
web_library_external.bzl
1:13 (10%)
1:13 (13%)
view
13 x 2 closure/private
closure/stylesheets
defs.bzl
closure_css_binary.bzl
1:13 (4%)
1:13 (10%)
view
13 x 2 closure/compiler
closure/templates
closure_js_aspect.bzl
closure_java_template_library.bzl
1:13 (35%)
1:13 (6%)
view
13 x 2 closure/private
closure/webfiles
platform_http_file.bzl
web_library.bzl
1:13 (30%)
1:13 (5%)
view
13 x 2 closure/private
closure/stylesheets
platform_http_file.bzl
closure_css_binary.bzl
1:13 (30%)
1:13 (10%)
view
13 x 2 closure/compiler
closure/webfiles
closure_js_library.bzl
web_library.bzl
1:13 (3%)
1:13 (5%)
view
13 x 2 closure/protobuf
closure/webfiles
closure_js_proto_library.bzl
web_library_external.bzl
1:13 (17%)
1:13 (13%)
view
13 x 2 closure/compiler
closure/protobuf
closure_js_aspect.bzl
closure_js_proto_library.bzl
1:13 (35%)
1:13 (17%)
view
13 x 2 closure/compiler
closure
closure_js_library.bzl
repositories.bzl
1:13 (3%)
1:13 (1%)
view
13 x 2 closure/private
closure/webfiles
defs.bzl
web_library.bzl
1:13 (4%)
1:13 (5%)
view
Duplicated Units
The list of top 5 duplicated units.
See data for all 5 unit duplicates...
Size#FoldersFilesLinesCode
13 x 2 javatests/io/bazel/rules/closure/webfiles
javatests/io/bazel/rules/closure/webfiles
WebfilesValidatorTest.java
WebfilesValidatorTest.java
161:174 
177:190 
view
9 x 2 javatests/io/bazel/rules/closure/http
javatests/io/bazel/rules/closure/http
ProducersExample.java
HttpServerTest.java
159:168 
180:189 
view
7 x 2 javatests/io/bazel/rules/closure
javatests/io/bazel/rules/closure
WebpathTest.java
WebpathTest.java
101:108 
161:168 
view
7 x 2 javatests/io/bazel/rules/closure
javatests/io/bazel/rules/closure
WebpathTest.java
WebpathTest.java
575:582 
585:592 
view
6 x 2 java/com/google/javascript/jscomp
java/io/bazel/rules/closure/webfiles
JsCompiler.java
WebfilesValidatorProgram.java
80:86 
74:80 
view