cnescatlab / sonar-icode-cnes-plugin

Add capability to analyze Fortran & Shell in SonarQube through i-Code CNES.
GNU General Public License v3.0
20 stars 11 forks source link

"Can not add the same measure twice" when fortran and shell files is present #99

Open usinelogicielle opened 2 months ago

usinelogicielle commented 2 months ago

Describe the bug

I have a project with shell and fortran files. If I launch sonar-scanner it fails with this error :

Expected behavior

The shell files are only done with the shellcheck plugin and not Icode.

Complete log

Click me ``` INFO: Scanner configuration file: /work/softs/rh8/projets/ul/sonarscanner/4.8.1/conf/sonar-scanner.properties INFO: Project root configuration file: //minimalist/sonar-project.properties 16:52:43.426 INFO: SonarScanner 4.8.1.3023 16:52:43.433 INFO: Java 19.0.1 Oracle Corporation (64-bit) 16:52:43.433 INFO: Linux 4.18.0-477.27.1.el8_8.x86_64 amd64 16:52:43.696 DEBUG: Create: .sonar/cache 16:52:43.696 INFO: User cache: .sonar/cache 16:52:43.697 DEBUG: Create: .sonar/cache/_tmp 16:52:43.873 INFO: Analyzing on SonarQube server 9.9.1.69595 16:52:43.873 INFO: Default locale: "en_US", source code encoding: "UTF-8" 16:52:43.874 DEBUG: Work directory: //minimalist/.scannerwork 16:52:43.874 DEBUG: Execution execute 16:52:44.126 DEBUG: Community 9.9.1.69595 16:52:44.271 INFO: Load global settings 16:52:44.423 DEBUG: GET 200 https:///api/settings/values.protobuf | time=151ms 16:52:44.457 INFO: Load global settings (done) | time=186ms 16:52:44.471 INFO: Server id: 16:52:44.475 INFO: User cache: .sonar/cache 16:52:44.478 INFO: Load/download plugins 16:52:44.478 INFO: Load plugins index 16:52:44.494 DEBUG: GET 200 https:///api/plugins/installed | time=16ms 16:52:44.521 INFO: Load plugins index (done) | time=43ms 16:52:44.632 INFO: Load/download plugins (done) | time=154ms 16:52:44.783 DEBUG: Plugins: 16:52:44.783 DEBUG: * Cobertura 2.0 (cobertura) 16:52:44.783 DEBUG: * PMD 3.4.0 (pmd) 16:52:44.783 DEBUG: * IaC Code Quality and Security 1.11.0.2847 (iac) 16:52:44.783 DEBUG: * FPGA Metrics 1.3.0 (fpgametrics) 16:52:44.783 DEBUG: * Ansible Lint 2.5.1 (ansible) 16:52:44.783 DEBUG: * Scala Code Quality and Security 1.11.0.3905 (sonarscala) 16:52:44.783 DEBUG: * C# Code Quality and Security 8.51.0.59060 (csharp) 16:52:44.783 DEBUG: * Java Code Quality and Security 7.16.0.30901 (java) 16:52:44.783 DEBUG: * SonarQube CNES Report 4.2.0 (cnesreport) 16:52:44.784 DEBUG: * ModelSim 1.6.0 (modelsim) 16:52:44.784 DEBUG: * HTML Code Quality and Security 3.7.1.3306 (web) 16:52:44.784 DEBUG: * Flex Code Quality and Security 2.8.0.3166 (flex) 16:52:44.784 DEBUG: * XML Code Quality and Security 2.7.0.3820 (xml) 16:52:44.784 DEBUG: * SonarTS 2.1.0.4359 (typescript) 16:52:44.784 DEBUG: * Text Code Quality and Security 2.0.2.1090 (text) 16:52:44.784 DEBUG: * Checkstyle 10.12.3 (checkstyle) 16:52:44.784 DEBUG: * VB.NET Code Quality and Security 8.51.0.59060 (vbnet) 16:52:44.784 DEBUG: * Community Branch Plugin 1.14.0 (communityBranchPlugin) 16:52:44.784 DEBUG: * YAML Analyzer 1.7.0 (yaml) 16:52:44.784 DEBUG: * Sonar i-Code CNES plugin 3.1.1 (icode) 16:52:44.784 DEBUG: * C++ (Community) 2.1.1.488 (cxx) 16:52:44.784 DEBUG: * Python Code Quality and Security 3.24.0.10784 (python) 16:52:44.784 DEBUG: * Clover 4.1 (clover) 16:52:44.784 DEBUG: * Go Code Quality and Security 1.11.0.3905 (go) 16:52:44.784 DEBUG: * JaCoCo 1.3.0.1538 (jacoco) 16:52:44.784 DEBUG: * Kotlin Code Quality and Security 2.12.0.1956 (kotlin) 16:52:44.784 DEBUG: * ShellCheck Analyzer 2.5.0 (shellcheck) 16:52:44.784 DEBUG: * JavaScript/TypeScript/CSS Code Quality and Security 9.13.0.20537 (javascript) 16:52:44.784 DEBUG: * Ruby Code Quality and Security 1.11.0.3905 (ruby) 16:52:44.784 DEBUG: * VHDLRC 3.4 (vhdlrc) 16:52:44.785 DEBUG: * Findbugs 4.2.3 (findbugs) 16:52:44.785 DEBUG: * Gcov 1.4.0 (gcov) 16:52:44.785 DEBUG: * PHP Code Quality and Security 3.27.1.9352 (php) 16:52:44.785 DEBUG: * Configuration detection fot Code Quality and Security 1.2.0.267 (config) 16:52:45.177 INFO: Process project properties 16:52:45.182 INFO: Process project properties (done) | time=5ms 16:52:45.195 INFO: Project key: 16:52:45.195 INFO: Base dir: //minimalist 16:52:45.195 INFO: Working dir: //minimalist/.scannerwork 16:52:45.195 DEBUG: Project global encoding: UTF-8, default locale: en_US 16:52:45.201 INFO: Load project settings for component key: '' 16:52:45.264 DEBUG: GET 200 https:///api/settings/values.protobuf?component= | time=63ms 16:52:45.277 INFO: Load project settings for component key: '' (done) | time=76ms 16:52:45.441 DEBUG: Available languages: 16:52:45.441 DEBUG: * Terraform => "terraform" 16:52:45.441 DEBUG: * CloudFormation => "cloudformation" 16:52:45.441 DEBUG: * Kubernetes => "kubernetes" 16:52:45.441 DEBUG: * Docker => "docker" 16:52:45.441 DEBUG: * Scala => "scala" 16:52:45.441 DEBUG: * C# => "cs" 16:52:45.441 DEBUG: * Java => "java" 16:52:45.441 DEBUG: * HTML => "web" 16:52:45.442 DEBUG: * JSP => "jsp" 16:52:45.442 DEBUG: * Flex => "flex" 16:52:45.442 DEBUG: * XML => "xml" 16:52:45.442 DEBUG: * Text => "text" 16:52:45.442 DEBUG: * Secrets => "secrets" 16:52:45.442 DEBUG: * VB.NET => "vbnet" 16:52:45.442 DEBUG: * Fortran 77 => "f77" 16:52:45.442 DEBUG: * Fortran 90 => "f90" 16:52:45.442 DEBUG: * CXX => "cxx" 16:52:45.442 DEBUG: * Python => "py" 16:52:45.442 DEBUG: * Go => "go" 16:52:45.442 DEBUG: * Kotlin => "kotlin" 16:52:45.442 DEBUG: * Shell => "shell" 16:52:45.442 DEBUG: * JavaScript => "js" 16:52:45.442 DEBUG: * TypeScript => "ts" 16:52:45.442 DEBUG: * CSS => "css" 16:52:45.442 DEBUG: * Ruby => "ruby" 16:52:45.442 DEBUG: * VHDL => "vhdl" 16:52:45.442 DEBUG: * PHP => "php" 16:52:45.442 DEBUG: * YAML => "yaml" 16:52:45.442 DEBUG: * JSON => "json" 16:52:45.472 INFO: Load quality profiles 16:52:45.687 DEBUG: GET 200 https:///api/qualityprofiles/search.protobuf?project= | time=215ms 16:52:45.699 INFO: Load quality profiles (done) | time=227ms 16:52:45.708 INFO: Load active rules 16:52:47.484 INFO: Load active rules (done) | time=1776ms 16:52:47.489 INFO: Load analysis cache 16:52:47.499 DEBUG: GET 404 https:///api/analysis_cache/get?project= | time=10ms 16:52:47.500 INFO: Load analysis cache (404) | time=11ms 16:52:47.543 INFO: Load project repositories 16:52:47.566 DEBUG: GET 200 https:///batch/project.protobuf?key= | time=23ms 16:52:47.570 INFO: Load project repositories (done) | time=27ms 16:52:47.597 DEBUG: Declared extensions of language Terraform were converted to sonar.lang.patterns.terraform : **/*.tf 16:52:47.597 DEBUG: Declared extensions of language CloudFormation were converted to sonar.lang.patterns.cloudformation : 16:52:47.597 DEBUG: Declared extensions of language Kubernetes were converted to sonar.lang.patterns.kubernetes : 16:52:47.597 DEBUG: Declared extensions of language Docker were converted to sonar.lang.patterns.docker : 16:52:47.597 DEBUG: Declared extensions of language Scala were converted to sonar.lang.patterns.scala : **/*.scala 16:52:47.598 DEBUG: Declared extensions of language C# were converted to sonar.lang.patterns.cs : **/*.cs 16:52:47.598 DEBUG: Declared extensions of language Java were converted to sonar.lang.patterns.java : **/*.java,**/*.jav 16:52:47.598 DEBUG: Declared extensions of language HTML were converted to sonar.lang.patterns.web : **/*.html,**/*.xhtml,**/*.cshtml,**/*.vbhtml,**/*.aspx,**/*.ascx,**/*.rhtml,**/*.erb,**/*.shtm,**/*.shtml,**/*.cmp,**/*.twig 16:52:47.598 DEBUG: Declared extensions of language JSP were converted to sonar.lang.patterns.jsp : **/*.jsp,**/*.jspf,**/*.jspx 16:52:47.598 DEBUG: Declared extensions of language Flex were converted to sonar.lang.patterns.flex : **/*.as 16:52:47.598 DEBUG: Declared extensions of language XML were converted to sonar.lang.patterns.xml : **/*.xml,**/*.xsd,**/*.xsl 16:52:47.598 DEBUG: Declared extensions of language Text were converted to sonar.lang.patterns.text : 16:52:47.598 DEBUG: Declared extensions of language Secrets were converted to sonar.lang.patterns.secrets : 16:52:47.598 DEBUG: Declared extensions of language VB.NET were converted to sonar.lang.patterns.vbnet : **/*.vb 16:52:47.598 DEBUG: Declared extensions of language Fortran 77 were converted to sonar.lang.patterns.f77 : **/*.f,**/*.f77,**/*.for,**/*.fpp,**/*.ftn,**/*.f,**/*.f77,**/*.for,**/*.fpp,**/*.ftn 16:52:47.598 DEBUG: Declared extensions of language Fortran 90 were converted to sonar.lang.patterns.f90 : **/*.f90,**/*.f90 16:52:47.599 DEBUG: Declared extensions of language CXX were converted to sonar.lang.patterns.cxx : **/*.cxx,**/*.cpp,**/*.cc,**/*.c,**/*.hxx,**/*.hpp,**/*.hh,**/*.h 16:52:47.599 DEBUG: Declared extensions of language Python were converted to sonar.lang.patterns.py : **/*.py 16:52:47.599 DEBUG: Declared extensions of language Go were converted to sonar.lang.patterns.go : **/*.go 16:52:47.599 DEBUG: Declared extensions of language Kotlin were converted to sonar.lang.patterns.kotlin : **/*.kt 16:52:47.599 DEBUG: Declared extensions of language Shell were converted to sonar.lang.patterns.shell : **/*.sh,**/*.ksh,**/*.bash 16:52:47.599 DEBUG: Declared extensions of language JavaScript were converted to sonar.lang.patterns.js : **/*.js,**/*.jsx,**/*.cjs,**/*.mjs,**/*.vue 16:52:47.599 DEBUG: Declared extensions of language TypeScript were converted to sonar.lang.patterns.ts : **/*.ts,**/*.tsx,**/*.cts,**/*.mts 16:52:47.599 DEBUG: Declared extensions of language CSS were converted to sonar.lang.patterns.css : **/*.css,**/*.less,**/*.scss 16:52:47.599 DEBUG: Declared extensions of language Ruby were converted to sonar.lang.patterns.ruby : **/*.rb 16:52:47.599 DEBUG: Declared extensions of language VHDL were converted to sonar.lang.patterns.vhdl : **/*.vhdl,**/*.vhd 16:52:47.600 DEBUG: Declared extensions of language PHP were converted to sonar.lang.patterns.php : **/*.php,**/*.php3,**/*.php4,**/*.php5,**/*.phtml,**/*.inc 16:52:47.600 DEBUG: Declared extensions of language YAML were converted to sonar.lang.patterns.yaml : **/*.yaml,**/*.yml 16:52:47.600 DEBUG: Declared extensions of language JSON were converted to sonar.lang.patterns.json : **/*.json 16:52:47.602 DEBUG: Will ignore generated code 16:52:47.603 DEBUG: Will ignore generated code 16:52:47.612 INFO: Indexing files... 16:52:47.613 INFO: Project configuration: 16:52:47.613 INFO: Excluded sources: **/*.c, **/*.css, **/*.f, **/*.f77, **/*.for, **/*.fpp, **/*.ftn**/*.scss, **/*.less, **/*.html, **/*.xhtml, **/*.cshtml, **/*.vbhtml, **/*.aspx, **/*.ascx, **/*.rhtml, **/*.erb, **/*.shtm, **/*.shtml, **/*.py, **/*.xml, **/*.xsd, **/*.xsl, **/*.yml, .git/**, jnlp/**, mda/**, **/test/**, **/target/**, 16:52:47.622 DEBUG: 'sonar-project.properties' indexed with no language 16:52:47.627 DEBUG: '' indexed with language 'shell' 16:52:47.629 DEBUG: 'sonar.log' indexed with no language 16:52:47.630 DEBUG: '' indexed with language 'f90' 16:52:47.633 INFO: 4 files indexed 16:52:47.634 INFO: 0 files ignored because of inclusion/exclusion patterns 16:52:47.634 INFO: Quality profile for f90: Sonar way 16:52:47.634 INFO: Quality profile for shell: RNC ALL SHELLCHECK D 16:52:47.634 INFO: ------------- Run sensors on module 16:52:47.745 INFO: Load metrics repository 16:52:47.766 DEBUG: GET 200 https:///api/metrics/search?ps=500&p=1 | time=20ms 16:52:47.775 INFO: Load metrics repository (done) | time=30ms 16:52:48.764 DEBUG: Sensors : C# Project Type Information -> C# Analysis Log -> C# Properties -> ModelSimSensor -> HTML -> TextAndSecretsSensor -> VB.NET Project Type Information -> VB.NET Analysis Log -> VB.NET Properties -> com.github.mc1arke.sonarqube.plugin.scanner.ScannerPullRequestPropertySensor -> Sonar i-Code -> JaCoCo XML Report Importer -> ShellCheck Sensor -> CSS Rules -> GcovSensor -> IaC Docker Sensor 16:52:48.764 INFO: Sensor C# Project Type Information [csharp] 16:52:48.765 INFO: Sensor C# Project Type Information [csharp] (done) | time=1ms 16:52:48.765 INFO: Sensor C# Analysis Log [csharp] 16:52:48.772 DEBUG: Project '': Property missing: 'sonar.cs.analyzer.projectOutPaths'. No protobuf files will be loaded for this project. 16:52:48.773 INFO: Sensor C# Analysis Log [csharp] (done) | time=8ms 16:52:48.773 INFO: Sensor C# Properties [csharp] 16:52:48.773 DEBUG: Project '': Property missing: 'sonar.cs.analyzer.projectOutPaths'. No protobuf files will be loaded for this project. 16:52:48.773 DEBUG: Project '': No Roslyn issues reports have been found. 16:52:48.773 INFO: Sensor C# Properties [csharp] (done) | time=0ms 16:52:48.773 INFO: Sensor ModelSimSensor [modelsim] 16:52:48.773 INFO: Sensor ModelSimSensor [modelsim] (done) | time=0ms 16:52:48.773 INFO: Sensor HTML [web] 16:52:48.774 INFO: Sensor HTML [web] (done) | time=1ms 16:52:48.774 INFO: Sensor TextAndSecretsSensor [text] 16:52:48.783 INFO: 2 source files to be analyzed 16:52:48.790 DEBUG: '' generated metadata with charset 'UTF-8' 16:52:48.805 DEBUG: '' generated metadata with charset 'windows-1252' 16:52:48.825 INFO: 2/2 source files have been analyzed 16:52:48.826 INFO: Sensor TextAndSecretsSensor [text] (done) | time=52ms 16:52:48.826 INFO: Sensor VB.NET Project Type Information [vbnet] 16:52:48.826 INFO: Sensor VB.NET Project Type Information [vbnet] (done) | time=0ms 16:52:48.827 INFO: Sensor VB.NET Analysis Log [vbnet] 16:52:48.835 DEBUG: Project '': Property missing: 'sonar.vbnet.analyzer.projectOutPaths'. No protobuf files will be loaded for this project. 16:52:48.835 INFO: Sensor VB.NET Analysis Log [vbnet] (done) | time=8ms 16:52:48.835 INFO: Sensor VB.NET Properties [vbnet] 16:52:48.835 DEBUG: Project '': Property missing: 'sonar.vbnet.analyzer.projectOutPaths'. No protobuf files will be loaded for this project. 16:52:48.835 DEBUG: Project '': No Roslyn issues reports have been found. 16:52:48.835 INFO: Sensor VB.NET Properties [vbnet] (done) | time=0ms 16:52:48.835 INFO: Sensor com.github.mc1arke.sonarqube.plugin.scanner.ScannerPullRequestPropertySensor 16:52:48.836 INFO: Sensor com.github.mc1arke.sonarqube.plugin.scanner.ScannerPullRequestPropertySensor (done) | time=1ms 16:52:48.836 INFO: Sensor Sonar i-Code [icode] 16:52:50.950 INFO: An issue for rule 'COM.PRES.Header' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.DESIGN.Options' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.ERR.Help' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.FLOW.CheckCodeReturn' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.FLOW.CheckCodeReturn' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.FLOW.CheckCodeReturn' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.FLOW.CheckCodeReturn' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.FLOW.CheckCodeReturn' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.FLOW.CheckUser' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.GetOpts' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.GetOpts' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.GetOpts' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.POSIX' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.POSIX' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.POSIX' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.POSIX' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.POSIX' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.POSIX' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.POSIX' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.POSIX' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.POSIX' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.POSIX' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.Variables' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.Variables' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.Variables' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.Variables' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.Variables' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.Variables' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.Variables' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.951 INFO: An issue for rule 'SH.INST.Variables' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.952 INFO: An issue for rule 'SH.INST.Variables' was detected by i-Code but this rule is deactivated in current analysis. 16:52:50.952 INFO: Sensor Sonar i-Code [icode] (done) | time=2116ms 16:52:50.952 INFO: Sensor JaCoCo XML Report Importer [jacoco] 16:52:50.953 INFO: 'sonar.coverage.jacoco.xmlReportPaths' is not defined. Using default locations: target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml,build/reports/jacoco/test/jacocoTestReport.xml 16:52:50.953 INFO: No report imported, no coverage information will be imported by JaCoCo XML Report Importer 16:52:50.954 INFO: Sensor JaCoCo XML Report Importer [jacoco] (done) | time=2ms 16:52:50.954 INFO: Sensor ShellCheck Sensor [shellcheck] 16:52:50.954 DEBUG: ShellCheck sensor executed with context: org.sonar.scanner.sensor.ModuleSensorContext@36b5dbdf 16:52:50.954 DEBUG: Executing command: [shellcheck, --version] 16:52:51.162 INFO: ShellCheck version: 16:52:51.163 INFO: ShellCheck - shell script analysis tool 16:52:51.163 INFO: version: 0.8.0 16:52:51.163 INFO: license: GNU General Public License, version 3 16:52:51.163 INFO: website: https://www.shellcheck.net 16:52:51.182 DEBUG: Analyzing file: 16:52:51.182 DEBUG: Executing command: [shellcheck, -x, -f, json, //minimalist/] 16:52:51.385 DEBUG: Output from shellcheck: 16:52:51.386 DEBUG: [{"file":"//minimalist/","line":56,"endLine":56,"column":67,"endColumn":76,"level":"warning","code":2128,"message":"Expanding an array without an index only gives the first element.","fix":null},{"file":"//minimalist/","line":56,"endLine":56,"column":67,"endColumn":76,"level":"info","code":2086,"message":"Double quote to prevent globbing and word splitting.","fix":{"replacements":[{"column":67,"endColumn":67,"endLine":56,"insertionPoint":"afterEnd","line":56,"precedence":14,"replacement":"\""},{"column":76,"endColumn":76,"endLine":56,"insertionPoint":"beforeStart","line":56,"precedence":14,"replacement":"\""}]}},{"file":"//minimalist/","line":66,"endLine":66,"column":42,"endColumn":46,"level":"error","code":2173,"message":"SIGKILL/SIGSTOP can not be trapped.","fix":null},{"file":"//minimalist/","line":66,"endLine":66,"column":62,"endColumn":66,"level":"error","code":2173,"message":"SIGKILL/SIGSTOP can not be trapped.","fix":null},{"file":"//minimalist/","line":74,"endLine":82,"column":1,"endColumn":2,"level":"warning","code":2120,"message":"usage references arguments, but none are ever passed.","fix":null},{"file":"//minimalist/","line":85,"endLine":85,"column":5,"endColumn":10,"level":"info","code":2119,"message":"Use usage \"$@\" if function's $1 should mean script's $1.","fix":null},{"file":"//minimalist/","line":101,"endLine":101,"column":11,"endColumn":32,"level":"info","code":2086,"message":"Double quote to prevent globbing and word splitting.","fix":{"replacements":[{"column":11,"endColumn":11,"endLine":101,"insertionPoint":"afterEnd","line":101,"precedence":14,"replacement":"\""},{"column":32,"endColumn":32,"endLine":101,"insertionPoint":"beforeStart","line":101,"precedence":14,"replacement":"\""}]}},{"file":"//minimalist/","line":101,"endLine":101,"column":41,"endColumn":43,"level":"warning","code":2166,"message":"Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.","fix":null},{"file":"//minimalist/","line":101,"endLine":101,"column":47,"endColumn":68,"level":"info","code":2086,"message":"Double quote to prevent globbing and word splitting.","fix":{"replacements":[{"column":47,"endColumn":47,"endLine":101,"insertionPoint":"afterEnd","line":101,"precedence":14,"replacement":"\""},{"column":68,"endColumn":68,"endLine":101,"insertionPoint":"beforeStart","line":101,"precedence":14,"replacement":"\""}]}},{"file":"//minimalist/","line":101,"endLine":101,"column":81,"endColumn":83,"level":"warning","code":2166,"message":"Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.","fix":null},{"file":"//minimalist/","line":101,"endLine":101,"column":87,"endColumn":108,"level":"info","code":2086,"message":"Double quote to prevent globbing and word splitting.","fix":{"replacements":[{"column":87,"endColumn":87,"endLine":101,"insertionPoint":"afterEnd","line":101,"precedence":13,"replacement":"\""},{"column":108,"endColumn":108,"endLine":101,"insertionPoint":"beforeStart","line":101,"precedence":13,"replacement":"\""}]}},{"file":"//minimalist/","line":102,"endLine":102,"column":12,"endColumn":114,"level":"info","code":2059,"message":"Don't use variables in the printf format string. Use printf '..%s..' \"$foo\".","fix":null},{"file":"//minimalist/","line":108,"endLine":108,"column":12,"endColumn":106,"level":"info","code":2059,"message":"Don't use variables in the printf format string. Use printf '..%s..' \"$foo\".","fix":null},{"file":"//minimalist/","line":117,"endLine":117,"column":7,"endColumn":29,"level":"info","code":2086,"message":"Double quote to prevent globbing and word splitting.","fix":{"replacements":[{"column":7,"endColumn":7,"endLine":117,"insertionPoint":"afterEnd","line":117,"precedence":7,"replacement":"\""},{"column":29,"endColumn":29,"endLine":117,"insertionPoint":"beforeStart","line":117,"precedence":7,"replacement":"\""}]}},{"file":"//minimalist/","line":120,"endLine":120,"column":8,"endColumn":30,"level":"info","code":2086,"message":"Double quote to prevent globbing and word splitting.","fix":{"replacements":[{"column":8,"endColumn":8,"endLine":120,"insertionPoint":"afterEnd","line":120,"precedence":7,"replacement":"\""},{"column":30,"endColumn":30,"endLine":120,"insertionPoint":"beforeStart","line":120,"precedence":7,"replacement":"\""}]}},{"file":"//minimalist/","line":121,"endLine":121,"column":7,"endColumn":28,"level":"info","code":2086,"message":"Double quote to prevent globbing and word splitting.","fix":{"replacements":[{"column":7,"endColumn":7,"endLine":121,"insertionPoint":"afterEnd","line":121,"precedence":7,"replacement":"\""},{"column":28,"endColumn":28,"endLine":121,"insertionPoint":"beforeStart","line":121,"precedence":7,"replacement":"\""}]}},{"file":"//minimalist/","line":121,"endLine":121,"column":29,"endColumn":51,"level":"info","code":2086,"message":"Double quote to prevent globbing and word splitting.","fix":{"replacements":[{"column":29,"endColumn":29,"endLine":121,"insertionPoint":"afterEnd","line":121,"precedence":7,"replacement":"\""},{"column":51,"endColumn":51,"endLine":121,"insertionPoint":"beforeStart","line":121,"precedence":7,"replacement":"\""}]}}] 16:52:51.390 DEBUG: Creating FileSystem for jar:file:.sonar/cache/f1cdfaffabd832b7f7ba780e10f49a92/sonar-shellcheck-plugin.jar!/org/sonar/l10n/shellcheck/rules/shellcheck 16:52:51.413 DEBUG: Reading rule definition files... 16:52:51.436 DEBUG: Issue SC2128 saved for 16:52:51.437 DEBUG: Issue SC2086 saved for 16:52:51.438 DEBUG: Issue SC2173 saved for 16:52:51.439 DEBUG: Issue SC2173 saved for 16:52:51.440 DEBUG: Issue SC2120 saved for 16:52:51.441 DEBUG: Issue SC2119 saved for 16:52:51.442 DEBUG: Issue SC2086 saved for 16:52:51.443 DEBUG: Issue SC2166 saved for 16:52:51.444 DEBUG: Issue SC2086 saved for 16:52:51.445 DEBUG: Issue SC2166 saved for 16:52:51.446 DEBUG: Issue SC2086 saved for 16:52:51.447 DEBUG: Issue SC2059 saved for 16:52:51.448 DEBUG: Issue SC2059 saved for 16:52:51.448 DEBUG: Issue SC2086 saved for 16:52:51.449 DEBUG: Issue SC2086 saved for 16:52:51.450 DEBUG: Issue SC2086 saved for 16:52:51.451 DEBUG: Issue SC2086 saved for 16:52:51.452 DEBUG: Count lines in 16:52:51.561 INFO: ------------------------------------------------------------------------ 16:52:51.561 INFO: EXECUTION FAILURE 16:52:51.561 INFO: ------------------------------------------------------------------------ 16:52:51.561 INFO: Total time: 8.197s 16:52:51.609 INFO: Final Memory: 449M/1264M 16:52:51.609 INFO: ------------------------------------------------------------------------ 16:52:51.609 ERROR: Error during SonarScanner execution java.lang.UnsupportedOperationException: Can not add the same measure twice on : DefaultMeasure[component=,metric=Metric[uuid=,key=comment_lines,description=Number of comment lines,type=INT,direction=1,domain=Size,name=Comment Lines,qualitative=false,userManaged=false,enabled=true,worstValue=,bestValue=,optimizedBestValue=false,hidden=false,deleteHistoricalData=false,decimalScale=],value=71,fromCore=false,storage=org.sonar.scanner.sensor.DefaultSensorStorage@8ff4795,saved=false] at org.sonar.scanner.sensor.DefaultSensorStorage.saveMeasure(DefaultSensorStorage.java:175) at org.sonar.scanner.sensor.DefaultSensorStorage.store(DefaultSensorStorage.java:135) at org.sonar.api.batch.sensor.measure.internal.DefaultMeasure.doSave(DefaultMeasure.java:96) at org.sonar.api.batch.sensor.internal.DefaultStorable.save(DefaultStorable.java:45) at com.github.sbaudoin.sonar.plugins.shellcheck.measures.LineCounter.saveMeasure(LineCounter.java:99) at com.github.sbaudoin.sonar.plugins.shellcheck.measures.LineCounter.saveMeasures(LineCounter.java:82) at com.github.sbaudoin.sonar.plugins.shellcheck.measures.LineCounter.analyse(LineCounter.java:56) at com.github.sbaudoin.sonar.plugins.shellcheck.rules.ShellCheckSensor.computeLinesMeasures(ShellCheckSensor.java:304) at com.github.sbaudoin.sonar.plugins.shellcheck.rules.ShellCheckSensor.execute(ShellCheckSensor.java:145) at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:88) at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:61) at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:79) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:61) at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:82) at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:403) at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:399) at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:368) at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:137) at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72) at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66) at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:578) at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60) at jdk.proxy1/jdk.proxy1.$Proxy0.execute(Unknown Source) at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189) at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138) at org.sonarsource.scanner.cli.Main.execute(Main.java:126) at org.sonarsource.scanner.cli.Main.execute(Main.java:81) at org.sonarsource.scanner.cli.Main.main(Main.java:62) ```

