Skip to content
This repository was archived by the owner on Apr 13, 2020. It is now read-only.

Commit de4e936

Browse files
authored
[DOC] Design Doc on showing changes in commands between versions (#523)
* [DOC] Design Doc for command changes between versions * Update changesInCommandsOverReleases.md
1 parent 17c331c commit de4e936

File tree

2 files changed

+80
-0
lines changed

2 files changed

+80
-0
lines changed
187 KB
Loading
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Software Design Document
2+
3+
Reference: Operational Document for command changes over releases<br> Authors:
4+
Andre Briggs, Dennis Seah
5+
6+
| Revision | Date | Author | Remarks |
7+
| -------: | ------------ | ----------- | ---------------------------------- |
8+
| 0.1 | Apr-05, 2020 | Dennis Seah | Initial Draft |
9+
| 1.0 | Apr-07, 2020 | Dennis Seah | Bump revision up 1.0 after review. |
10+
11+
## 1. Overview
12+
13+
We have a set of document for each command at
14+
https://catalystcode.github.io/spk/commands. Our users/customers can use this as
15+
a reference for all commands supported in each release. They also need to know
16+
the changes in between releases so that they adapt to these changes (if needed)
17+
accordingly. They can eye-ball for the changes by comparing the document between
18+
releases; and it is tedious. In this document, we discuss how to generate
19+
document to show changes between releases.
20+
21+
## 2. Out of Scope
22+
23+
This design shall only target making user experience better by providing
24+
information on changes in commands between releases based on the artifacts that
25+
we generated for each releases. that's all the `data*.json` files in
26+
https://github.com/CatalystCode/spk/tree/master/docs/commands
27+
28+
## 3. Design Details
29+
30+
### 3.1 Data set
31+
32+
We have a `txt` file that contains all the release numbers and master branch.
33+
https://github.com/CatalystCode/spk/blob/master/docs/commands/releases.txt. We
34+
know the releases to compare by sorting them in descending order. e.g.
35+
36+
```
37+
master
38+
0.6.0
39+
0.5.8
40+
0.5.7
41+
0.5.6
42+
0.5.5
43+
```
44+
45+
That's comparing `master` with `0.6.0` release, `0.6.0` release with `0.5.8`
46+
release, etc.
47+
48+
### 3.2 Comparing releases
49+
50+
We compare two json files for
51+
52+
1. new commands - commands that are in the current and not in previous release.
53+
1. dropped commands - commands that are in the previous and not in current
54+
release.
55+
1. changes in commands
56+
1. new options - options that are added in current release
57+
1. dropped options - options that are removed in current release
58+
1. changed options - options that are changed in current release. for this
59+
design, we only consider change in option alias e.g. `-O --output` to
60+
`-o --output`.
61+
62+
### 3.3 Sample Screenshot
63+
64+
<p style="text-align:center">
65+
<img src="changesInCommands.png" width="600px">
66+
</p>
67+
68+
## 4. Dependencies
69+
70+
None
71+
72+
## 5. Risks & Mitigation
73+
74+
None
75+
76+
## 6. Documentation
77+
78+
None
79+
80+
\- end -

0 commit comments

Comments
 (0)