Riverside-Software / sonar-openedge

CABL (Code Analyzer for ABL in SonarQube) - ABL ANTLR4 Parser
https://riverside-software.fr
GNU Lesser General Public License v3.0
63 stars 26 forks source link

Whole Index rule not working in DevStudio SonarLint. Other rules are. #994

Closed Tranborg closed 2 years ago

Tranborg commented 2 years ago

Hi!

I think this worked before. Now all other rules work, but not Whole Index (the most important rule to have online in the face when coding).

What am I missing here? Project Analyzer Properties: sonar.oe.databases = df/twin360.df sonar.oe.propath = src sonar.sources = src

Br /Lennart

gquerret commented 2 years ago

Can you include the SonarLint version number as well as the OE plugin version number ? You'll also find information here: https://github.com/Riverside-Software/sonar-openedge/wiki/SonarLint-for-Eclipse#faq-and-tips And there: https://github.com/Riverside-Software/sonar-openedge/wiki/SonarLint-for-Eclipse#in-trouble

Tranborg commented 2 years ago

Some tracing information to the same.

Code example:

/*------------------------------------------------------------------------
    File        : TestWholeIndex.p
    Author(s)   : tranborgl
  ----------------------------------------------------------------------*/

BLOCK-LEVEL ON ERROR UNDO, THROW.

DEFINE VARIABLE locFound AS LOGICAL NO-UNDO.

locFound = CAN-FIND(AccountTransferHeader WHERE AccountTransferHeader.Description = "dsfsdfhkjwewedfgdfhkjh").  // This will be a whole index search!

/*MESSAGE locFound.*/

Got one result (good) but missing the WholeIndex info:

Variable locFound is assigned but never read TestWholeIndex.p Twin360BackEnd/src line 8 SonarLint On-The-Fly Issue

Log:


Trigger: EDITOR_CHANGE
Clear markers on 0 excluded files
SonarLint processing file /Twin360BackEnd/src/TestWholeIndex.p...
Connected mode (using configuration of 'Twin360BackEnd' in server 'twsonar01')
Starting analysis with configuration:
[
  projectKey: Twin360BackEnd
  baseDir: D:\Workspace\tranborgl\TWIN360Agile\Branches\Releases\1.4.118\Twin360BackEnd
  extraProperties: {sonar.sources=src, sonar.projectName=Twin360BackEnd, sonar.oe.aliases=twin360,twin360, sonar.oe.propath=src, sonar.oe.databases=df/twin360.df}
  inputFiles: [
    file:/D:/Workspace/tranborgl/TWIN360Agile/Branches/Releases/1.4.118/Twin360BackEnd/src/TestWholeIndex.p (UTF-8)
  ]
]

Available languages:
  * Scala => "scala"
  * Python => "py"
  * OpenEdge => "oe"
  * OpenEdgeDB => "oedb"
  * HTML => "web"
  * JSP => "jsp"
  * XML => "xml"
  * Kotlin => "kotlin"
  * PHP => "php"
  * JavaScript => "js"
  * TypeScript => "ts"
  * Ruby => "ruby"
