2017-01-30 23 views
1

我有一個在項目中定義的sonarqube任務的jhipster項目。我們在目錄/ src/main/ui/src /下建立了一個反應用戶界面,並在/ src/main/ui/src/test/...下進行了測試。我們sonarqube屬性如下:將聲源和測試集添加到sonarqube gradle配置中的正確語法是什麼?

sonarqube { 
    properties { 
     property "sonar.host.url", "https://our_sonar_server" 
     property "sonar.projectKey", "MyProjectGroup:MyProject" 
     property "sonar.projectName", "MyProject" 
     property "sonar.login", sonarLogin 
     property "sonar.password", sonarPassword 

     property "sonar.links.scm", "https://mygithub/myProject.git" 
     property "sonar.links.scm_dev", "https://mygithub/MyProject.git" 
     property "sonar.links.ci", ciLink 

     if (pullRequest != null) { 
      property "sonar.analysis.mode", "preview" 
      property "sonar.github.pullRequest", pullRequest 
      property "sonar.github.repository", "MyProjectGroup/MyProject" 
      property "sonar.github.oauth", "my_oauth_hash" 
      property "sonar.github.endpoint", "https://mygithubapi/v3" 
     } 
    } 
} 

我目前,聲納只拾取標準/ src/main/java下的java。我曾嘗試添加 屬性「sonar.sources」,「src/main/ui/src/*。js」 屬性「sonar.test」,「src/main/ui/src/test/**」 作爲一些變化。但是,通過調用「./gradlew sonar -Pprod -x test」的shell步驟來調用此腳本的jenkin構建失敗,並顯示「無效值」或類似錯誤。我一直無法找到正確語法的例子。

編輯:我能得到聲納構建使用 財產 「sonar.sources」, 「的src/main/UI/src目錄」 財產 「sonar.test」 的PR傳遞「的src/main/ui/src/test「

但是,當在聲納服務器上檢查項目時,我仍然沒有看到任何正在引用的JavaScript文件。

回答

0

合併我的上次編輯後,js文件顯示在sonarqube中。 js測試也顯示出來,儘管它們沒有顯示任何覆蓋率。只是單元測試的次數和通過次數。這可能需要更多的配置,但這不是原來問題的一部分。

在與我的經理交談之後,我們決定將源集縮小到兩個子目錄「src/main/ui/src/app」和「src/main/ui/src/layouts」,以便測試不會顯示在源集下。該文件表明,你可以添加一個逗號分隔的列表,所以我創建了一個外部性和引用的那些在實際的屬性:

ext.jsAppSrc = "src/main/ui/src/app, src/main/ui/src/layout" 
ext.jsLayoutSrc = "src/main/ui/src/layout" 
ext.jsTest = "src/main/ui/test" 
... 
property "sonar.sources", jsAppSrc, jsLayoutSrc 
property "sonar.test", jsTest 

道具評估正確,但聲納任務失敗,錯誤 找不到方法property()參數[sonar.sources,src/main/ui/src/app,src/main/ui/src/layout on org.sonarqube.gradle.SonarQubeProperties。

然後我重構將逗號分隔列表放在單個屬性中,然後成功完成。

ext.jsAppSrc = "src/main/ui/src/app, src/main/ui/src/layout" 
ext.jsTest = "src/main/ui/test" 
... 
property "sonar.sources", jsAppSrc 
property "sonar.test", jsTest 
相關問題