Closed valeriocos closed 4 years ago
@valeriocos Thanks for raising this.
We can try and evaluate (scc) against lizard
( which is currently in place).
yes, sure @inishchith ! we can try to integrate it as another analyzer
I would like to work on this if this issue is still open
Hi @sarthak0906, I've actually worked on this issue and would be opening the PR in some time. (sorry for not updating the thread). Please feel free to look around ;)
ok no problem
Hi @sarthak0906 thank you for you interest! if you are looking for contributions, would you be interested in preparing a backend for sonarqube or other source code analysis tools?
@valeriocos yes I would love to contribute
@valeriocos can you please tell once again which project are you referring to, can't find the mentioned project in the org
Great @sarthak0906!
The backend could be integrated to Perceval. An initial version of the backend is available at https://github.com/crossminer/scava/blob/master/web-dashboards/perceval-scava/perceval/backends/sonarqube/sonarqube.p, but it should be improved since (i) it's not retrieving historical data, (ii) it doesn't have tests.
A good starting point is to have a look at the API, and in particular at: https://sonarcloud.io/web_api/api/measures/search_history
Let me know how do you want to proceed, for instance you can try to improve the backend after checking the existing backends in perceval, we can work together on one of your branches, etc.
It may be useful to read a paper about Perceval to get an overview of what it does.
Thanks!
I would love to contribute to it, Just had a question, why didn't you make a new repo for it. Also, I couldn't figure out what framework are you using. Please assign me a task to start the development, so that I don't mess someone else working.
Great!
Please fork the repo https://github.com/chaoss/grimoirelab-perceval in your GitHub profile. Then clone the forked repo in your machine and execute the following command in the directory where you cloned it
> git remote add upstream https://github.com/chaoss/grimoirelab-perceval
In this way, you can be able to keep your fork updated with the upstream repo by doing:
> git fetch upstream
> git rebase upstream/master
If you want to work on a new feature (such as creating a new backend in Perceval), you have just to create a branch (git checkout -b <name-of-the-new-branch> master
) and write your code there. If you want to create a pull request, you have just to push your code (git push origin
). GitHub will automatically detect it, and show up a button to create a pull request (shown on the upstream repo).
WRT the framework used, we don't use any of it, just pure python3 and Perceval concepts. If you want to read about the main concepts of Perceval and/or Graal, feel free to read the papers:
Instead of assigning a task, I would ask you to open an issue on Perceval about creating a backend for a new data source (e.g., sonarqube, [zulip](https://zulipchat.com/api/, a csv, or whatever you would like to integrate). Please have a look at the backends already implemented (https://github.com/chaoss/grimoirelab-perceval/tree/master/perceval/backends/core)
Thanks for your time @sarthak0906
Sloc Cloc and Code (scc) is a tool similar to cloc, sloccount and tokei. It is able to count lines of code, blank lines, comment lines from many programming languages. Its goal is to is to be the fastest code counter possible, but also perform COCOMO calculation like sloccount and to estimate code complexity similar to cyclomatic complexity calculators. (cc @jgbarah)