Un plugin Sonarqube gratuit et open source pour l'analyse de code statique des projets Scala.
Sonar-Scala est un plugin indépendant de Sonarqube, motivé et développé avec: Heart: By the Community.
Destiné à Sonarqube 9.4, Sonarqube 8.9 LTS, Sonarqube 7.9 LTS, sonarqube 6.7 LTS et Scala 2.11 / 2.12 / 2.13.
Sonar-Scala est développé à Scala. Il utilise la bibliothèque scalariforme pour analyser le code source et s'intègre à SCOVERAGE (CODE CODE), Scalastyle et bouc émissaire (analyse de code statique). Il fournit également des fonctionnalités de décoration de demande de tirage, qui peuvent examiner les demandes de traction sur GitHub et faire des commentaires sur de nouvelles questions directement dans la demande de traction au lieu de les signaler à Sonarqube.
L'analyse de l'exécution à partir d'une machine Windows n'est actuellement pas prise en charge - veuillez utiliser Linux ou un autre système d'exploitation de type UNIX.
Voir le site Web du projet Sonar-scala.com pour la documentation.
Pour construire le projet à partir de sources, exécutez la tâche assembly dans SCH Shell et le pot assemblé avec toutes les dépendances requises par ce plugin doivent être créées dans le répertoire target/scala-2.13 .
Pour déboguer le plugin, exportez la variable d'environnement suivante avant d'exécuter sonar-scanner pour votre projet:
export SONAR_SCANNER_OPTS= " -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000 " Une fois que vous avez fait cela, sonar-scanner doit afficher le message suivant Listening for transport dt_socket at address: 8000 . Vous pouvez désormais attacher votre IDE au processus sur le port 8000 , définir des points d'arrêt et déboguer le code.
Ce projet est une continuation du plugin Sonar-Scala, qui a été initialement développé par Sagacify.
De nombreux autres projets ont été utilisés comme inspiration, voici une liste des principales:
Pour une liste complète des modifications et des versions, veuillez consulter Changelog.
Le projet est autorisé sous le GNU LGPL V3. Voir le fichier de licence pour plus de détails.