Sonar Qube的项目隔离

时间:2017-02-11 13:09:17

标签: java sonarqube code-separation

我有一个如下所示的项目结构。

enter image description here

云项目文件夹有四个类型的项目(生态项目,evn项目,元项目,svn项目

每种类型的项目都包含四个不同的项目,例如生态项目我们有 eco-1项目,eco-2项目,eco-3项目,生态-4-项目

我已经在Sonar Qube中集成了这个,当我显示所有组合项目的源代码时,我只有一个项目为云项目,如下所示。

enter image description here

我们可以在Sonar Qube中拥有像可视化这样的层次结构,例如,当我点击Sonar Dashbaord中的云项目时,它会导航到另外四个项目,例如 eco-项目,evn项目,元项目,svn项目现在可以说当我点击生态项目时它会显示 eco-1-projects,eco-2 -projects,eco-3-projects,eco-4-projects ,现在当我点击 eco-1-projects 时,它将显示与源代码相关的仪表板和覆盖范围

我的 sonar-project.properties 在下面给出

# Required metadata
sonar.projectKey=cloud-projects
sonar.projectName=Cloud Projects
sonar.projectVersion=1.0
# Language
sonar.language=java

# Encoding of the source files
sonar.sourceEncoding=UTF-8

sonar.modules=eco-projects, evn-projects, met-projects, svn-projects

eco-projects.sonar.projectName=eco-projects
eco-projects.sonar.language=java
eco-projects.sonar.modules=eco-1-projects, eco-2-projects, eco-3-projects,eco-4-projects

eco-projects.eco-1-projects.sonar.projectName=eco-1-projects
eco-projects.eco-1-projects.sonar.sources=docroot/WEB-INF/src
eco-projects.eco-1-projects.sonar.language=java

eco-projects.eco-2-projects.sonar.projectName=eco-2-projects
eco-projects.eco-2-projects.sonar.sources=docroot/WEB-INF/src
eco-projects.eco-2-projects.sonar.language=java

eco-projects.eco-3-projects.sonar.projectName=eco-3-projects
eco-projects.eco-3-projects.sonar.sources=docroot/WEB-INF/src
eco-projects.eco-3-projects.sonar.language=java

eco-projects.eco-4-projects.sonar.projectName=eco-4-projects
eco-projects.eco-4-projects.sonar.sources=docroot/WEB-INF/src
eco-projects.eco-4-projects.sonar.language=java
:
:
:

任何人都可以告诉我一些解决方案吗

2 个答案:

答案 0 :(得分:1)

AFAIK Sonar不支持这样的事情。它只支持项目,模块和文件。这意味着你已经添加了(至少?)1个Sonar无法使用的额外图层。

也许您可以跳过顶级的“云项目”级别并为每个项目类型创建一个sonar.properties文件? 如果我们以生态项目为例,您需要为此创建一个sonar.properties文件,并将eco-1-projects,eco-2-projects等定义为模块。这意味着生态项目是 在Sonar仪表板中可见,如果您单击它并转到“代码”,您将看到所有模块。单击模块以查看文件(假设这是您的文件级别)。

顺便说一句,您也可以使用Sonar Dashboards作为额外的图层,例如在1个仪表板中添加所有生态项目。

答案 1 :(得分:0)

在SonarQube的菜单中,您有:“问题”,“度量”,“代码”和“仪表板”。

“代码”是您想要的。在那里,您将找到按“组件”划分的细分(=每个子项目一个)。 每一行都以一个小图标(一个带箭头的方框)开头,工具提示说:“打开组件的页面”。这将限制SQ的范围到这个特定组件。

在此尝试一下,例如:https://sonarqube.com/code?id=org.apache.hbase%3Ahbase