chaoss / grimoirelab-graal

A Generic Repository AnALyzer
GNU General Public License v3.0
21 stars 62 forks source link

Refactored Graal Backends using Strategy Pattern #108

Open wmeijer221 opened 2 years ago

wmeijer221 commented 2 years ago

Graal backends face evolution issues. This refactor implements the strategy pattern in the Graal backends to prevent these issues from occurring. These issues were initially pointed out in #89, we introduced our proposed solution in #104, and made a PR earlier for only the CoLic backend in #107.

This PR implements a complete refactor of the Graal backends. Because the commits have to be signed off and we didn't do that during development, this branch has (almost) all changes squashed. To split up the work in chunks, we recommend checking out these PRs: PR CoLic, PR CoVuln, PR CoCom + CoLang, PR Codep + CoQua. We combined the PR for some backends, as some of them use the same analyzers.

Note that the changes in #107 are included in this PR as well (including the CI fix), so if this PR is approved and merged, there's no need to review/merge that one. On top of that, it probably wouldn't do the project much good if only #107 is merged.