diff --git a/soanr-keyware-example/.gitignore b/soanr-keyware-example/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/soanr-keyware-example/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/soanr-keyware-example/pom.xml b/soanr-keyware-example/pom.xml new file mode 100644 index 0000000..517e5da --- /dev/null +++ b/soanr-keyware-example/pom.xml @@ -0,0 +1,43 @@ + + + 4.0.0 + + com.keyware.sonar + sonar-keyware + 1.0 + + + + soanr-keyware-example + 1.0 + + + 11 + 11 + UTF-8 + + + + + + com.mycila + license-maven-plugin + +
${project.basedir}/src/main/resources/license-header.txt
+ + + **/*.properties + *.sh + *.yml + .editorconfig + .gitignore + **/*.md + **/*.xml + +
+
+
+
+
\ No newline at end of file diff --git a/soanr-keyware-example/src/main/cxx/.scannerwork/.sonar_lock b/soanr-keyware-example/src/main/cxx/.scannerwork/.sonar_lock new file mode 100644 index 0000000..e69de29 diff --git a/soanr-keyware-example/src/main/cxx/.scannerwork/class-mapping.csv b/soanr-keyware-example/src/main/cxx/.scannerwork/class-mapping.csv new file mode 100644 index 0000000..e69de29 diff --git a/soanr-keyware-example/src/main/cxx/.scannerwork/report-task.txt b/soanr-keyware-example/src/main/cxx/.scannerwork/report-task.txt new file mode 100644 index 0000000..c9190ad --- /dev/null +++ b/soanr-keyware-example/src/main/cxx/.scannerwork/report-task.txt @@ -0,0 +1,6 @@ +projectKey=cxx-test +serverUrl=http://localhost:9000 +serverVersion=10.2.1.78527 +dashboardUrl=http://localhost:9000/dashboard?id=cxx-test +ceTaskId=AYz7dGiT3PoYkLIOzDsz +ceTaskUrl=http://localhost:9000/api/ce/task?id=AYz7dGiT3PoYkLIOzDsz diff --git a/sonar-keyware-plugins-cxx/src/test/resources/com/keyware/sonar/cxx/rules/checkers/ABCVarNameChecker.cc b/soanr-keyware-example/src/main/cxx/ABCVarNameChecker.cc similarity index 100% rename from sonar-keyware-plugins-cxx/src/test/resources/com/keyware/sonar/cxx/rules/checkers/ABCVarNameChecker.cc rename to soanr-keyware-example/src/main/cxx/ABCVarNameChecker.cc diff --git a/soanr-keyware-example/src/main/java/com/keyware/sonar/Main.java b/soanr-keyware-example/src/main/java/com/keyware/sonar/Main.java new file mode 100644 index 0000000..ef25710 --- /dev/null +++ b/soanr-keyware-example/src/main/java/com/keyware/sonar/Main.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2023 - 2024. KeyWare.Co.Ltd All rights reserved. + * 项目名称:soanr-keyware-example + * 项目描述:Parent pom of SonarSource public projects + * 版权说明:本软件属北京关键科技股份有限公司所有,在未获得北京关键科技股份有限公司正式授权情况下,任何企业和个人,不能获取、阅读、安装、传播本软件涉及的任何受知识产权保护的内容。 + */ +package com.keyware.sonar; + +import javax.script.Invocable; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; + +public class Main { + public static void main(String[] args) { + // mvn clean verify sonar:sonar -Dsonar.projectKey=java-test -Dsonar.projectName='java-test' -Dsonar.host.url=http://localhost:9000 -Dsonar.token=sqp_751590ea01a1115ac0c9f10d99fddd2efa09a074 + System.out.printf("Hello and welcome!"); + int ABC = 1; + for (; ABC <= 5; ABC++) { + System.out.println("i = " + ABC); + } + } + + public void loadLibrary(String libraryName, int number) { + String abc = "bac"; + System.loadLibrary("/path/to/your/library"); + System.loadLibrary(libraryName); // Noncompliant {{在动态加载库前对输入数据进行验证,确保输入数据仅能用于加载允许加载的代码库}} + } + + public void dyan() { + String regular = "function regular(args1,args2,args3){................}"; + ScriptEngine engine = new ScriptEngineManager().getEngineByName("javascript"); + try { + engine.eval(regular); // Noncompliant {{程序设计时禁止动态构建代码进行功能实现}} + if (engine instanceof Invocable) { + Invocable invoke = (Invocable) engine; + String result = (String) invoke.invokeFunction("regular", ""); + System.out.println(result); + } else { + System.out.println("error"); + } + } catch (ScriptException e) { + System.out.println("表达式runtime错误:" + e.getMessage()); + } catch (NoSuchMethodException e) { + throw new RuntimeException(e); + } + } +} \ No newline at end of file diff --git a/soanr-keyware-example/src/main/resources/license-header.txt b/soanr-keyware-example/src/main/resources/license-header.txt new file mode 100644 index 0000000..6f93a28 --- /dev/null +++ b/soanr-keyware-example/src/main/resources/license-header.txt @@ -0,0 +1,4 @@ +Copyright (c) 2023 - 2024. KeyWare.Co.Ltd All rights reserved. +项目名称:${project.name} +项目描述:${project.description} +版权说明:本软件属北京关键科技股份有限公司所有,在未获得北京关键科技股份有限公司正式授权情况下,任何企业和个人,不能获取、阅读、安装、传播本软件涉及的任何受知识产权保护的内容。 \ No newline at end of file