- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我安装了sonarqube 5.6,并下载了C#插件。
我决定扩展 C# 插件,因此我继续下载已安装插件的代码(版本 5.3.2)。
C#插件项目引用了sonar-plugin-api版本4.5.2
我添加了需要针对项目级别进行计算的新指标,因此,按照文档,我创建了一个 Decorator .
public class CSharpMyDecorator implements Decorator{
private static final Logger LOG = LoggerFactory.getLogger(CSharpMyDecorator.class);
@Override
public boolean shouldExecuteOnProject(Project arg0) {
// TODO Auto-generated method stub
return true;
}
@Override
public void decorate(Resource resource, DecoratorContext context) {
LOG.info(resource.getName() + " Is Project: " + Scopes.isProject(resource) +" Is project not Module:" + Qualifiers.isProject(resource, false));
if (Scopes.isProject(resource) && Qualifiers.isProject(resource, false)) {
double files = 0d;
double percentage = 0d;
LOG.info("files: "+context.getMeasure(CoreMetrics.FILES).getValue());
for (Measure measure : context.getChildrenMeasures(MyMetrics.FILES_DONT_PASS_FUNCTION_THRESHOLD)) {
files += measure.getValue();
}
percentage = files / context.getMeasure(CoreMetrics.FILES).getValue();
context.saveMeasure(MyMetrics.PERC_FILES_DONT_PASS_FUNCTION_THRESHOLD, percentage);
}
}
}
我在插件中添加类:
public class CSharpPlugin extends SonarPlugin {
public static final String LANGUAGE_KEY = "cs";
public static final String LANGUAGE_NAME = "C#";
public static final String FILE_SUFFIXES_KEY = "sonar.cs.file.suffixes";
public static final String FILE_SUFFIXES_DEFVALUE = ".cs";
public static final String CSHARP_WAY_PROFILE = "Sonar way";
public static final String REPOSITORY_KEY = "csharpsquid";
public static final String REPOSITORY_NAME = "SonarQube";
public static final String IGNORE_HEADER_COMMENTS = "sonar.cs.ignoreHeaderComments";
public static final String NUMBER_FUNCTION_THRESHOLD = "sonar.cs.numberFunctionThreshold";
public static final String NUMBER_LOC_THRESHOLD = "sonar.cs.numberLocThreshold";
@Override
public List getExtensions() {
ImmutableList.Builder builder = ImmutableList.builder();
builder.add(
CSharp.class,
CSharpSonarRulesDefinition.class,
CSharpSonarWayProfile.class,
CSharpCommonRulesEngine.class,
CSharpCommonRulesDecorator.class,
CSharpSourceCodeColorizer.class,
RuleRunnerExtractor.class,
CSharpSensor.class,
CSharpCPDMapping.class,
SonarLintProfileExporter.class,
SonarLintFakeProfileImporter.class,
RoslynProfileExporter.class,
MyMetrics.class,
CSharpMyDecorator.class
);
builder.addAll(CSharpFxCopProvider.extensions());
builder.addAll(CSharpCodeCoverageProvider.extensions());
builder.addAll(CSharpUnitTestResultsProvider.extensions());
builder.addAll(CSharpMsBuildIntegrationProvider.extensions());
builder.addAll(RoslynProfileExporter.sonarLintRepositoryProperties());
return builder.build();
}
}
当我执行分析时,既不会创建指标,也不会存储度量。
查看生成的日志(我启用了详细选项),我没有发现任何对装饰器执行的引用。甚至装饰器中的代码也没有预期的 LOG 条目。
我正在使用 MSBuild.SonarQube.Runner.exe 版本 2.0
为什么不调用装饰器?是 SonarQube 版本的问题吗?
最佳答案
扩展点装饰器在 5.2 版本中被删除,因为它不是为 5.x 系列最需要的功能之一而设计的:将扫描仪与数据库隔离。
更多详情请访问 http://docs.sonarqube.org/display/DEV/API+Changes并在群里https://groups.google.com/forum/#!forum/sonarqube 。
关于java - SonarQube 5.6 是否执行使用 sonar-plugin-api 版本 4.5.2 开发的插件中的装饰器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40663669/
在为jhipster配置以下docker容器之后,除了声纳,其他一切都很好: docker run --name jhipster -w / home / jhipster / app -v〜/ jh
最新的 3.3 sonar-maven-plugin 和 5.6 LTS 作为网络服务器。 使用 mvn sonar:sonar 运行 Sonar 分析( Scanner for Maven ) 忽略
我有一个 cobertura.ser 文件,是在集成测试和系统测试时生成的。现在我想将我的覆盖范围导入 Sonar 服务器。 如何实现这一点,以便在执行 mvn sonar:sonar 时覆盖范围应考
场景:我们有一个 Jenkins maven 构建,它在父 pom 上执行 Sonar : Sonar 。我希望此构建的所有模块都显示为单个 Sonar 项目。目前,我们只有一个带有子模块的 Sona
我有一个看起来像这样的 build.xml 文件: 当我运行文件时,我得到: The prefix "sonar" for element "sonar:sonar" is
我尝试使用标准 maven sonar:sonar 目标在 Jenkins 上使用 java 项目运行 Sonar 分析,并使用后步骤 >> 执行 SonarQube 扫描仪。我使用的maven目标是
我想知道 sonar.projectKey、sonar.projectName 和 sonar.projectVersion 是否有任何标准。 我正在 git 环境中工作,需要对同一 git 存储库的
我有一个很大的困惑,当我们有 Sonar 服务器时 Sonar 扫描仪有什么用?当我使用 soarqube 服务器分析一个项目时,它进行了分析并且运行良好。我仍然很困惑为什么我们也需要扫描仪。 与ec
Sonar 与 jenkins 一起正常运行了 6 个月,没有出现任何故障。从上周开始,我看到一些 jenkins 作业出现以下错误,导致作业失败。 [ERROR] Failed to execute
鉴于相同的代码和具有相同规则的相同 SonarQube 服务器,我在使用 mvn sonar:sonar 与 sonar-scanner 扫描时发现的错误和漏洞数量截然不同。 code> CLI 和
我正在编写一个 Sonarqube Java 自定义规则,但在我尝试分析我的代码时一直出现此错误: "SonarQube is unable to analyze file 'File Path' o
我正在尝试将 SonarQube 与 Azure Devops 集成。我已在 SonarQube 管理员中完成配置(管理 > 配置 > 常规设置 > ALM 集成,选择 Azure DevOps 选项
我正在尝试将 SonarQube 与 Azure Devops 集成。我已在 SonarQube 管理员中完成配置(管理 > 配置 > 常规设置 > ALM 集成,选择 Azure DevOps 选项
我想与Jenkins一起针对Maven 2项目启动SonarQube分析。我首先在构建配置中使用了目标sonar:sonar。 但是我刚刚找到了Jenkins的SonarQube插件。为什么要使用它?
将Sonar 4.2(正常运行)与gradle(已测试版本1.11和1.12)一起使用,配置了sonar-runner: allprojects { if (rootProject == pr
我将 Sonar 与 Jenkins 一起使用以进行持续集成和代码分析。我learned该 Sonar 默认包括 Checkstyle、FindBugs、JaCoCo、PMD ,所以我们不需要配置项目
我们想在我们的项目中使用 SonarQube 和一些 CI 工具。 Sonar 服务器 url 在主 pom.xml 中配置。 项目中有几个团队成员。那么当一个团队成员在本地执行 sonar:sona
命令 mvn sonar:sonar 执行的 Maven 生命周期阶段是什么? 虽然我看到了在屏幕上运行的日志,但在非常高的水平上,我发现了测试、安装。 考虑下面的例子, 我有一个像下面这样的mave
我有几个 groovy/grails 项目,我正在使用 sonar-runner 来分析它们。他们工作得很好,直到今天我开始收到这个错误: ERROR: Error during Sonar runn
当我运行声纳时,我的代码覆盖率总是为 0。我使用的是三叶草。 pom.xml 文件中的条目下方 11 1.18.20 Hoxton.SR11
我是一名优秀的程序员,十分优秀!