Additional context

In the icode plugin :
https://github.com/cnescatlab/sonar-icode-cnes-plugin/blob/8ba25315071e88f5499265f9231abefcd309224a/src/main/java/fr/cnes/sonar/plugins/icode/measures/ICodeMetricsProcessor.java#L87

and here in the shellcheck plugin : https://github.com/sbaudoin/sonar-shellcheck/blob/463a4421e6ca7f21f594e24f9d6eb639b029a814/src/main/java/com/github/sbaudoin/sonar/plugins/shellcheck/measures/LineCounter.java#L82

But this is a consequence and not the cause. My thought is that the plugin tries to find a measure on more than just fortran files. It'would be nice to have a log like the shellcheck plugin to see which file are analyzed :

https://github.com/sbaudoin/sonar-shellcheck/blob/463a4421e6ca7f21f594e24f9d6eb639b029a814/src/main/java/com/github/sbaudoin/sonar/plugins/shellcheck/measures/LineCounter.java#L53C9-L53C15

I found you try to find a solution in the past here : https://github.com/cnescatlab/sonar-icode-cnes-plugin/pull/96/files but it seems it is not really working.

usinelogicielle commented 2 months ago

I'm trying to find the bug by comparing with the shellcheck plugin code.

I think the problem is here, when I try to get the list of files to process. https://github.com/cnescatlab/sonar-icode-cnes-plugin/blob/8ba25315071e88f5499265f9231abefcd309224a/src/main/java/fr/cnes/sonar/plugins/icode/check/ICodeSensor.java#L181

It only looks at “MAIN” files, but not according to language.

In the shellcheck plugin, an association is made with the file type here: https://github.com/sbaudoin/sonar-shellcheck/blob/463a4421e6ca7f21f594e24f9d6eb639b029a814/src/main/java/com/github/sbaudoin/sonar/plugins/shellcheck/rules/ShellCheckSensor.java#L72