ubc

Tool: ubc TOOL_UBC
status: in_progress
style: blue_bar

Command-line tool for checking and formating certain rules in sphinx and rst-based files.

Little brother of ubCode (TOOL_UBCODE).

Commercial tool

Documentation:

https://ubcode.useblocks.com/ubc/introduction.html

Analysis

@startuml

' Nodes definition 

file "<size:12>Artifact</size>\n**ubc needs.json**\n**file**\n<size:10>ART_UBC_NEEDS_JSON</size>" as ART_UBC_NEEDS_JSON [[../tools/ubc/artifacts.html#ART_UBC_NEEDS_JSON]] #LightBlue
rectangle "<size:12>Feature</size>\n**Check rst files**\n**for linting**\n**problems**\n<size:10>FE_UBC_LINTING</size>" as FE_UBC_LINTING [[../tools/ubc/features.html#FE_UBC_LINTING]] #Gold{
'child needs:
rectangle "<size:12>Error</size>\n**Not covered**\n**format**\n<size:10>ER_UBC_LINTING_NOT_COVERED</size>" as ER_UBC_LINTING_NOT_COVERED [[../tools/ubc/features.html#ER_UBC_LINTING_NOT_COVERED]] #Pink
}
rectangle "<size:12>Feature</size>\n**Format rst**\n**files**\n<size:10>FE_UBC_FORMAT</size>" as FE_UBC_FORMAT [[../tools/ubc/features.html#FE_UBC_FORMAT]] #Gold{
'child needs:
rectangle "<size:12>Error</size>\n**Format**\n**introduces**\n**errors**\n<size:10>ER_UBC_FORMAT_ERRORS</size>" as ER_UBC_FORMAT_ERRORS [[../tools/ubc/features.html#ER_UBC_FORMAT_ERRORS]] #Pink
}
rectangle "<size:12>Feature</size>\n**Clean internal**\n**caches**\n<size:10>FE_UBC_CACHE</size>" as FE_UBC_CACHE [[../tools/ubc/features.html#FE_UBC_CACHE]] #Gold
rectangle "<size:12>Feature</size>\n**Build**\n**needs.json**\n<size:10>FE_UBC_BUILD_JSON</size>" as FE_UBC_BUILD_JSON [[../tools/ubc/features.html#FE_UBC_BUILD_JSON]] #Gold{
'child needs:
rectangle "<size:12>Error</size>\n**Incomplete data**\n<size:10>ER_UBC_JSON_INCOMPLETE</size>" as ER_UBC_JSON_INCOMPLETE [[../tools/ubc/features.html#ER_UBC_JSON_INCOMPLETE]] #Pink
}
rectangle "<size:12>Feature</size>\n**Validate**\n**needs.json**\n<size:10>FE_UBC_VALIDATE_JSON</size>" as FE_UBC_VALIDATE_JSON [[../tools/ubc/features.html#FE_UBC_VALIDATE_JSON]] #Gold{
'child needs:
rectangle "<size:12>Error</size>\n**Unknown file**\n**format**\n<size:10>ER_UBC_VAL_FORMAT</size>" as ER_UBC_VAL_FORMAT [[../tools/ubc/features.html#ER_UBC_VAL_FORMAT]] #Pink
rectangle "<size:12>Error</size>\n**Incomplete**\n**Validation**\n<size:10>ER_UBC_VAL_INCOMPLETE</size>" as ER_UBC_VAL_INCOMPLETE [[../tools/ubc/features.html#ER_UBC_VAL_INCOMPLETE]] #Pink
}
node "<size:12>Tool</size>\n**ubc**\n<size:10>TOOL_UBC</size>" as TOOL_UBC [[../tools/ubc/index.html#TOOL_UBC]] #0fbcf9
rectangle "<size:12>Restriction</size>\n**Do not use**\n**dynamic**\n**functions**\n<size:10>CHECK_UBC_NO_DYN</size>" as CHECK_UBC_NO_DYN [[../tools/ubc/restrictions.html#CHECK_UBC_NO_DYN]] #Orange
rectangle "<size:12>Restriction</size>\n**Do not use**\n**list2needs**\n<size:10>CHECK_UBC_NO_LIST2NEEDS</size>" as CHECK_UBC_NO_LIST2NEEDS [[../tools/ubc/restrictions.html#CHECK_UBC_NO_LIST2NEEDS]] #Orange
rectangle "<size:12>Restriction</size>\n**Do not**\n**use/reference**\n**rst files**\n**outside the**\n**ubproject**\n**workspace/scope**\n<size:10>CHECK_UBC_RST_WORKSPACE</size>" as CHECK_UBC_RST_WORKSPACE [[../tools/ubc/restrictions.html#CHECK_UBC_RST_WORKSPACE]] #Orange

' Connection definition 

FE_UBC_LINTING -[#333333]-> TOOL_UBC
FE_UBC_FORMAT -[#333333]-> TOOL_UBC
FE_UBC_CACHE -[#333333]-> TOOL_UBC
FE_UBC_BUILD_JSON -[thickness=1,#0000AA]-> ART_UBC_NEEDS_JSON
FE_UBC_BUILD_JSON -[#333333]-> TOOL_UBC
FE_UBC_VALIDATE_JSON <-[thickness=1,#00AA00]- ART_UBC_NEEDS_JSON
FE_UBC_VALIDATE_JSON -[#333333]-> TOOL_UBC
CHECK_UBC_NO_DYN -[#FA8072]-> ER_UBC_JSON_INCOMPLETE
CHECK_UBC_NO_LIST2NEEDS -[#FA8072]-> ER_UBC_JSON_INCOMPLETE
CHECK_UBC_RST_WORKSPACE -[#FA8072]-> ER_UBC_JSON_INCOMPLETE

@enduml

ID

Title

Type

ART_UBC_NEEDS_JSON

ubc needs.json file

artifact

CHECK_UBC_NO_DYN

Do not use dynamic functions

restriction

CHECK_UBC_NO_LIST2NEEDS

Do not use list2needs

restriction

CHECK_UBC_RST_WORKSPACE

Do not use/reference rst files outside the ubproject workspace/scope

restriction

ER_UBC_FORMAT_ERRORS

Format introduces errors

error

ER_UBC_JSON_INCOMPLETE

Incomplete data

error

ER_UBC_LINTING_NOT_COVERED

Not covered format

error

ER_UBC_VAL_FORMAT

Unknown file format

error

ER_UBC_VAL_INCOMPLETE

Incomplete Validation

error

FE_UBC_BUILD_JSON

Build needs.json

feature

FE_UBC_CACHE

Clean internal caches

feature

FE_UBC_FORMAT

Format rst files

feature

FE_UBC_LINTING

Check rst files for linting problems

feature

FE_UBC_VALIDATE_JSON

Validate needs.json

feature

TOOL_UBC

ubc

tool

../../_images/need_pie_929d8.svg
✅ Compliance statistics

Features without errors: 1 / 5

Errors without a mitigation: 4 / 5

Restrictions without error: 0 / 3

Checks without error: 0 / 0