un réglage correct de sonar.sources plugin jenkins
Je suis en train de construire un Android java projet de la direction de la fonction-Fprototype_app
J'obtiens cette erreur:
[INFO] [13:38:36.470] Base dir: /Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile
[INFO] [13:38:36.470] Working dir: /Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/target/sonar
[INFO] [13:38:36.470] Source dirs: /Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/src
[INFO] [13:38:36.470] Binary dirs: /Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/target/classes
[INFO] [13:38:36.470] Source encoding: UTF-8, default locale: en_US
[INFO] [13:38:36.489] Sensor JavaSourceImporter...
[INFO] [13:38:36.710] Sensor JavaSourceImporter done: 221 ms
[INFO] [13:38:36.710] Sensor JavaSquidSensor...
[INFO] [13:38:36.800] Java AST scan...
[ERROR] Sonar is unable to analyze file : '/Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/src/main/java/com/simpragma/apps/textify/db/BookmarkDao.java'
[INFO]
------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] -------------------
[INFO] Total time:14.245s
[INFO] Finished at: Thu Oct 17 13:38:36 GMT+05:30 2013
[INFO] Final Memory: 14M/102M
[INFO]
------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.1:sonar (default-cli) on project Textify: Can not execute SonarQube analysis: Sonar is unable to analyze file :
**'/Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/src/main/java/com/simpragma/apps/textify/db/BookmarkDao.java': The source directory does not correspond to the package declaration** com.simpragma.apps.textify.db ->
[Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.1:sonar (default-cli) on project Textify: Can not execute SonarQube analysis
Dans la configuration de jenkins Post-construction de l'Action je suis en train de mettre la sonar.sources
dans des propriétés Supplémentaires boîte (parce que quand j'ai googlé pour l'erreur, les gens suggéré de définir le chemin d'accès correct pour les sources). J'ai essayé de nombreuses combinaisons comme:
-Dsonar.sources=mobile/src/main/java
-Dsonar.sources=/Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/src/main/java
-Dsonar.sources=/Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile
toujours la même erreur.
Ce que je fais mal ?
ok permettez-moi d'effacer le désordre que j'ai créé. Tout d'abord, il est un androïde projet maven. La structure du package est com.xyz.abc et la source de la racine a été src/main/java. Dans pom.xml le sourceDirectory propriété a été initialement mis au point pour src. Il semble maven n'a pas de problème avec la racine de la source, c'est la compilation du projet.
Ensuite, j'ai mis en place jenkins et sonar pour ce projet. J'ai utilisé Jenkins est Post-construire l'Action pour configurer Sonar analyse sur mon projet. Le piège ici est "Lorsque vous exécutez une analyse avec Maven, certains SonarQube propriétés sont toujours ignorés parce que SonarQube en interne nourrit de la POM" - SONAR-4536. Parmi ces propriétés est sonar.sources . Donc, quand j'ai essayé avec -Dsonar.sources dans le Jenkins, l'installation, il n'a pas travaillé.
Plus tard, j'ai modifié mon pompon pour pointer vers le dossier src/main/java, ce qui a entraîné le succès de l'analyse par jenkins post-construire l'action.
J'espère avoir clarifié.
OriginalL'auteur vikas | 2013-10-17
Vous devez vous connecter pour publier un commentaire.
Si votre projet est un projet Maven et vous êtes à l'aide de SonarQube plugin Maven pour ensuite l'emplacement de la source est prise à partir de Maven modèle. La propriété sonar.sources est utilisé uniquement lors de l'utilisation de SonarQube Runner pour effectuer l'analyse.
Regardez votre projet pom.xml et vérifier . Aussi s'il vous plaît mettre à jour votre question à savoir si vous êtes sur un régulier de projet Java ou autre chose (comme android).
Dans mon pompon, j'ai changé le <sourceDirectory>src<sourceDirecory> <sourceDirectory>mobile/src<sourceDirectory>. Il est aujourd'hui.
OK, je vois maintenant, vous êtes à l'aide d'un Maven build. Si vous ne pouvez pas changer de sonar.les sources de valeur. Il suffit de configurer votre projet Maven de sorte que Maven source src/main/java.
Je suis à l'aide de post-construction de l'action de jenkins. Je l'ai écrit ci-dessus commentaire pressé. En fait quand j'ai mis le sourceDirectory dans pom.xml pour mobile/src localement et a couru le mvn sonar:sonar de commande, il a conduit à des SUCCÈS sur l'invite de commande mais aucun rapport n'a été produit.
OriginalL'auteur Julien H. - SonarSource Team
Vikas,
Le répertoire source, vous devez indiquer comme un Sonar propriétés de Java analyse doit être dans le répertoire racine de l'paquets de déclaration dans le code.
Voir:
http://qualilogy.com/en/install-sonarqube-first-analysis-with-sonarqube-runner/
http://qualilogy.com/en/install-sonarqube-sonarqube-analysis-with-jenkins/
Ce qui concerne,
JP
mvn -f mobile/pom.xml sonar:sonar -Dsonar.sources=/Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/src/main/java
Cette commande échoue avec le même message d'erreur.OriginalL'auteur Jean-Pierre FAYOLLE