bazelbuild / rules_apple
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 132 files with 30,674 lines of code.
    • 6 very long files (8,844 lines of code)
    • 11 long files (7,494 lines of code)
    • 17 medium size files (4,908 lines of codeclsfd_ftr_w_mp_ins)
    • 47 small files (6,359 lines of code)
    • 51 very small files (3,069 lines of code)
28% | 24% | 16% | 20% | 10%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
bzl27% | 24% | 15% | 22% | 10%
py36% | 25% | 19% | 9% | 9%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
apple/internal30% | 24% | 16% | 19% | 9%
tools/plisttool71% | 28% | 0% | 0% | 0%
apple0% | 28% | 18% | 34% | 18%
tools/dossier_codesigningtool0% | 100% | 0% | 0% | 0%
tools/codesigningtool0% | 0% | 100% | 0% | 0%
tools/xctoolrunner0% | 0% | 100% | 0% | 0%
tools/bundletool0% | 0% | 50% | 28% | 20%
apple/testing0% | 0% | 0% | 94% | 5%
tools/versiontool0% | 0% | 0% | 58% | 41%
tools/imported_dynamic_framework_processor0% | 0% | 0% | 100% | 0%
tools/provisioning_profile_tool0% | 0% | 0% | 100% | 0%
tools/wrapper_common0% | 0% | 0% | 0% | 100%
tools/swift_stdlib_tool0% | 0% | 0% | 0% | 100%
tools/clangrttool0% | 0% | 0% | 0% | 100%
tools/alticonstool0% | 0% | 0% | 0% | 100%
tools/bitcode_strip0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
ios_rules.bzl
in apple/internal
1999 -
plisttool_unittest.py
in tools/plisttool
1868 146
macos_rules.bzl
in apple/internal
1682 -
rule_factory.bzl
in apple/internal
1175 -
tvos_rules.bzl
in apple/internal
1099 -
xcframework_rules.bzl
in apple/internal
1021 -
watchos_rules.bzl
in apple/internal
870 -
rule_support.bzl
in apple/internal
842 -
plisttool.py
in tools/plisttool
756 50
codesigning_support.bzl
in apple/internal
737 -
processor.bzl
in apple/internal
715 -
resources_support.bzl
in apple/internal/partials/support
676 -
providers.bzl
in apple
664 -
resources.bzl
in apple/internal
650 -
apple_framework_import.bzl
in apple/internal
539 -
dossier_codesigningtool.py
in tools/dossier_codesigningtool
532 34
resources.bzl
in apple/internal/partials
513 -
transition_support.bzl
in apple/internal
454 -
apple_test_bundle_support.bzl
in apple/internal/testing
452 -
debug_symbols.bzl
in apple/internal/partials
382 -
plist.bzl
in apple/internal/resource_actions
346 -
entitlements_support.bzl
in apple/internal
336 -
ios_sim.template.py
in apple/internal/templates
298 29
codesigningtool.py
in tools/codesigningtool
286 18
actool.bzl
in apple/internal/resource_actions
272 -
swift_dylibs.bzl
in apple/internal/partials
269 -
resource_aspect.bzl
in apple/internal/aspects
251 -
codesigning_dossier.bzl
in apple/internal/partials
242 -
versioning.bzl
in apple
236 -
framework_import.bzl
in apple/internal/partials
233 -
xctoolrunner.py
in tools/xctoolrunner
219 13
apple_test_rule_support.bzl
in apple/internal/testing
216 -
bundletool_unittest.py
in tools/bundletool
214 19
macos.bzl
in apple
202 -
framework_header_modulemap.bzl
in apple/internal/partials
200 -
swift_info_support.bzl
in apple/internal
194 -
macos_binary_support.bzl
in apple/internal
191 -
linking_support.bzl
in apple/internal
189 -
apple_support_toolchain.bzl
in apple/internal
185 -
ibtool.bzl
in apple/internal/resource_actions
178 -
embedded_bundles.bzl
in apple/internal/partials
174 -
apple_binary.bzl
in apple
172 -
resources.bzl
in apple
169 -
platform_support.bzl
in apple/internal
159 -
bundling_support.bzl
in apple/internal
158 -
bitcode_symbols.bzl
in apple/internal/partials
149 -
outputs.bzl
in apple/internal
146 -
apple_core_ml_library.bzl
in apple/internal/resource_rules
143 -
ios.bzl
in apple
143 -
datamodel.bzl
in apple/internal/resource_actions
139 -
Files With Most Units (Top 19)
File# lines# units
plisttool_unittest.py
in tools/plisttool
1868 146
plisttool.py
in tools/plisttool
756 50
dossier_codesigningtool.py
in tools/dossier_codesigningtool
532 34
ios_sim.template.py
in apple/internal/templates
298 29
bundletool_unittest.py
in tools/bundletool
214 19
codesigningtool.py
in tools/codesigningtool
286 18
bundletool_experimental.py
in tools/bundletool
123 14
xctoolrunner.py
in tools/xctoolrunner
219 13
versiontool_unittest.py
in tools/versiontool
133 10
versiontool.py
in tools/versiontool
94 8
provisioning_profile_tool.py
in tools/provisioning_profile_tool
110 8
bundletool.py
in tools/bundletool
88 7
alticonstool.py
in tools/alticonstool
40 5
imported_dynamic_framework_processor.py
in tools/imported_dynamic_framework_processor
122 5
clangrttool.py
in tools/clangrttool
65 4
swift_stdlib_tool.py
in tools/swift_stdlib_tool
75 3
lipo.py
in tools/wrapper_common
40 2
execute.py
in tools/wrapper_common
68 2
bitcode_strip.py
in tools/bitcode_strip
15 1
Files With Long Lines (Top 18)

There are 18 files with lines longer than 120 characters. In total, there are 27 long lines.

File# lines# units# long lines
dossier_codesigningtool.py
in tools/dossier_codesigningtool
532 34 3
transition_support.bzl
in apple/internal
454 - 3
macos_test_runner.bzl
in apple/testing/default_runner
123 - 2
apple_framework_import.bzl
in apple/internal
539 - 2
codesigning_support.bzl
in apple/internal
737 - 2
rule_factory.bzl
in apple/internal
1175 - 2
xcframework_rules.bzl
in apple/internal
1021 - 2
plisttool.py
in tools/plisttool
756 50 1
codesigningtool.py
in tools/codesigningtool
286 18 1
watchos_rules.bzl
in apple/internal
870 - 1
apple_symbols_file.bzl
in apple/internal/partials
137 - 1
framework_import.bzl
in apple/internal/partials
233 - 1
macos_rules.bzl
in apple/internal/testing
96 - 1
ios_rules.bzl
in apple/internal/testing
107 - 1
tvos_rules.bzl
in apple/internal/testing
107 - 1
outputs.bzl
in apple/internal
146 - 1
tvos_rules.bzl
in apple/internal
1099 - 1
repositories.bzl
in apple
132 - 1