From 6fb1fd39633fb1ee66bd65363307492fce9cb63b Mon Sep 17 00:00:00 2001 From: RenFengJiang <1111> Date: Wed, 17 Jan 2024 10:30:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9Alog=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E8=AF=86=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/keyware/sonar/cxx/CxxPlugin.java | 3 ++ .../com/keyware/sonar/cxx/CxxSquidSensor.java | 4 +- .../com/keyware/sonar/cxx/LogLanguage.java | 37 +++++++++++++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/LogLanguage.java diff --git a/sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/CxxPlugin.java b/sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/CxxPlugin.java index 563275d..28008d5 100644 --- a/sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/CxxPlugin.java +++ b/sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/CxxPlugin.java @@ -98,6 +98,8 @@ public final class CxxPlugin implements Plugin { static private List getSensorsImpl() { var l = new ArrayList(); + l.add(LogLanguage.class); + // utility classes l.add(CxxUnitTestResultsAggregator.class); l.add(RulesDefinitionXmlLoader.class); @@ -152,6 +154,7 @@ public final class CxxPlugin implements Plugin { l.add(CxxClangTidyRuleRepository.class); l.add(CxxClangSARuleRepository.class); + // post jobs l.add(FinalReport.class); diff --git a/sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/CxxSquidSensor.java b/sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/CxxSquidSensor.java index 68b0a11..4c98b73 100644 --- a/sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/CxxSquidSensor.java +++ b/sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/CxxSquidSensor.java @@ -286,7 +286,7 @@ public class CxxSquidSensor implements ProjectSensor { public void describe(SensorDescriptor descriptor) { descriptor .name("CXX") - .onlyOnLanguage(CxxLanguage.KEY) + .onlyOnLanguages(CxxLanguage.KEY, LogLanguage.KEY) .onlyOnFileType(InputFile.Type.MAIN) .onlyWhenConfiguration(conf -> !conf.getBoolean(SQUID_DISABLED_KEY).orElse(false)); } @@ -373,7 +373,7 @@ public class CxxSquidSensor implements ProjectSensor { private Iterable getInputFiles(SensorContext context, CxxSquidConfiguration squidConfig) { Iterable inputFiles = context.fileSystem().inputFiles( context.fileSystem().predicates().and( - context.fileSystem().predicates().hasLanguage(CxxLanguage.KEY), + context.fileSystem().predicates().hasLanguages(CxxLanguage.KEY, LogLanguage.KEY), context.fileSystem().predicates().hasType(InputFile.Type.MAIN) ) ); diff --git a/sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/LogLanguage.java b/sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/LogLanguage.java new file mode 100644 index 0000000..bbf36c4 --- /dev/null +++ b/sonar-keyware-plugins-cxx/src/main/java/com/keyware/sonar/cxx/LogLanguage.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2023 - 2024. KeyWare.Co.Ltd All rights reserved. + * 项目名称:信息安全性设计准则检查插件 + * 项目描述:用于检查源代码的安全性设计准则的Sonarqube插件 + * 版权说明:本软件属北京关键科技股份有限公司所有,在未获得北京关键科技股份有限公司正式授权情况下,任何企业和个人,不能获取、阅读、安装、传播本软件涉及的任何受知识产权保护的内容。 + */ + +package com.keyware.sonar.cxx; + +import org.sonar.api.resources.AbstractLanguage; + +import java.lang.module.Configuration; + +/** + * TODO LogLanguage + * + * @author RenFengJiang + * @date 2024/1/16 + */ +public final class LogLanguage extends AbstractLanguage { + public static final String NAME = "LOG"; + public static final String KEY = "log"; + + private final Configuration config; + + public LogLanguage( Configuration config) { + super(KEY, NAME); + this.config = config; + } + + @Override + public String[] getFileSuffixes() { + String[] arr = new String[1]; + arr[0] = ".log"; + return arr; + } +}