All notable changes to the cc.json-schema will be documented in this file.
- An additional optional property
edgeshas been added to thecc.json - Defines an array of edges between buildings
- Use SCMLogParser (SVN or Git) to generate edges
export interface Edge {
fromNodeName: string
toNodeName: string
attributes: KeyValuePair
}- An additional optional property
fixedPositionhas been added to thecc.json - Property can be set to direct children of the root-folder
- Define
leftandtopas the top-left corner of the folder - Define
widthandheightfor the length in x and y-direction - Folders can't overlap and must be defined in range of
[0-100]
export interface Fixed {
left: number
top: number
width: number
height: number
}- An additional property
checksumhas been added to thecc.json - All known properties are wrapped in the
dataproperty checksumcontains the MD5 hash calculated through the content ofdata
{
"checksum": "a30746ae9d919c891992ab1dea88471b",
"data": {
"projectName": "bar",
"apiVersion": "1.3",
"nodes": [],
"edges": [],
"attributeTypes": {},
"blacklist": []
}
}- An additional
directionproperty has been added to the attribute descriptors, specifying whether higher or lower attribute values indicate better code quality.
{
"attributeDescriptors": {
"complexity": {
"title": "Cyclomatic Complexity",
"description": "Maximum cyclomatic complexity based on the number of paths through the code",
"hintLowValue": "",
"hintHighValue": "",
"link": "https://www.npmjs.com/package/metric-gardener",
"direction": -1
}
}
}- An additional
analyzersproperty has been added to the attribute descriptors, specifying which analyzer was used to generate the metric. This can contain multiple values if thecc.jsonis merged.
{
"attributeDescriptors": {
"rloc": {
"title": "Real Lines of Code",
"description": "Number of lines that contain at least one character which is neither a whitespace nor a tabulation nor part of a comment",
"hintLowValue": "",
"hintHighValue": "",
"link": "https://codecharta.com/docs/parser/unified",
"direction": -1,
"analyzers": [
"unifiedParser"
]
}
}
}- An additional optional property
checksumhas been added to elements ofnodeswhich are of typeFile. This checksum is calculated based on the files content and can be used by analyzers that update acc.jsonto check if they need to recalculate the metrics of a node.
{
"nodes": [
{
"name": "root",
"type": "Folder",
"attributes": {},
"link": "",
"children": [
{
"name": "Samplefile",
"type": "File",
"attributes": {
"complexity": 32.0,
"comment_lines": 46.0,
"rloc": 140.0,
"loc": 203.0
},
"link": "",
"children": [],
"checksum": "3ccac3cacd32f1c7"
}
]
}
]
}