Prototyping a Quality Assessment Tool with Parameterized Quality Models
Project description
Quality Tool
Setup
Make sure you have Poetry >= 1.2.0 installed. You can then get started by running:
poetry install
Code duplication - cpd
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
Programming Language Detection - GitHub Linguist
To detect the programming languages of source code files we use GitHub linguist by running it in a docker container. Make sure you have Docker >= 23.0.4 installed. You will also need to pull the docker image for GitHub Linguist:
docker pull toffernator/linguist
Running, Testing, and Formatting
This is all done using poetry. To run:
poetry run core <path/to/source/code> <Quality_model>
e.g.
poetry run core . code_climate
To see supported languages please refer to: byoqm/source_coordinator/languages.py
Optional values can be gotten by running:
poetry run core --help
To test:
poetry run test
To format:
poetry run black .
Building Tree-Sitter Grammars
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 --depth 1 https://github.com/tree-sitter/tree-sitter-python && git clone --depth 1 https://github.com/tree-sitter/tree-sitter-c-sharp && git clone --depth 1 https://github.com/tree-sitter/tree-sitter-java && cd -
Build the grammar file:
poetry run python core/build_treesitter.py
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file milkfrog-0.1.0.tar.gz
.
File metadata
- Download URL: milkfrog-0.1.0.tar.gz
- Upload date:
- Size: 24.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.3 Linux/6.4.2-arch1-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54950e6e800928a5e8553da51f029f38aa4d2be6b685ee8a100427abe96eaf5e |
|
MD5 | 0d835d59d5ac1dc08fbc4d2c928d4d98 |
|
BLAKE2b-256 | caa905066cb5e4bb90dbfd07cc17d3f80b498f8d0dc460967bb5c7f2a246f79e |
File details
Details for the file milkfrog-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: milkfrog-0.1.0-py3-none-any.whl
- Upload date:
- Size: 29.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.3 Linux/6.4.2-arch1-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2766dfb12cd6016f99f52be67fd1b2b3b972711688bbc90b4de9e813ca08ba91 |
|
MD5 | daf37847228434a2acd0a66a7bb82460 |
|
BLAKE2b-256 | e79261a749a2246a777a4d596008f2bac72b8a077110b30d11cda9359779500d |