-
Notifications
You must be signed in to change notification settings - Fork 5
/
development-workflow.puml
91 lines (60 loc) · 2.33 KB
/
development-workflow.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
@startuml
skinparam {
shadowing false
arrowColor #46749F
RectangleBorderColor #CCCCCC
RectangleBackgroundColor #F5F2F0
ComponentBorderColor #46749F
ComponentBackgroundColor #E5ECF0
UsecaseBorderColor #46749F
UsecaseBackgroundColor #E5ECF0
ControlBorderColor #0081C6
ControlBackgroundColor #55DDCA
frameBorderColor #0081C6
packageBorderColor #0081C6
AgentBorderColor #468847
AgentBackgroundColor #DFF0D8
}
rectangle {
control "<size:18>Dart \n <size:18>Project" as devProject
component [Intellij \nWebStorm \nVS Code \nAtom] as ides [[https://www.dartlang.org/tools#ides]]
ides <-> devProject
}
cloud "packages" as pubRepo {
storage "pub repository" [[https://pub.dartlang.org/]]
}
package Browser {
component [localhost:8091 \ndev web server] as devServer
agent observatory [[https://dart-lang.github.io/observatory/]]
file "web app \nartifact" as webApp
}
package "Dart VM" as dartVM #E5ECF0 {
file "VM app" as vmApp
}
agent "pub get \npub deps\npub upgrade" as pubDependencies [[https://www.dartlang.org/tools/pub]]
usecase "<size:18>Start" as newProject
agent stagehand [[http://stagehand.pub/]]
agent "dart anazyler" as dartAnazyler [[https://www.dartlang.org/tools/analyzer]]
agent dartfmt [[https://pub.dartlang.org/packages/dart_style]]
agent "pub serve" as pubServe [[https://webdev.dartlang.org/tools/pub/pub-serve]]
agent "pub run \npub global" as pubRun [[https://www.dartlang.org/tools/pub/cmd/pub-run]]
agent "pub build" as pubBuild [[https://webdev.dartlang.org/tools/pub/pub-build]]
agent "pub run test" as pubTest [[https://pub.dartlang.org/packages/test]]
newProject --> stagehand
devProject <-up- stagehand: create \nproject \nfrom \ntemplate
devProject <-left-> dartfmt: format \ndart \nsource
devProject -> pubServe: develop \nweb app
pubServe -> devServer
devProject <-up-> dartAnazyler: static \nanalysis \nlint
devServer <-right-> observatory: profile \nfind leaks
devProject <--> pubBuild: build \nweb app
devProject -> pubRun: Run \ncmd line \napp
devProject <-left-> pubDependencies: Manage \nlibraries \nand assets
pubBuild -> webApp
pubRepo <- pubDependencies
pubRun -> vmApp
observatory <-> dartVM: profile \nfind leaks
devProject -> pubTest: run unit tests
pubTest -> devServer: browser \n tests
pubTest -> dartVM: VM \n tests
@enduml