diff options
author | Yuuta Liang <yuutaw@student.cs.ubc.ca> | 2023-11-28 21:00:25 -0800 |
---|---|---|
committer | Yuuta Liang <yuutaw@student.cs.ubc.ca> | 2023-11-28 21:00:25 -0800 |
commit | c992db275494b05627248cd741adac5d7c199603 (patch) | |
tree | f259bb943512007cbc9b50ddf8013d6e3f8b9008 /README.md | |
parent | 1073af21305360bd33903c533cdac57e9f936294 (diff) | |
download | jca-c992db275494b05627248cd741adac5d7c199603.tar jca-c992db275494b05627248cd741adac5d7c199603.tar.gz jca-c992db275494b05627248cd741adac5d7c199603.tar.bz2 jca-c992db275494b05627248cd741adac5d7c199603.zip |
Add UML generator
Signed-off-by: Yuuta Liang <yuutaw@student.cs.ubc.ca>
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -101,6 +101,30 @@ Tue Nov 28 11:53:01 PST 2023 - yuuta: Certificate 1 is revoked with reason KEY_C Tue Nov 28 11:53:06 PST 2023 - yuuta: Signed CRL with 1 revoked certs. ``` +## Phase 4: Task 3 + +[View complete UML diagram (may be too complex to read)](img/uml.all.pdf) | +[View type hierarchy only](img/uml.type.pdf) | +[View associations only](img/uml.assoc.pdf) + +## A note on UML + +The above UML diagrams are generated using a simple tool called UMLGen, and its source is located in the `umlgen/` +directory. I am the author of the tool. The tool uses JavaParser to parse Java syntax into AST, and it generates Graphviz +dot files using Apache Freemarker. The dot files are then rendered into the above PDFs using Graphviz. The whole process +is driven by Gradle. + +To generate the files again, run the following command: (`dot(1)` and `gradle(1)` must present in PATH) + +```shell +gradle uml +``` + +Please note that both codes in `umlgen/` and Gradle build scripts `*.gradle` are NOT part of the project submission. +They do not subject to project requirements as they are not part of the project at all, either tests or UI. They are only +local build tools. The project (both tests and UI) runs perfectly without any of these files. To run the project, clone it +in IntelliJ Idea and press the green triangle in `Main`. + ## Author Yuuta Liang <yuutaw@student.ubc.ca> |