Sonarqube offre la capacité non seulement de montrer la santé d'une application, mais aussi de mettre en évidence les problèmes nouvellement introduits. Avec une porte de qualité en place, vous pouvez obtenir un code propre et donc améliorer systématiquement la qualité du code.
Pour les questions d'assistance ("Comment puis-je?", "J'ai obtenu cette erreur, pourquoi?", ...), veuillez d'abord lire la documentation, puis vous rendre à la communauté de Sonarsource. La réponse à votre question a probablement déjà été répondu! ?
Sachez que ce forum est une communauté, donc les plaisanteries standard ("salut", "merci", ...) sont attendues. Et si vous n'obtenez pas de réponse à votre fil, vous devez vous asseoir sur vos mains pendant au moins trois jours avant de le cogner. Les opérateurs ne sont pas là. ?
Si vous souhaitez voir une nouvelle fonctionnalité ou signaler un bogue, veuillez créer un nouveau fil dans notre forum.
Veuillez noter que nous ne recherchons pas activement les contributions des fonctionnalités. La vérité est qu'il est extrêmement difficile pour quelqu'un en dehors de Sonarsource de se conformer à notre feuille de route et à nos attentes. Par conséquent, nous n'acceptons généralement que des changements cosmétiques mineurs et des correctifs de faute de frappe.
Dans cet esprit, si vous souhaitez soumettre une contribution de code, veuillez créer une demande de traction pour ce référentiel. Veuillez expliquer vos motivations pour contribuer ce changement: quel problème vous essayez de résoudre, quelle amélioration vous essayez de faire.
Assurez-vous que vous suivez notre style de code et tous les tests passent (Travis Build est exécuté pour chaque demande de traction).
Vous êtes prêt à contribuer aux produits de sonarsource? Nous recherchons des personnes intelligentes, passionnées et qualifiées pour nous aider à créer des solutions de qualité de code de classe mondiale. Jetez un œil à nos offres d'emploi actuelles ici!
Pour construire des sources localement, suivez ces instructions.
Exécuter à partir du répertoire de base de projet:
./gradlew build
Le fichier de distribution ZIP est généré dans sonar-application/build/distributions/ . Décompressez-le et démarrez le serveur en exécutant:
# on Linux
bin/linux-x86-64/sonar.sh start
# or on MacOS
bin/macosx-universal-64/sonar.sh start
# or on Windows
binwindows-x86-64StartSonar.bat
Si le projet n'a jamais été construit, construisez-le comme d'habitude (voir la section précédente) ou utilisez la commande plus rapide:
./gradlew ide
Ouvrez ensuite le fichier racine build.gradle en tant que projet dans Intellij ou Eclipse.
| ./gradlew Commande | Description |
|---|---|
dependencies | Répertorier les dépendances |
licenseFormat --rerun-tasks | Correction des en-têtes de source en appliquant une en-tête.txt |
wrapper --gradle-version 5.2.1 | mise à niveau de l'emballage |
L'interface utilisateur de Sonarqube (ou WebApp comme nous l'appelons), est située dans un autre référentiel: Sonarqube-webapp.
Lors de la construction du référentiel sonarqube , le WebApp est automatiquement téléchargé à partir de Maven Central en tant que dépendance, il vous permet de contribuer facilement les modifications de backend sans avoir à se soucier du WebApp.
Mais si votre contribution contient également des modifications de l'interface utilisateur, vous devez cloner le référentiel sonarqube-webapp , effectuer vos modifications là-bas, la construire localement, puis créer le référentiel sonarqube à l'aide de la variable d'environnement WEBAPP_BUILD_PATH pour cibler votre version personnalisée de l'interface utilisateur.
Voici un exemple de la façon de le faire:
cd /path/to/sonarqube-webapp/server/sonar-web
# do your changes
# install dependencies, only needed the first time
yarn
# build the webapp
yarn build
cd /path/to/sonarqube
# build the sonarqube repository using the custom build of the webapp
WEBAPP_BUILD_PATH=/path/to/sonarqube-webapp/server/sonar-web/build/webapp ./gradlew build Vous pouvez également cibler une version spécifique du WebApp en mettant à jour la propriété webappVersion dans le fichier ./gradle.properties , puis en construisant normalement le référentiel sonarqube .
Historiquement, nos traductions ont été stockées dans sonar-core/src/main/resources/org/sonar/l10n/core.properties , mais ce fichier est désormais obsolète et non mis à jour. Les traductions par défaut (en anglais) sont désormais définies dans le référentiel WebApp, ici: https://github.com/sonarsource/sonarqube-webapp/blob/master/server/sonar-web/src/main/js/l10n/default.ts
Le format a changé, mais vous pouvez toujours l'avoir comme format de fichier .properties en exécutant la commande suivante:
cd /path/to/sonarqube-webapp/server/sonar-web
# install dependencies, only needed the first time
yarn
# generate a backward compatible .properties file with all the translation keys
yarn generate-translation-keysNotez que les extensions contribuant aux traductions dans d'autres langues fonctionnent toujours de la même manière qu'auparavant. C'est juste la source de la vérité pour les traductions par défaut qui ont changé.
Copyright 2008-2024 Sonarsource.
Licencié sous la licence publique générale de GNU Leser, version 3.0