apache / james-project
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 15 components.
  • 3,978 files, 271,968 LOC (78.5% vs. main code).
  • "server" is biggest, containing 52% of LOC.
  • "testing" is smallest, containing 0.01% of LOC.


server141429 LOC (40%) 2,188 files
mailbox48805 LOC (14%) 644 files
protocols27543 LOC (7%) 492 files
src19939 LOC (5%) 154 files
mailet11924 LOC (3%) 183 files
mpt8087 LOC (2%) 116 files
backends-common7542 LOC (2%) 78 files
event-bus2432 LOC (<1%) 43 files
core1623 LOC (<1%) 18 files
mdn1365 LOC (<1%) 18 files
event-sourcing511 LOC (<1%) 21 files
metrics409 LOC (<1%) 14 files
json277 LOC (<1%) 4 files
javax-mail-extension52 LOC (<1%) 3 files
testing30 LOC (<1%) 2 files
Static Dependencies
Dependencies among components are static code dependencies among files in different components.
  • Analyzed system has 46 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 46 links contain 2211 dependencies.
  • There are 8 places (16 links) with cyclic dependencies (933 file dependencies).
G metrics metrics server server metrics->server 2 core core mpt mpt mpt->core 24 mailbox mailbox mpt->mailbox 12 mpt->server 12 protocols protocols mpt->protocols 4 mailbox->metrics 4 mailbox->core 159 backends-common backends-common mailbox->backends-common 81 mailbox->server 121 mailet mailet mailbox->mailet 2 json json mailbox->json 28 event-sourcing event-sourcing mailbox->event-sourcing 17 event-bus event-bus mailbox->event-bus 23 javax-mail-extension javax-mail-extension backends-common->metrics 1 backends-common->core 8 backends-common->server 13 backends-common->json 2 server->metrics 76 server->core 395 server->mailbox 217 server->javax-mail-extension 3 server->backends-common 106 server->mailet 154 mdn mdn server->mdn 8 server->json 80 server->event-sourcing 59 server->event-bus 43 server->protocols 104 mailet->metrics 1 mailet->core 67 mailet->mailbox 2 mailet->javax-mail-extension 3 mailet->backends-common 1 mailet->server 2 mdn->core 1 mdn->javax-mail-extension 1 mdn->server 1 testing testing event-bus->metrics 4 event-bus->core 11 event-bus->backends-common 13 event-bus->server 9 protocols->metrics 72 protocols->core 107 protocols->mailbox 77 protocols->server 73 protocols->event-bus 8 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.
server3939 commits (26%)
mailbox2087 commits (14%)
protocols828 commits (5%)
src633 commits (4%)
mailet380 commits (2%)
backends-common275 commits (1%)
mpt186 commits (1%)
core76 commits (<1%)
event-bus50 commits (<1%)
metrics46 commits (<1%)
mdn41 commits (<1%)
event-sourcing33 commits (<1%)
json22 commits (<1%)
testing11 commits (<1%)
javax-mail-extension3 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
server
850
1434
2388
2282
2167
1457
1228
754
488
protocols
74
800
259
253
1189
362
902
437
574
mailbox
153
575
572
1059
1312
746
1305
872
218
src
42
143
214
66
111
156
191
125
1
4
10
26
1
15
11
backends-common
11
103
78
88
100
49
44
8
17
mailet
21
60
43
74
82
193
454
182
126
event-bus
3
68
127
event-sourcing
12
10
7
17
32
1
mpt
5
15
40
25
45
85
246
69
92
core
1
15
6
16
25
39
2
testing
4
1
2
4
metrics
4
9
25
16
16
18
json
1
4
26
javax-mail-extension
3
mdn
9
3
15
79


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 server server server--server 111 mailbox mailbox server--mailbox 13 event-sourcing event-sourcing server--event-sourcing 3 mpt mpt server--mpt 1 backends-common backends-common server--backends-common 1 mailbox--mailbox 22 mailbox--event-sourcing 1 mailbox--backends-common 1 src src src--server 11 src--mailbox 3 src--src 5 src--backends-common 1 protocols protocols protocols--server 9 protocols--mailbox 4 protocols--protocols 9 protocols--mpt 1 mailet mailet mailet--server 6 mailet--mailbox 1 mailet--mailet 4 event-sourcing--event-sourcing 2 mpt--mailbox 1 mpt--mpt 1


2023-08-10 15:53