MetricGardener Importer
Attention: The direct execution of metric-gardener has been temporarily disabled.
Category: Importer (takes in source code or JSON generated by MetricGardener and outputs cc.json)
This importer allows to use metrics calculated by MetricGardener, a multi-language code parser based on tree-sitter. The importer can be used to parse files locally or to just import a MetricGardener.json file and convert it into a regular CodeCharta.cc.json file.
For more information on MetricGardener, like the supported languages, and command line options, refer to its README.
MetricGardener is in active development. More languages, metrics or command line options might be added. For more information, refer to its README.
Supported Languages
- Go
- PHP
- TypeScript and TSX
- Java
- C#
- C++
- Python
- JavaScript
- Kotlin
- JSON
- YAML
Supported Metrics
Metric | Description |
---|---|
mcc |
Maximum cyclic complexity based on paths through the code by McCabe |
functions |
Number of functions |
classes |
Number of classes |
lines_of_code |
Lines of code including empty lines and comments |
comment_lines |
Number of lines containing either a comment or commented-out code |
real_lines_of_code |
Number of physical lines that contain at least one character which is neither a whitespace nor a tabulation nor part of a comment |
Usage and Parameters
Parameter | Description |
---|---|
FOLDER or FILE |
path for project folder or code file |
-j, --is-json-file |
Input file is already a MetricGardener JSON file |
-h, --help |
displays help |
-o, --outputFile=<outputFile> |
output File (or empty for stdout) |
-nc, --not-compressed |
save uncompressed output File |
Usage: ccsh metricgardenerimport [-hj] [-nc] [-o=<outputFile>] FOLDER or FILE
Examples
Create a CodeCharta json file from local source code (metric-gardener is executed internally on the fly):
ccsh metricgardenerimport /path/to/source/code -o outfile.cc.json
Create a CodeCharta json file by importing a given metric-gardener json file (run MetricGardener yourself):
For this MetricGardener needs to be installed on your system. Install it with npm i -g metric-gardener
npx metric-gardener parse /path/to/source/code -o mg_results.json
ccsh metricgardenerimport mg_results.json --is-json-file -o outfile.cc.json
Additional Requirements
Also refer to the Metric-Gardener GitHub page, as the requirements can change
If you want to execute the metric-gardener
, either with your own installation or indirectly through the ccsh
, you need to install the additional requirements listed below:
Windows
- Python
- C/C++ compiler toolchain (e.g. Visual Studio Build Tools 2022 with “Desktop development with C++”)
You might need to install additional packages to python depending on its version. Please refer to the node-gyp GitHub page for help.
Unix
- Python
- C/C++ compiler toolchain
Those tools could be an included in your distribution of linux (or your version of MacOS).