Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit419c37f

Browse files
authored
Sphinx Plantuml integration (#175)
1 parent7b2ce84 commit419c37f

File tree

17 files changed

+342
-120
lines changed

17 files changed

+342
-120
lines changed

‎.github/workflows/pages.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
-name:Setup
2121
run:|
2222
sudo apt-get install ninja-build doxygen graphviz python3-sphinx
23-
pip install breathe sphinx_rtd_theme furo
23+
pip install breathe sphinx_rtd_theme furo sphinxcontrib-plantuml
2424
2525
-name:Configure CMake
2626
shell:bash
9.41 MB
Binary file not shown.
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,109 @@
11
Project Layout
22
==============
3+
4+
[workspace root]
5+
----------------
6+
7+
* .clang-format
8+
* LLVM style clang format
9+
* .gitmodules
10+
* See ``third_party`` folder for git submodules
11+
* CMakeLists.txt
12+
* Main project level CMakeLists
13+
* Contains all the configurable options for CMake
14+
* CMakePresets.json
15+
* Default configurable options for different presets / compilers
16+
* codecov.yml
17+
* Codecov parameters
18+
* LICENSE
19+
* Apache-2.0 License
20+
* README.md
21+
* Project outline and details
22+
* TODO.md
23+
* TODO list for community interactions
24+
25+
bootstrap
26+
---------
27+
28+
Bootstrap build files to compile the ``build_in_cpp`` project
29+
30+
* Contains build files for compiling ``third_party`` libraries
31+
* Most of them are header only
32+
* ``tiny-process-library`` is the only library that compiles to a static / dynamic library
33+
* Contains build file for ``buildcc`` library compilation
34+
35+
buildcc
36+
--------
37+
38+
Contains the core ``buildcc`` library
39+
40+
* schema
41+
* lib
42+
* env
43+
* toolchain
44+
* target
45+
* args
46+
* targets
47+
* toolchains
48+
* plugins
49+
50+
buildexe
51+
---------
52+
53+
Standalone ``buildcc`` executable for compiling projects in immediate mode or script mode
54+
55+
56+
cmake
57+
-------
58+
59+
Global cmake variables and custom_targets
60+
61+
* coverage
62+
* gcovr.cmake
63+
* lcov.cmake
64+
* flags
65+
* build_flags.cmake
66+
* test_flags.cmake
67+
* target
68+
* flatbuffers.cmake
69+
* fmt.cmake
70+
* spdlog.cmake
71+
* tpl.cmake
72+
* taskflow.cmake
73+
* cli11.cmake
74+
* cpputest.cmake
75+
* tool
76+
* clangtidy.cmake
77+
* cppcheck.cmake
78+
* doxygen.cmake
79+
80+
docs
81+
-----
82+
83+
Project documentation
84+
85+
* arch
86+
* Project / Software architecture documentation
87+
* user_api
88+
* User usable APIs
89+
90+
example
91+
---------
92+
93+
* gcc
94+
* Lowlevel tests for the GCC compiler
95+
* msvc
96+
* Lowlevel tests for the MSVC compiler
97+
* hybrid
98+
* Real world usages with both GCC and MSVC compiler support
99+
100+
third_party
101+
-----------
102+
103+
* Flatbuffers
104+
* Fmtlib
105+
* Spdlog
106+
* CLI11
107+
* Taskflow
108+
* Tiny Process Library
109+
* CppUTest
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,81 @@
11
Software Heirarchy
22
==================
3+
4+
BuildCC single lib
5+
-------------------
6+
7+
**BuildCC** sources are compiled into a single library
8+
9+
..uml::
10+
11+
rectangle Flatbuffers as flatbuffers
12+
rectangle fmt as fmt
13+
rectangle spdlog as spdlog
14+
rectangle Taskflow as taskflow
15+
rectangle CLI11 as cli11
16+
rectangle "tiny-process-library" as tpl
17+
18+
rectangle BuildCC as buildcc
19+
20+
flatbuffers -up-> buildcc
21+
fmt -up-> buildcc
22+
spdlog -up-> buildcc
23+
taskflow -up-> buildcc
24+
cli11 -up-> buildcc
25+
tpl -up-> buildcc
26+
27+
28+
BuildCC interface lib
29+
---------------------
30+
31+
**BuildCC** is broken up into multiple smaller libraries
32+
33+
* This has been done mainly for unit-testing and mocking segregation
34+
* It helps to easily architect the ``BuildCC`` library by visualizing internal dependencies
35+
36+
..uml::
37+
38+
rectangle Flatbuffers as flatbuffers #palegreen
39+
rectangle fmt as fmt #palegreen
40+
rectangle spdlog as spdlog #palegreen
41+
rectangle Taskflow as taskflow #palegreen
42+
rectangle CLI11 as cli11 #palegreen
43+
rectangle "tiny-process-library" as tpl #palegreen
44+
45+
rectangle Environment as env #aliceblue
46+
rectangle Toolchain as toolchain #aliceblue
47+
rectangle Target as target #aliceblue
48+
rectangle "Toolchain specialized" as toolchain_specialized #aliceblue
49+
rectangle "Target specialized" as target_specialized #aliceblue
50+
rectangle Args as args #aliceblue
51+
rectangle Register as register #aliceblue
52+
rectangle "Supported Plugins" as plugins #aliceblue
53+
rectangle BuildCC as buildcc
54+
55+
56+
fmt -up-> env
57+
spdlog .up.> env
58+
tpl .up.> env
59+
60+
flatbuffers .up.> target
61+
taskflow -up-> target
62+
63+
cli11 -up-> args
64+
taskflow -up-> register
65+
66+
env -up-> toolchain
67+
68+
toolchain -up-> target
69+
toolchain -up-> toolchain_specialized
70+
71+
target -up-> target_specialized
72+
73+
target -up-> args
74+
target -up-> register
75+
target -up-> plugins
76+
77+
toolchain_specialized -up-> buildcc
78+
target_specialized -up-> buildcc
79+
args -up-> buildcc
80+
register -up-> buildcc
81+
plugins -up-> buildcc

‎docs/source/arch/style_guide.rst‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Style Guide
2+
============
3+
4+
Defaults
5+
--------
6+
7+
``PascalCase`` for struct, classes and member functions (inside classes and structs)
8+
9+
``snake_case`` for free functions and local function variables
10+
11+
Google Style
12+
------------
13+
14+
``[snake_case_variable_name]``` for public member variables
15+
16+
``[snake_case_variable_name]_`` for private member variables
17+
18+
``k[PascalCaseVariableName]`` constexpr variables and enum / enum classes names
19+
20+
..attention::If you see any wrong usage in the project please raise an issue

‎docs/source/arch/toc.rst‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Architecture
2+
=============
3+
4+
..toctree::
5+
6+
project_layout
7+
software_heirarchy
8+
namespaces
9+
design_patterns
10+
testing
11+
outputs
12+
style_guide

‎docs/source/conf.py‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# add these directories to sys.path here. If the directory is relative to the
1111
# documentation root, use os.path.abspath to make it absolute, like shown here.
1212
#
13-
#import os
13+
importos
1414
# import sys
1515
# sys.path.insert(0, os.path.abspath('.'))
1616

@@ -31,12 +31,16 @@
3131
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
3232
# ones.
3333
extensions= [
34-
"breathe"
34+
"breathe",
35+
"sphinxcontrib.plantuml"
3536
]
3637

3738
breathe_default_project="buildcc_documentation"
3839
breathe_default_members= ("members","undoc-members")
3940

41+
print(f"Current Dir for plantuml jar file:{os.getcwd()}")
42+
plantuml=f"java -jar{os.getcwd()}/_plantuml/plantuml-1.2021.16.jar"
43+
4044
# Add any paths that contain templates here, relative to this directory.
4145
templates_path= ['_templates']
4246

‎docs/source/index.rst‎

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,12 @@ Welcome to BuildCC's documentation!
77
===================================
88

99
..toctree::
10-
:maxdepth:2
10+
:maxdepth:1
1111
:caption:Contents
1212

13-
page/user_api
13+
arch/toc
14+
user_api/toc
1415

15-
..toctree::
16-
:caption:Architecture
17-
18-
arch/project_layout
19-
arch/software_heirarchy
20-
arch/namespaces
21-
arch/design_patterns
22-
arch/testing
23-
arch/outputs
2416

2517
Indices and tables
2618
==================

‎docs/source/page/user_api.rst‎

Lines changed: 0 additions & 106 deletions
This file was deleted.

‎docs/source/user_api/args.rst‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Args
2+
=====
3+
4+
args.h
5+
-------
6+

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp