apache / james-mime4j
Components & Dependencies

An overview of source code logical components.

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

Learn more...
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure at level 1 (relative to the source code root).

Bubble Chart | Tree Map
Component Sizes (Lines of Code)
The "primary" logical decomposition has 9 components.
  • 207 files, 15,204 LOC (65.8% vs. main code).
  • "dom" is biggest, containing 49.94% of LOC.
  • "assemble" is smallest, containing 0.47% of LOC.


dom7593 LOC (32%) 108 files
core5421 LOC (23%) 63 files
storage729 LOC (3%) 15 files
benchmark567 LOC (2%) 8 files
mbox267 LOC (1%) 3 files
src253 LOC (1%) 6 files
james-utils204 LOC (<1%) 1 file
ROOT99 LOC (<1%) 1 file
assemble71 LOC (<1%) 2 files
Static Dependencies
Dependencies among components are static code dependencies among files in different components.
  • Analyzed system has 10 links (arrows) between components.
  • The number on the arrow represents the number of files from referring component that depend on files in referred component.
  • These 10 links contain 100 dependencies.
  • There are 2 places (4 links) with cyclic dependencies (20 file dependencies).
G benchmark benchmark core core benchmark->core 7 storage storage benchmark->storage 1 dom dom benchmark->dom 3 assemble assemble ROOT ROOT storage->benchmark 1 storage->core 5 storage->dom 4 mbox mbox james-utils james-utils james-utils->benchmark 1 james-utils->core 1 dom->benchmark 15 dom->core 62 src src


Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details about dependencies...




Component Commits
Components ordered by number of commits
Total Commits per Component
All commits, some commits may include files from multiple components.
dom142 commits (15%)
core133 commits (14%)
src43 commits (4%)
benchmark20 commits (2%)
storage12 commits (1%)
mbox11 commits (1%)
ROOT4 commits (<1%)
assemble4 commits (<1%)
james-utils2 commits (<1%)
Yearly File Updates Trend per Components
The number of file changes in commits
animated commit history: all time cumulative | 12 months window
2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
dom
2
30
34
36
8
53
24
6
438
75
core
3
27
13
1
1
18
2
2
11
35
2
156
61
97
benchmark
7
3
8
7
5
storage
3
1
1
6
23
james-utils
1
1
ROOT
3
1
src
6
1
2
9
15
9
8
5
7
assemble
2
2
mbox
5
1
2
2
6


Dependencies between components in same commits (past 180 days)
The number on the lines shows the number of shared commits.
See detailed temporal dependencies report...

G dom dom core core dom--core 1


2023-08-10 14:11