Start analysis
Declared extensions of language Scala were converted to scala: **/*.scala
Declared extensions of language Python were converted to py: **/*.py
Declared extensions of language OpenEdge were converted to oe: **/*.p,**/*.w,**/*.i,**/*.cls
Declared extensions of language OpenEdgeDB were converted to oedb: **/*.df
Declared extensions of language HTML were converted to web: **/*.html,**/*.xhtml,**/*.cshtml,**/*.vbhtml,**/*.aspx,**/*.ascx,**/*.rhtml,**/*.erb,**/*.shtm,**/*.shtml
Declared extensions of language JSP were converted to jsp: **/*.jsp,**/*.jspf,**/*.jspx
Declared extensions of language XML were converted to xml: **/*.xml,**/*.xsd,**/*.xsl
Declared extensions of language Kotlin were converted to kotlin: **/*.kt
Declared extensions of language PHP were converted to php: **/*.php,**/*.php3,**/*.php4,**/*.php5,**/*.phtml,**/*.inc
Declared extensions of language JavaScript were converted to js: **/*.js,**/*.jsx,**/*.mjs,**/*.vue
Declared extensions of language TypeScript were converted to ts: **/*.ts,**/*.tsx
Declared extensions of language Ruby were converted to ruby: **/*.rb
Index files
Language of file 'file:/D:/Workspace/tranborgl/TWIN360Agile/Branches/Releases/1.4.118/Twin360BackEnd/src/TestWholeIndex.p' is detected to be 'oe'
1 file indexed
Quality profiles:
  * js: 'Sonar way' (129 rules)
  * jsp: 'Sonar way' (0 rules)
  * kotlin: 'Sonar way' (29 rules)
  * oe: 'Sonar way (Twin360)' (93 rules)
  * oedb: 'Sonar way (extended)' (4 rules)
  * php: 'Sonar way' (112 rules)
  * py: 'Sonar way' (115 rules)
  * ruby: 'Sonar way' (28 rules)
  * scala: 'Sonar way' (28 rules)
  * ts: 'Sonar way' (119 rules)
  * web: 'Sonar way' (27 rules)
  * xml: 'Sonar way' (6 rules)
Registering CheckRegistrar class org.sonar.plugins.openedge.foundation.BasicChecksRegistration
Registering CheckRegistrar class org.sonar.plugins.openedge.RiversideChecksRegistration
Found COMMERCIAL license - Permanent ID <secret>
Found COMMERCIAL license - Permanent ID <secret>
Found COMMERCIAL license - Permanent ID <secret>
Found COMMERCIAL license - Permanent ID <secret>
'Scala Sensor' skipped because there is no related file in current project
'Python Sensor' skipped because there is no related file in current project
Execute Sensor: OpenEdgeSensor
'OpenEdgeDBSensor' skipped because there is no related file in current project
Execute Sensor: OpenEdgeWarningsSensor
Execute Sensor: OpenEdgeProparseSensor
OpenEdge plugin version: 2.14.8-9dff4222
Loading OpenEdge settings for server ID <secret>
Adding source directory 'src' ...
  ... resolved to 'D:\Workspace\tranborgl\TWIN360Agile\Branches\Releases\1.4.118\Twin360BackEnd\src'
No sonar.oe.binaries property, defaults to source directories
No sonar.oe.dotpct property, defaults to <binaries>/.pct directories
Using PROPATH : src
Adding D:\Workspace\tranborgl\TWIN360Agile\Branches\Releases\1.4.118\Twin360BackEnd\src to PROPATH
CPD annotation : 'Generated'
CPD skip method : ''
CPD skip procedure : ''
Using backslash as escape character : false
XML XREF filter activated
Using schema : df/twin360.df
Parsing D:\Workspace\tranborgl\TWIN360Agile\Branches\Releases\1.4.118\Twin360BackEnd\df\twin360.df with alias twin360
SonarLint side, using serialized file
Adding twin360 aliases to database twin360
Parsing [uri=file:/D:/Workspace/tranborgl/TWIN360Agile/Branches/Releases/1.4.118/Twin360BackEnd/src/TestWholeIndex.p]
Parsing hierarchy of '[uri=file:/D:/Workspace/tranborgl/TWIN360Agile/Branches/Releases/1.4.118/Twin360BackEnd/src/TestWholeIndex.p]' - Relative 'TestWholeIndex.p'
  RCode found: 'D:\Workspace\tranborgl\TWIN360Agile\Branches\Releases\1.4.118\Twin360BackEnd\src\TestWholeIndex.r'
Parsing rcode D:\Workspace\tranborgl\TWIN360Agile\Branches\Releases\1.4.118\Twin360BackEnd\src\TestWholeIndex.r
Listing file for '[uri=file:/D:/Workspace/tranborgl/TWIN360Agile/Branches/Releases/1.4.118/Twin360BackEnd/src/TestWholeIndex.p]' not found or contains space character - Was looking for 'null'
1 milliseconds to generate ParseUnit
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.UnquotedParameterOsCommand
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.ColonForBlock
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.UnixKeyword
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.EmptyStatement
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.BackslashInString
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.HiddenVariable
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.StatementOrder
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.SortAccessWholeIndexAnalyzer
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.SortAccessAnalyzer
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.UnusedParameter
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.DuplicateCase
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.UnusedBuffer
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.DotComment
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.UndoWithoutOption
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.AvoidFortranOperators
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.NestedDo
ActiveRule - Internal key  - Repository rssw-oe - Rule org.sonar.plugins.openedge.checks.LargeTransactionScope
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.ToDoTracker
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.BackslashCurlyBrace
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.RecidKeyword
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.NoReturnInFuncOrMethod
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.BackslashInIncludeFile
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.OneStatementPerLine
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.CompileTimeArguments
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.OfLink
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.VariableOverflow
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.RedundantCatch
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.UnusedVariable
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.ReadkeyKeyword
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.SubstituteParameters
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.BlockLabel
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.TabsIndent
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.ShareLock
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.TableScanAndWhere
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.WholeIndexAnalyzer
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.AbbreviatedKeywords
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.FindFirst
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.ReturnError
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.CommentedOutCode
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.WorkTableKeyword
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.NoReturnInFinally
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.GlobalSharedVariable
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.UsingStars
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.EmptyFieldsList
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.VariableAssignedButNotRead
Initializing metadata of file file:/D:/Workspace/tranborgl/TWIN360Agile/Branches/Releases/1.4.118/Twin360BackEnd/src/TestWholeIndex.p
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.TempTableSortAccessWholeIndexAnalyzer
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.IndentationCheck
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.InvalidUseIndex
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.ClassNoPackage
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.NoRoutineInLoop
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.PublicVariable
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.OutdatedDigest
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.NestedComments
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.TempTableWholeIndexAnalyzer
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.ClassNameCasing
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.UndefinedNamedInclude
ActiveRule - Internal key  - Repository rssw-oe - Rule org.sonar.plugins.openedge.checks.ClumsySyntax
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.SubstituteLongChar
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.VariableReadButNotAssigned
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.IncludeNameCasing
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.SharedVariable
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.DosKeyword
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.UpperCaseKeywords
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.WhereCanDo
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.LogRethrowException
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.NoInitialDefaultValue
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.NoUndo
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.ExpressionNoEffect
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.AbbreviatedTableName
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.TooManyParameters
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.DefaultImplementationForProperty
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.WrongAssignWhen
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.DisableTriggers
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.ExtraCharactersInIdentifier
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.DefaultWidgetName
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.EndType
ActiveRule - Internal key  - Repository rssw-oe-main - Rule eu.rssw.antlr.proparse.checks.SerializableError
1 files proparse'd, 0 XREF files, 0 listing files, 0 failure(s), 0 NCLOCs
AST Generation | time=1 ms
XREF Parsing   | time=0 ms
Rules          | time=1 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.AbbreviatedKeywords | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.AbbreviatedTableName | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.AvoidFortranOperators | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.BackslashCurlyBrace | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.BackslashInIncludeFile | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.BackslashInString | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.BlockLabel | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.ClassNameCasing | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.ClassNoPackage | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.ColonForBlock | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.CommentedOutCode | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.CompileTimeArguments | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.DefaultImplementationForProperty | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.DefaultWidgetName | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.DisableTriggers | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.DosKeyword | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.DotComment | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.DuplicateCase | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.EmptyFieldsList | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.EmptyStatement | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.EndType | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.ExpressionNoEffect | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.ExtraCharactersInIdentifier | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.FindFirst | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.GlobalSharedVariable | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.HiddenVariable | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.IncludeNameCasing | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.IndentationCheck | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.InvalidUseIndex | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.LogRethrowException | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.NestedComments | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.NestedDo | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.NoInitialDefaultValue | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.NoReturnInFinally | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.NoReturnInFuncOrMethod | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.NoRoutineInLoop | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.NoUndo | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.OfLink | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.OneStatementPerLine | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.OutdatedDigest | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.PublicVariable | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.ReadkeyKeyword | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.RecidKeyword | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.RedundantCatch | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.ReturnError | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.SerializableError | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.ShareLock | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.SharedVariable | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.SortAccessAnalyzer | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.SortAccessWholeIndexAnalyzer | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.StatementOrder | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.SubstituteLongChar | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.SubstituteParameters | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.TableScanAndWhere | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.TabsIndent | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.TempTableSortAccessWholeIndexAnalyzer | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.TempTableWholeIndexAnalyzer | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.ToDoTracker | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.TooManyParameters | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.UndefinedNamedInclude | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.UndoWithoutOption | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.UnixKeyword | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.UnquotedParameterOsCommand | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.UnusedBuffer | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.UnusedParameter | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.UnusedVariable | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.UpperCaseKeywords | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.UsingStars | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.VariableAssignedButNotRead | time=1 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.VariableOverflow | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.VariableReadButNotAssigned | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.WhereCanDo | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.WholeIndexAnalyzer | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.WorkTableKeyword | time=0 ms
Rule rssw-oe-main:eu.rssw.antlr.proparse.checks.WrongAssignWhen | time=0 ms
Rule rssw-oe:org.sonar.plugins.openedge.checks.ClumsySyntax | time=0 ms
Rule rssw-oe:org.sonar.plugins.openedge.checks.LargeTransactionScope | time=0 ms
'OpenEdgeDBRulesSensor' skipped because there is no related file in current project
Execute Sensor: HTML
'XML Sensor' skipped because there is no related file in current project
'Kotlin Sensor' skipped because there is no related file in current project
'PHP sensor' skipped because there is no related file in current project
'Analyzer for "php.ini" files' skipped because there is no related file in current project
'JavaScript analysis' skipped because there is no related file in current project
'TypeScript analysis' skipped because there is no related file in current project
'Ruby Sensor' skipped because there is no related file in current project
Found 1 issue(s)
Done in 44 ms
gquerret commented 2 years ago

There are debugging steps in this comment: https://github.com/Riverside-Software/sonar-openedge/issues/866#issuecomment-769061336

Can you try that ?

Tranborg commented 2 years ago

My test was on Production 12.3 and strangely missing the SonarLint plugin. I think we had it installed before.

Now testing on our Future 12.5 server with SonarSource SonarLint for Eclipse 6.2.2204 org.sonarlint.eclipse.feature.source SonarSource SonarLint for Eclipse 6.2.2204 org.sonarlint.eclipse.feature

However, the same result. Other rules works fine, but not WholeIndex.

I see there is a new 6.2.2208! Will try this later ofc.

First I will look at XREF stuff in your #866 comment....

Thanx a lot for the fast helping hands here gquerret!

Tranborg commented 2 years ago

Still not working. :( Reading your link I should look for XML XREF is loaded. This is missing here I think! What todo?

-----------------------------------------------------------------------------------
SonarLint processing file /Twin360BackEnd/src/Test.p...
Language on L/Twin360BackEnd/src/Test.p
Entering canConfigure...
useXrefXML: true
sonar.sources set to 'D:\Workspace\tranborgl\TWIN360Agile\Branches\Development\MainFuture\Twin360BackEnd\src,D:\Workspace\tranborgl\TWIN360Agile\Branches\Development\MainFuture\Twin360BackEnd\UnitTest\CommittedTest'
sonar.oe.propath set to 'D:\Workspace\tranborgl\TWIN360Agile\Branches\Development\MainFuture\Twin360BackEnd\src,D:\Workspace\tranborgl\TWIN360Agile\Branches\Development\MainFuture\Twin360BackEnd\UnitTest\CommittedTest,D:\Workspace\tranborgl\TWIN360Agile\Branches\Development\MainFuture\Twin360BackEnd,D:\TWIN360\TWINSoftware\DLC\gui\,D:\TWIN360\TWINSoftware\DLC\gui\adecomm.pl,D:\TWIN360\TWINSoftware\DLC\gui\adecomp.pl,D:\TWIN360\TWINSoftware\DLC\gui\adedict.pl,D:\TWIN360\TWINSoftware\DLC\gui\adeedit.pl,D:\TWIN360\TWINSoftware\DLC\gui\adeicon.pl,D:\TWIN360\TWINSoftware\DLC\gui\adeshar.pl,D:\TWIN360\TWINSoftware\DLC\gui\adeuib.pl,D:\TWIN360\TWINSoftware\DLC\gui\adeweb.pl,D:\TWIN360\TWINSoftware\DLC\gui\adexml.pl,D:\TWIN360\TWINSoftware\DLC\gui\dataadmin.pl,D:\TWIN360\TWINSoftware\DLC\gui\prodict.pl,D:\TWIN360\TWINSoftware\DLC\gui\protools.pl,D:\TWIN360\TWINSoftware\DLC\gui\OpenEdge.Core.pl,D:\TWIN360\TWINSoftware\DLC\gui\OpenEdge.BusinessLogic.pl,D:\TWIN360\TWINSoftware\DLC\gui\netlib\OpenEdge.Net.pl,D:\TWIN360\TWINSoftware\DLC,D:\TWIN360\TWINSoftware\DLC\bin,D:\TWIN360\TWINSoftware\DLC\tty,D:\TWIN360\TWINSoftware\DLC\gui\ablunit.pl'
Project has DB connections, looking for file D:\Workspace\tranborgl\TWIN360Agile\Branches\Development\MainFuture\Twin360BackEnd\.sonarlint\dblist.txt
Reading dblist.txt
Connected mode (using configuration of 'Twin360BackEnd' in connection 'twsonar01')
Starting analysis with configuration:
[
  projectKey: Twin360BackEnd
  baseDir: D:\Workspace\tranborgl\TWIN360Agile\Branches\Development\MainFuture\Twin360BackEnd
  extraProperties: {sonar.oe.binaries=tmp/build, sonar.sources=df,src, sonar.oe.lint.databases=D:\Workspace\tranborgl\TWIN360Agile\Branches\Development\MainFuture\Twin360BackEnd\.sonarlint/twin360.schema, sonar.oe.propath=src, sonar.oe.databases=df/twin360.df}
  moduleKey: null
  inputFiles: [
    file:/D:/Workspace/tranborgl/TWIN360Agile/Branches/Development/MainFuture/Twin360BackEnd/src/Test.p (UTF-8) [oe]
  ]
]
gquerret commented 2 years ago

Can you confirm that XML XREF is active, and that the files are created in the target directory ?

Tranborg commented 2 years ago

Yes XML is missing, thats why!

and Im struggling with the settings in the project to make this work good. This seems to be my trouble to figure out how the best way to place those files.

CABL Tested ok if the TestWholeIndex.xref.xml is in the same place as TestWholeIndex.p. I get the WholeIndex warning then.

Thanx a lot for the help!

Tranborg commented 2 years ago

Hi!

Now I can get this to work. xrefXmlDir="tmp/build" Those xml is saved in the tree under this under project. Fine, just as PCT will do.

How do I tell SonarLint analys to use this path for xml?

br

gquerret commented 2 years ago

SonarLint should automatically read the value of the XREF XML directory, and pass it to the analyzer.

gquerret commented 2 years ago

The log entry after useXrefXML: true should be XREFXMLPath: <<pathname here>>. Value is passed to analyzer through property sonar.oe.lint.xref, which is also visible in the log.