Make sure you have Poetry installed. You can then get started by running:
poetry install
As of this moment, we are using copy paste detector to find duplicate code.
This requires you to download cpd and place the bin/
and lib/
folder (and their files) in a cpd subfolder in metrics (metrics/cpd/<cpd folders goes here>
).
You can download cpd from the following link (check if there is a newer release): https://github.com/pmd/pmd/releases/tag/pmd_releases/6.54.0
This is all done using poetry. To run:
poetry run main <path/to/source/code> <Quality_model> <language>
To see supported languages please refer to: byoqm/source_coordinator/languages.py
Optional values can be gotten by running:
poetry run main --help
To test:
poetry run test
To format:
poetry run black .
Make sure you have a build/
and grammars/
folders in the root of the project:
mkdir build grammars
Clone the python grammar into grammars/
:
cd grammars && git clone https://github.com/tree-sitter/tree-sitter-python && git clone https://github.com/tree-sitter/tree-sitter-c-sharp && git clone https://github.com/tree-sitter/tree-sitter-java && cd -
Build the grammar file:
poetry run python byoqm/build_treesitter.py