Skip to content

Commit b5b61d4

Browse files
authored
Build modularization (#2893)
This change is to improve build modularization/interdependence between multiple API's, which speeds up builds, making changes. Now small changes in those new libs should not trigger whole rebuild, and changes in unrelated dependencies (included in lib_ovms like opencv) should not trigger rebuild of model instance. Compilation time per translation unit is also be much smaller since there is much less inlcude files & compilation parameters per unit. Most of changes is moving code around with adding few interfaces: * Add servable change notification interface Servable/NotifyReceiver (for better independence of DAG/Model Instance) * Add RequestProcessor interface (for handling Stateful Models) * Add RequestTraits for extracting associated types related to appropriate API * clang-format header reordering turn off Due to using templates in serialization/deserialization, parts of the code depend on header ordering so headers reordering was turned off in clang-format. Ideally we would have one header for serialization/deserialization with templates for which specialization need to be provided for specific API (KFS/TFS/CAPI). * ovms_lib was splited into several smaller libs This is work TBC as there is some work left to do with DAGs. So far we used convention to name libraries(cc_library name field) libovms_NAME, but in result this produces liblibovms_NAME.so so in this change I started using just NAME. OVMS prefix is also unnecessary since even when including our libs from other repository like Mediapipe you already prefix it with name of repo (@ovms//src:). * Fixed FP16 opencv binary inputs handling There are still few FIXME/TODOS but the most important ones are resolved. Custom loaders/Stateful tests are removed since this feature is to be dropped anyway. Ticket:CVS-162989
1 parent 0698c26 commit b5b61d4

File tree

109 files changed

+6826
-3877
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+6826
-3877
lines changed

.clang-format

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,9 @@ PenaltyExcessCharacter: 1000000
8080
PenaltyReturnTypeOnItsOwnLine: 60
8181
PointerAlignment: Left
8282
ReflowComments: true
83-
SortIncludes: true
83+
# TODO @atobisze after modularization
84+
# try to switch back at some point
85+
SortIncludes: false
8486
SpaceAfterCStyleCast: false
8587
SpaceBeforeAssignmentOperators: true
8688
SpaceBeforeParens: ControlStatements

Dockerfile.ubuntu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ RUN apt-get update && apt-get install --no-install-recommends -y \
119119
python3-pip \
120120
unzip \
121121
gdb \
122+
tree \
122123
vim && \
123124
apt-get clean && \
124125
rm -rf /var/lib/apt/lists/*

0 commit comments

Comments
 (0)