stepstone-tech / sonar-coldfusion

SonarQube ColdFusion Analyzer
Apache License 2.0
24 stars 18 forks source link

Every execution of the plugin against CFML files results in NPE #6

Closed TheRealAgentK closed 7 years ago

TheRealAgentK commented 8 years ago

I've setup the SQ CFML plugin against a CFC codebase. Essentially every single execution results in the NPE below.

Initially I thought it might be a specific file causing this, but it seems to be a problem with any CFC I point it against.

ERROR: Error during SonarQube Scanner execution java.lang.NullPointerException at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:187) at com.stepstone.sonar.plugin.coldfusion.cflint.CFlintAnalysisResultImporter.createNewIssue(CFlintAnalysisResultImporter.java:106) at com.stepstone.sonar.plugin.coldfusion.cflint.CFlintAnalysisResultImporter.handleIssueTag(CFlintAnalysisResultImporter.java:97) at com.stepstone.sonar.plugin.coldfusion.cflint.CFlintAnalysisResultImporter.parse(CFlintAnalysisResultImporter.java:74) at com.stepstone.sonar.plugin.coldfusion.cflint.CFlintAnalysisResultImporter.parse(CFlintAnalysisResultImporter.java:64) at com.stepstone.sonar.plugin.coldfusion.cflint.CFlintAnalysisResultImporter.parse(CFlintAnalysisResultImporter.java:53) at com.stepstone.sonar.plugin.coldfusion.ColdFusionSensor.importResults(ColdFusionSensor.java:74) at com.stepstone.sonar.plugin.coldfusion.ColdFusionSensor.execute(ColdFusionSensor.java:57) at org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53) at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:57) at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:49) at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:78) at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:184) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127) at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:241) at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:236) at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:226) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127) at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:47) at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:86) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127) at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:115) at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:118) at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60) at com.sun.proxy.$Proxy0.execute(Unknown Source) at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:244) at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:154) at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:110) at org.sonarsource.scanner.cli.Main.execute(Main.java:72) at org.sonarsource.scanner.cli.Main.main(Main.java:60)

The full debug output is:

INFO: Scanner configuration file: /Applications/sonar-scanner-2.7/conf/sonar-scanner.properties INFO: Project root configuration file: /Users/kai/Documents/Code/SOMEPATH/html/sonar-project.properties INFO: SonarQube Scanner 2.7 INFO: Java 1.8.0_92 Oracle Corporation (64-bit) INFO: Mac OS X 10.10.5 x86_64 INFO: Error stacktraces are turned on. INFO: User cache: /Users/kai/.sonar/cache DEBUG: Extract sonar-scanner-api-batch in temp... DEBUG: Get bootstrap index... DEBUG: Download: http://localhost:9000/batch_bootstrap/index DEBUG: Get bootstrap completed DEBUG: Create isolated classloader... DEBUG: Start temp cleaning... DEBUG: Temp cleaning done DEBUG: Execution getVersion DEBUG: Execution start DEBUG: Publish global mode INFO: Load global repositories DEBUG: GET 200 http://localhost:9000/batch/global | time=38ms INFO: Load global repositories (done) | time=103ms INFO: User cache: /Users/kai/.sonar/cache INFO: Load plugins index DEBUG: GET 200 http://localhost:9000/deploy/plugins/index.txt | time=2ms INFO: Load plugins index (done) | time=3ms DEBUG: Load plugins DEBUG: Load plugins (done) | time=10ms DEBUG: API compatibility mode is enabled on plugin C# [csharp](built with API lower than 5.2) DEBUG: API compatibility mode is enabled on plugin Git [scmgit](built with API lower than 5.2) DEBUG: API compatibility mode is enabled on plugin SVN [scmsvn](built with API lower than 5.2) DEBUG: Plugins: DEBUG: * C# 5.3.1 (csharp) DEBUG: * Java 4.0 (java) DEBUG: * Git 1.2 (scmgit) DEBUG: * ColdFusion 1.0.0 (coldfusion) DEBUG: * SVN 1.3 (scmsvn) DEBUG: * JavaScript 2.14 (javascript) DEBUG: Execution getVersion INFO: SonarQube server 6.0 INFO: Default locale: "en_US", source code encoding: "UTF-8" (analysis is platform dependent) DEBUG: Work directory: /Users/kai/Documents/Code/SOMEPATH/html/.sonar DEBUG: Execution getVersion DEBUG: Execution execute INFO: Process project properties DEBUG: Process project properties (done) | time=3ms INFO: Load project repositories DEBUG: GET 200 http://localhost:9000/batch/project.protobuf?key=SOMEKEY | time=15ms INFO: Load project repositories (done) | time=135ms DEBUG: Available languages: DEBUG: * C# => "cs" DEBUG: * Java => "java" DEBUG: * ColdFusion => "cf" DEBUG: * JavaScript => "js" INFO: Load quality profiles DEBUG: GET 200 http://localhost:9000/api/qualityprofiles/search.protobuf?projectKey=SOMEKEY | time=21ms INFO: Load quality profiles (done) | time=25ms INFO: Load active rules DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=cf-sonar-way-00063&p=1&ps=500 | time=25ms DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=cs-sonar-way-41824&p=1&ps=500 | time=74ms DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=java-sonar-way-64284&p=1&ps=500 | time=91ms DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives&activation=true&qprofile=js-sonar-way-13002&p=1&ps=500 | time=49ms INFO: Load active rules (done) | time=325ms WARN: SCM provider autodetection failed. No SCM provider claims to support this project. Please use sonar.scm.provider to define SCM of your project. INFO: Publish mode DEBUG: Start recursive analysis of project modules INFO: ------------- Scan CFCs INFO: Load server rules DEBUG: GET 200 http://localhost:9000/api/rules/list.protobuf | time=105ms INFO: Load server rules (done) | time=119ms DEBUG: Initializers : INFO: Base dir: /Users/kai/Documents/Code/SOMEPATH INFO: Working dir: /Users/kai/Documents/Code/SOMEPATH/.sonar INFO: Source paths: PATHTOASINGLECFC INFO: Source encoding: UTF-8, default locale: enUS INFO: Index files DEBUG: Declared extensions of language C# were converted to sonar.lang.patterns.cs : **/.cs DEBUG: Declared extensions of language Java were converted to sonar.lang.patterns.java : _/.java,*/_.jav DEBUG: Declared extensions of language ColdFusion were converted to sonar.lang.patterns.cf : /.cfc,_/.cfm DEBUG: Declared extensions of language JavaScript were converted to sonar.lang.patterns.js : */.js DEBUG: Language of file 'PATHTOASINGLECFC' is detected to be 'cf' INFO: 1 files indexed INFO: Quality profile for cf: Sonar way DEBUG: Code colorizer, supported languages: cs DEBUG: 'SurefireSensor' skipped because there is no related file in current project DEBUG: 'JaCoCoSensor' skipped because there is no related file in current project DEBUG: 'JaCoCoItSensor' skipped because there is no related file in current project DEBUG: 'JaCoCoOverallSensor' skipped because there is no related file in current project DEBUG: 'JavaSquidSensor' skipped because there is no related file in current project DEBUG: 'JavaScript Squid Sensor' skipped because there is no related file in current project DEBUG: Sensors : Lines Sensor -> SCM Sensor -> XmlFileSensor -> com.stepstone.sonar.plugin.coldfusion.ColdFusionSensor -> Zero Coverage Sensor -> Code Colorizer Sensor -> CPD Block Indexer INFO: Sensor Lines Sensor INFO: Sensor Lines Sensor (done) | time=12ms INFO: Sensor SCM Sensor INFO: No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it. INFO: Sensor SCM Sensor (done) | time=0ms INFO: Sensor XmlFileSensor INFO: Sensor XmlFileSensor (done) | time=0ms INFO: Sensor com.stepstone.sonar.plugin.coldfusion.ColdFusionSensor ERROR: ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. INFO: 16:41:37.304 [main] ERROR net.htmlparser.jericho - StartTag at (r23,c4,p796) missing required end tag INFO: 16:41:37.305 [main] ERROR net.htmlparser.jericho - StartTag at (r25,c4,p903) missing required end tag INFO: 16:41:37.305 [main] ERROR net.htmlparser.jericho - StartTag at (r42,c4,p1520) missing required end tag INFO: 16:41:37.310 [main] ERROR net.htmlparser.jericho - StartTag at (r74,c4,p2682) missing required end tag INFO: 16:41:37.310 [main] ERROR net.htmlparser.jericho - StartTag at (r76,c4,p2786) missing required end tag INFO: 16:41:37.311 [main] ERROR net.htmlparser.jericho - StartTag at (r91,c6,p3456) missing required end tag INFO: 16:41:37.312 [main] ERROR net.htmlparser.jericho - StartTag at (r102,c6,p4022) missing required end tag INFO: 16:41:37.312 [main] ERROR net.htmlparser.jericho - StartTag at (r120,c6,p4998) missing required end tag INFO: 16:41:37.312 [main] ERROR net.htmlparser.jericho - StartTag at (r139,c4,p6223) missing required end tag INFO: ------------------------------------------------------------------------ INFO: EXECUTION FAILURE INFO: ------------------------------------------------------------------------ INFO: Total time: 6.702s INFO: Final Memory: 49M/291M INFO: ------------------------------------------------------------------------ ERROR: Error during SonarQube Scanner execution

TheRealAgentK commented 8 years ago

This is SQ 6 with Scanner 2.7 on JVM 1.8 on a Mac btw.

TheRealAgentK commented 8 years ago

Edit: It also happens with .cfm files, too - it seems I pretty much can't scan anything.

tommywo commented 8 years ago

"StartTag at (r23,c4,p796) missing required end tag" suggest that you might have unclosed tags in the source. Can you check if that is the case?

TheRealAgentK commented 8 years ago

I was curious about that message, too. I strongly doubt it because all the cfcs work perfectly and even though they will have issues, I'm 100% certain they won't have unclosed tags all over the place as indicated by the output above (or in other experiments I ran). Will check tomorrow morning though.

tommywo commented 8 years ago

@TheRealAgentK that is not the case, you don't need to check it.

mpaluchowski commented 8 years ago

I'll see if I can reproduce this. Perhaps it's just a matter of building against an unreleased version of CFLint, with the fixes we contributed.

tstec commented 8 years ago

Hi @TheRealAgentK and thank you for creating this ticket. From stacktrace I can say that for some reasons plugin couldn't find source code to process. Can you provide sonar.properties file and full or excerpt of .sonar/cflint-result.xml file?

TheRealAgentK commented 8 years ago

I've modified the paths slightly (to protect some client/project names I can't put up here). The results in the cflint xml file all look correct to me and it seems to find all the files (well, one in this case).

In the log above that I posted initially, it says:

"INFO: 1 files indexed"

So I would think it finds a file, doesn't it?

The .properties file is simple as:

# must be unique in a given SonarQube instance
sonar.projectKey=KEY
# this is the name displayed in the SonarQube UI
sonar.projectName=NAME
sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set. 
# If not set, SonarQube starts looking for source code from the directory containing 
# the sonar-project.properties file.
sonar.sources=com/XYZ/Utils/config.cfc

# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8

The path above would point to exactly one CFC that I know works, but I tried pointing to directories before that, too. The sonar properties file lives in the parent directory of the com directory where the cfc is.

cflint-results.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<issues version="0.7.3">
<issue severity="INFO" id="AVOID_USING_STRUCTNEW" message="AVOID_USING_STRUCTNEW" category="CFLint" abbrev="AU"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="18" line="20" message="Avoid using the structNew function in production code." variable="structNew"><Expression><![CDATA[StructNew()]]></Expression></location>
</issue>
<issue severity="INFO" id="AVOID_USING_STRUCTNEW" message="AVOID_USING_STRUCTNEW" category="CFLint" abbrev="AU"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="18" line="68" message="Avoid using the structNew function in production code." variable="structNew"><Expression><![CDATA[StructNew()]]></Expression></location>
</issue>
<issue severity="INFO" id="AVOID_USING_STRUCTNEW" message="AVOID_USING_STRUCTNEW" category="CFLint" abbrev="AU"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="23" line="70" message="Avoid using the structNew function in production code." variable="structNew"><Expression><![CDATA[StructNew()]]></Expression></location>
</issue>
<issue severity="INFO" id="AVOID_USING_STRUCTNEW" message="AVOID_USING_STRUCTNEW" category="CFLint" abbrev="AU"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="21" line="106" message="Avoid using the structNew function in production code." variable="structNew"><Expression><![CDATA[StructNew()]]></Expression></location>
</issue>
<issue severity="INFO" id="AVOID_USING_STRUCTNEW" message="AVOID_USING_STRUCTNEW" category="CFLint" abbrev="AU"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="40" line="118" message="Avoid using the structNew function in production code." variable="structNew"><Expression><![CDATA[structNew()]]></Expression></location>
</issue>
<issue severity="INFO" id="AVOID_USING_STRUCTNEW" message="AVOID_USING_STRUCTNEW" category="CFLint" abbrev="AU"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="69" line="124" message="Avoid using the structNew function in production code." variable="structNew"><Expression><![CDATA[structNew()]]></Expression></location>
</issue>
<issue severity="INFO" id="AVOID_USING_STRUCTNEW" message="AVOID_USING_STRUCTNEW" category="CFLint" abbrev="AU"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="17" line="146" message="Avoid using the structNew function in production code." variable="structNew"><Expression><![CDATA[StructNew()]]></Expression></location>
</issue>
<issue severity="INFO" id="UNUSED_LOCAL_VARIABLE" message="UNUSED_LOCAL_VARIABLE" category="CFLint" abbrev="UL"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="0" line="14" message="Local variable appPath is not used in function SetExecutionParameters, consider removing it." variable="appPath"><Expression><![CDATA[]]></Expression></location>
</issue>
<issue severity="INFO" id="UNUSED_LOCAL_VARIABLE" message="UNUSED_LOCAL_VARIABLE" category="CFLint" abbrev="UL"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="0" line="18" message="Local variable i is not used in function SetExecutionParameters, consider removing it." variable="i"><Expression><![CDATA[]]></Expression></location>
</issue>
<issue severity="INFO" id="UNUSED_LOCAL_VARIABLE" message="UNUSED_LOCAL_VARIABLE" category="CFLint" abbrev="UL"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="0" line="56" message="Local variable appPath is not used in function SetVariables, consider removing it." variable="appPath"><Expression><![CDATA[]]></Expression></location>
</issue>
<issue severity="INFO" id="UNUSED_LOCAL_VARIABLE" message="UNUSED_LOCAL_VARIABLE" category="CFLint" abbrev="UL"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="0" line="58" message="Local variable j is not used in function SetVariables, consider removing it." variable="j"><Expression><![CDATA[]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_INVALID_NAME" message="VAR_INVALID_NAME" category="CFLint" abbrev="VI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="16" line="38" message="Variable XmlName is not a valid name. Please use CamelCase or underscores." variable="XmlName"><Expression><![CDATA[aSimpleConfig[1].xmlChildren[i].XmlName]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_INVALID_NAME" message="VAR_INVALID_NAME" category="CFLint" abbrev="VI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="29" line="39" message="Variable XmlText is not a valid name. Please use CamelCase or underscores." variable="XmlText"><Expression><![CDATA[aSimpleConfig[1].xmlChildren[i].XmlText]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_INVALID_NAME" message="VAR_INVALID_NAME" category="CFLint" abbrev="VI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="3" line="146" message="Variable Constants is not a valid name. Please use CamelCase or underscores." variable="Constants"><Expression><![CDATA[var Constants = StructNew()]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_INVALID_NAME" message="VAR_INVALID_NAME" category="CFLint" abbrev="VI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="3" line="148" message="Variable Constants is not a valid name. Please use CamelCase or underscores." variable="Constants"><Expression><![CDATA[Constants.Permissions.Standard]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_INVALID_NAME" message="VAR_INVALID_NAME" category="CFLint" abbrev="VI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="3" line="148" message="Variable Permissions is not a valid name. Please use CamelCase or underscores." variable="Permissions"><Expression><![CDATA[Constants.Permissions.Standard]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_INVALID_NAME" message="VAR_INVALID_NAME" category="CFLint" abbrev="VI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="3" line="148" message="Variable Standard is not a valid name. Please use CamelCase or underscores." variable="Standard"><Expression><![CDATA[Constants.Permissions.Standard]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_INVALID_NAME" message="VAR_INVALID_NAME" category="CFLint" abbrev="VI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="3" line="149" message="Variable Constants is not a valid name. Please use CamelCase or underscores." variable="Constants"><Expression><![CDATA[Constants.Permissions.Gold]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_INVALID_NAME" message="VAR_INVALID_NAME" category="CFLint" abbrev="VI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="3" line="149" message="Variable Permissions is not a valid name. Please use CamelCase or underscores." variable="Permissions"><Expression><![CDATA[Constants.Permissions.Gold]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_INVALID_NAME" message="VAR_INVALID_NAME" category="CFLint" abbrev="VI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="3" line="149" message="Variable Gold is not a valid name. Please use CamelCase or underscores." variable="Gold"><Expression><![CDATA[Constants.Permissions.Gold]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_INVALID_NAME" message="VAR_INVALID_NAME" category="CFLint" abbrev="VI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="3" line="150" message="Variable Constants is not a valid name. Please use CamelCase or underscores." variable="Constants"><Expression><![CDATA[Constants.Permissions.Platinum]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_INVALID_NAME" message="VAR_INVALID_NAME" category="CFLint" abbrev="VI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="3" line="150" message="Variable Permissions is not a valid name. Please use CamelCase or underscores." variable="Permissions"><Expression><![CDATA[Constants.Permissions.Platinum]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_INVALID_NAME" message="VAR_INVALID_NAME" category="CFLint" abbrev="VI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="3" line="150" message="Variable Platinum is not a valid name. Please use CamelCase or underscores." variable="Platinum"><Expression><![CDATA[Constants.Permissions.Platinum]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_INVALID_NAME" message="VAR_INVALID_NAME" category="CFLint" abbrev="VI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="3" line="152" message="Variable Constants is not a valid name. Please use CamelCase or underscores." variable="Constants"><Expression><![CDATA[Constants.Permissions.aPlatinum]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_INVALID_NAME" message="VAR_INVALID_NAME" category="CFLint" abbrev="VI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="3" line="152" message="Variable Permissions is not a valid name. Please use CamelCase or underscores." variable="Permissions"><Expression><![CDATA[Constants.Permissions.aPlatinum]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_INVALID_NAME" message="VAR_INVALID_NAME" category="CFLint" abbrev="VI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="3" line="154" message="Variable Constants is not a valid name. Please use CamelCase or underscores." variable="Constants"><Expression><![CDATA[Constants]]></Expression></location>
</issue>
<issue severity="INFO" id="AVOID_USING_ARRAYNEW" message="AVOID_USING_ARRAYNEW" category="CFLint" abbrev="AU"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="3" line="71" message="Use implict array construction instead (= [])." variable=""><Expression><![CDATA[<cfset stReturn.aColdCourseConfig = ArrayNew(1)>]]></Expression></location>
</issue>
<issue severity="INFO" id="AVOID_USING_ARRAYNEW" message="AVOID_USING_ARRAYNEW" category="CFLint" abbrev="AU"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="6" line="100" message="Use implict array construction instead (= [])." variable=""><Expression><![CDATA[<cfset "stReturn.stConfig.#i.xmlValue#" = ArrayNew(1)>]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="3" line="16" message="Variable has prefix or postfix aSimpleConfig and could be named better." variable="aSimpleConfig"><Expression><![CDATA[var aSimpleConfig = '']]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="3" line="20" message="Variable has prefix or postfix stReturn and could be named better." variable="stReturn"><Expression><![CDATA[var stReturn = StructNew()]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="4" line="34" message="Variable has prefix or postfix aSimpleConfig and could be named better." variable="aSimpleConfig"><Expression><![CDATA[aSimpleConfig]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="27" line="35" message="Variable has prefix or postfix aSimpleConfig and could be named better." variable="aSimpleConfig"><Expression><![CDATA[aSimpleConfig[1].xmlChildren]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="16" line="38" message="Variable has prefix or postfix aSimpleConfig and could be named better." variable="aSimpleConfig"><Expression><![CDATA[aSimpleConfig[1].xmlChildren[i].XmlName]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="29" line="39" message="Variable has prefix or postfix aSimpleConfig and could be named better." variable="aSimpleConfig"><Expression><![CDATA[aSimpleConfig[1].xmlChildren[i].XmlText]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="3" line="45" message="Variable has prefix or postfix stReturn and could be named better." variable="stReturn"><Expression><![CDATA[stReturn]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="3" line="64" message="Variable has prefix or postfix aSimpleConfig and could be named better." variable="aSimpleConfig"><Expression><![CDATA[var aSimpleConfig = '']]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="3" line="65" message="Variable has prefix or postfix aColdCourseConfig and could be named better." variable="aColdCourseConfig"><Expression><![CDATA[var aColdCourseConfig = '']]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="3" line="66" message="Variable has prefix or postfix aComplexConfigParams and could be named better." variable="aComplexConfigParams"><Expression><![CDATA[var aComplexConfigParams = '']]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="3" line="68" message="Variable has prefix or postfix stReturn and could be named better." variable="stReturn"><Expression><![CDATA[var stReturn = StructNew()]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="3" line="70" message="Variable has prefix or postfix stReturn and could be named better." variable="stReturn"><Expression><![CDATA[stReturn.stConfig]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="3" line="70" message="Variable has prefix or postfix stConfig and could be named better." variable="stConfig"><Expression><![CDATA[stReturn.stConfig]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="3" line="71" message="Variable has prefix or postfix stReturn and could be named better." variable="stReturn"><Expression><![CDATA[stReturn.aColdCourseConfig]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="3" line="71" message="Variable has prefix or postfix aColdCourseConfig and could be named better." variable="aColdCourseConfig"><Expression><![CDATA[stReturn.aColdCourseConfig]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="4" line="84" message="Variable has prefix or postfix aSimpleConfig and could be named better." variable="aSimpleConfig"><Expression><![CDATA[aSimpleConfig]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="27" line="85" message="Variable has prefix or postfix aSimpleConfig and could be named better." variable="aSimpleConfig"><Expression><![CDATA[aSimpleConfig[1].xmlChildren]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="16" line="87" message="Variable has prefix or postfix aSimpleConfig and could be named better." variable="aSimpleConfig"><Expression><![CDATA[aSimpleConfig[1].xmlChildren[i].name.xmlText]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="22" line="88" message="Variable has prefix or postfix stReturn and could be named better." variable="stReturn"><Expression><![CDATA[stReturn.stConfig]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="22" line="88" message="Variable has prefix or postfix stConfig and could be named better." variable="stConfig"><Expression><![CDATA[stReturn.stConfig]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="39" line="89" message="Variable has prefix or postfix aSimpleConfig and could be named better." variable="aSimpleConfig"><Expression><![CDATA[aSimpleConfig[1].xmlChildren[i].value.xmlText]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="4" line="97" message="Variable has prefix or postfix aComplexConfigParams and could be named better." variable="aComplexConfigParams"><Expression><![CDATA[aComplexConfigParams]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="22" line="99" message="Variable has prefix or postfix stReturn and could be named better." variable="stReturn"><Expression><![CDATA[stReturn.stConfig]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="22" line="99" message="Variable has prefix or postfix stConfig and could be named better." variable="stConfig"><Expression><![CDATA[stReturn.stConfig]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="4" line="115" message="Variable has prefix or postfix aComplexConfigParams and could be named better." variable="aComplexConfigParams"><Expression><![CDATA[aComplexConfigParams]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="22" line="117" message="Variable has prefix or postfix stReturn and could be named better." variable="stReturn"><Expression><![CDATA[stReturn.stConfig]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="22" line="117" message="Variable has prefix or postfix stConfig and could be named better." variable="stConfig"><Expression><![CDATA[stReturn.stConfig]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="6" line="118" message="Variable has prefix or postfix stReturn and could be named better." variable="stReturn"><Expression><![CDATA[stReturn.stConfig[#i.xmlValue#]]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="6" line="118" message="Variable has prefix or postfix stConfig and could be named better." variable="stConfig"><Expression><![CDATA[stReturn.stConfig[#i.xmlValue#]]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="6" line="124" message="Variable has prefix or postfix stReturn and could be named better." variable="stReturn"><Expression><![CDATA[stReturn.stConfig['#i.xmlValue#']['#j.xmlAttributes.value#']]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="6" line="124" message="Variable has prefix or postfix stConfig and could be named better." variable="stConfig"><Expression><![CDATA[stReturn.stConfig['#i.xmlValue#']['#j.xmlAttributes.value#']]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="7" line="126" message="Variable has prefix or postfix stReturn and could be named better." variable="stReturn"><Expression><![CDATA[stReturn.stConfig['#i.xmlValue#']['#j.xmlAttributes.value#']['#k.xmlName#']]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="7" line="126" message="Variable has prefix or postfix stConfig and could be named better." variable="stConfig"><Expression><![CDATA[stReturn.stConfig['#i.xmlValue#']['#j.xmlAttributes.value#']['#k.xmlName#']]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="4" line="132" message="Variable has prefix or postfix aColdCourseConfig and could be named better." variable="aColdCourseConfig"><Expression><![CDATA[aColdCourseConfig]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="27" line="133" message="Variable has prefix or postfix aColdCourseConfig and could be named better." variable="aColdCourseConfig"><Expression><![CDATA[aColdCourseConfig[1].xmlChildren]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="17" line="136" message="Variable has prefix or postfix stReturn and could be named better." variable="stReturn"><Expression><![CDATA[stReturn.aColdCourseConfig]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="17" line="136" message="Variable has prefix or postfix aColdCourseConfig and could be named better." variable="aColdCourseConfig"><Expression><![CDATA[stReturn.aColdCourseConfig]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="3" line="142" message="Variable has prefix or postfix stReturn and could be named better." variable="stReturn"><Expression><![CDATA[stReturn]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_HAS_PREFIX_OR_POSTFIX" message="VAR_HAS_PREFIX_OR_POSTFIX" category="CFLint" abbrev="VH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="3" line="152" message="Variable has prefix or postfix aPlatinum and could be named better." variable="aPlatinum"><Expression><![CDATA[Constants.Permissions.aPlatinum]]></Expression></location>
</issue>
<issue severity="ERROR" id="MISSING_VAR" message="MISSING_VAR" category="CFLint" abbrev="MV"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="3" line="12" message="Variable xExecParams is not declared with a var statement." variable="xExecParams"><Expression><![CDATA[xExecParams]]></Expression></location>
</issue>
<issue severity="INFO" id="METHOD_INVALID_NAME" message="METHOD_INVALID_NAME" category="CFLint" abbrev="MI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="0" line="7" message="Method name SetExecutionParameters is not a valid name. Please use CamelCase or underscores." variable=""><Expression><![CDATA[]]></Expression></location>
</issue>
<issue severity="INFO" id="METHOD_INVALID_NAME" message="METHOD_INVALID_NAME" category="CFLint" abbrev="MI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="0" line="50" message="Method name SetVariables is not a valid name. Please use CamelCase or underscores." variable=""><Expression><![CDATA[]]></Expression></location>
</issue>
<issue severity="INFO" id="METHOD_INVALID_NAME" message="METHOD_INVALID_NAME" category="CFLint" abbrev="MI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetConstants" column="0" line="145" message="Method name SetConstants is not a valid name. Please use CamelCase or underscores." variable=""><Expression><![CDATA[]]></Expression></location>
</issue>
<issue severity="INFO" id="FUNCTION_HINT_MISSING" message="FUNCTION_HINT_MISSING" category="CFLint" abbrev="FH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="0" line="7" message="Function SetExecutionParameters is missing a hint." variable=""><Expression><![CDATA[]]></Expression></location>
</issue>
<issue severity="WARNING" id="FUNCTION_TOO_COMPLEX" message="FUNCTION_TOO_COMPLEX" category="CFLint" abbrev="FT"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="0" line="50" message="Function SetVariables is too complex. Consider breaking the function into smaller functions." variable=""><Expression><![CDATA[]]></Expression></location>
</issue>
<issue severity="INFO" id="COMPONENT_INVALID_NAME" message="COMPONENT_INVALID_NAME" category="CFLint" abbrev="CI"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="" column="0" line="1" message="Component name config is not a valid name. Please use CamelCase and start with a capital letter." variable=""><Expression><![CDATA[]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_TOO_SHORT" message="VAR_TOO_SHORT" category="CFLint" abbrev="VT"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="3" line="18" message="Variable i should be longer than 3 characters." variable="i"><Expression><![CDATA[var i = 0]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_TOO_SHORT" message="VAR_TOO_SHORT" category="CFLint" abbrev="VT"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="3" line="57" message="Variable i should be longer than 3 characters." variable="i"><Expression><![CDATA[var i = 0]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_TOO_SHORT" message="VAR_TOO_SHORT" category="CFLint" abbrev="VT"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="3" line="58" message="Variable j should be longer than 3 characters." variable="j"><Expression><![CDATA[var j = 0]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_TOO_SHORT" message="VAR_TOO_SHORT" category="CFLint" abbrev="VT"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="3" line="59" message="Variable k should be longer than 3 characters." variable="k"><Expression><![CDATA[var k = 0]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_TOO_SHORT" message="VAR_TOO_SHORT" category="CFLint" abbrev="VT"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="40" line="99" message="Variable i should be longer than 3 characters." variable="i"><Expression><![CDATA[i.xmlValue]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_TOO_SHORT" message="VAR_TOO_SHORT" category="CFLint" abbrev="VT"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="26" line="100" message="Variable i should be longer than 3 characters." variable="i"><Expression><![CDATA[i.xmlValue]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_TOO_SHORT" message="VAR_TOO_SHORT" category="CFLint" abbrev="VT"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="74" line="104" message="Variable i should be longer than 3 characters." variable="i"><Expression><![CDATA[i.xmlValue]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_TOO_SHORT" message="VAR_TOO_SHORT" category="CFLint" abbrev="VT"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="22" line="108" message="Variable k should be longer than 3 characters." variable="k"><Expression><![CDATA[k.xmlName]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_TOO_SHORT" message="VAR_TOO_SHORT" category="CFLint" abbrev="VT"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="36" line="108" message="Variable k should be longer than 3 characters." variable="k"><Expression><![CDATA[k.xmlText]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_TOO_SHORT" message="VAR_TOO_SHORT" category="CFLint" abbrev="VT"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="47" line="110" message="Variable i should be longer than 3 characters." variable="i"><Expression><![CDATA[i.xmlValue]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_TOO_SHORT" message="VAR_TOO_SHORT" category="CFLint" abbrev="VT"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="40" line="117" message="Variable i should be longer than 3 characters." variable="i"><Expression><![CDATA[i.xmlValue]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_TOO_SHORT" message="VAR_TOO_SHORT" category="CFLint" abbrev="VT"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="74" line="122" message="Variable i should be longer than 3 characters." variable="i"><Expression><![CDATA[i.xmlValue]]></Expression></location>
</issue>
<issue severity="INFO" id="VAR_TOO_SHORT" message="VAR_TOO_SHORT" category="CFLint" abbrev="VT"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetVariables" column="85" line="126" message="Variable k should be longer than 3 characters." variable="k"><Expression><![CDATA[k.xmlText]]></Expression></location>
</issue>
<issue severity="INFO" id="ARG_HINT_MISSING" message="ARG_HINT_MISSING" category="CFLint" abbrev="AH"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="3" line="10" message="Argument baseTestPath is missing a hint." variable="baseTestPath"><Expression><![CDATA[<cfargument name="baseTestPath" type="string" default="#ExpandPath('../../../')#" required="false">]]></Expression></location>
</issue>
<issue severity="INFO" id="UNUSED_METHOD_ARGUMENT" message="UNUSED_METHOD_ARGUMENT" category="CFLint" abbrev="UM"><location file="/Users/kai/Documents/code/customer-work/123456/SOMESITE/html/com/XYZ/Utils/config.cfc" fileName="config.cfc" function="SetExecutionParameters" column="0" line="10" message="Argument basetestpath is not used in function, consider removing it." variable="basetestpath"><Expression><![CDATA[<cffunction name="SetExecutionParameters" access="public" returntype="struct" output="false">

        <!--- Default value set for running unit tests --->
        <cfargument name="baseTestPath" type="string" ]]></Expression></location>
</issue>
</issues>
TheRealAgentK commented 8 years ago

Just another quick note: I ran cflint 0.7.3 (from the ...-all.jar) against the codebase and it finishes and creates reports just fine.

tstec commented 8 years ago

To summarize. @TheRealAgentK, does this depicts, yours current project structure?

/Users/kai/Documents/code/customer-work/123456/SOMESITE/html
    |-+ .sonar
    | |- ...
    | |- cflint-config.xml 
    | \- cflint-result.xml 
    |
    |-+ .sonar.properties
    \-+ com/

Do you execute sonar-scanner from /Users/kai/Documents/code/customer-work/123456/SOMESITE/html directory?

Could you also share yours sonar coldfusion plugin configuration. You find it at http://localhost:9000/settings?category=coldfusion address?

TheRealAgentK commented 7 years ago

Sorry, I totally missed responding.

Yes, that matches the structure.

To summarize. @TheRealAgentK, does this depicts, yours current project structure?

/Users/kai/Documents/code/customer-work/123456/SOMESITE/html -+ .sonar - ... - cflint-config.xml - cflint-result.xml
-+ .sonar.properties
-\+ com/

Do you execute sonar-scanner from /Users/kai/Documents/code/customer-work/123456/SOMESITE/html directory?

Could you also share yours sonar coldfusion plugin configuration. You find it at http://localhost:9000/settings?category=coldfusion address?

andybondar commented 7 years ago

Hi there,

Similar issue affects project I'm working on:

INFO: 17:02:28.722 [main] ERROR net.htmlparser.jericho - StartTag at (r1736,c3,p91038) missing required end tag
ERROR: null
INFO: 17:02:28.904 [main] ERROR net.htmlparser.jericho - Encountered possible StartTag at (r425,c22,p23809) whose content does not match a registered StartTagType
INFO: 17:02:28.981 [main] ERROR net.htmlparser.jericho - StartTag at (r123,c3,p5025) missing required end tag
INFO: 17:02:28.981 [main] ERROR net.htmlparser.jericho - StartTag at (r214,c6,p9417) missing required end tag
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 7:06.307s
INFO: Final Memory: 46M/545M
INFO: ------------------------------------------------------------------------
ERROR: Error during SonarQube Scanner execution
java.lang.NullPointerException
    at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:187)
    at com.stepstone.sonar.plugin.coldfusion.cflint.CFlintAnalysisResultImporter.createNewIssue(CFlintAnalysisResultImporter.java:106)
    at com.stepstone.sonar.plugin.coldfusion.cflint.CFlintAnalysisResultImporter.handleIssueTag(CFlintAnalysisResultImporter.java:97)
    at com.stepstone.sonar.plugin.coldfusion.cflint.CFlintAnalysisResultImporter.parse(CFlintAnalysisResultImporter.java:74)
    at com.stepstone.sonar.plugin.coldfusion.cflint.CFlintAnalysisResultImporter.parse(CFlintAnalysisResultImporter.java:64)
    at com.stepstone.sonar.plugin.coldfusion.cflint.CFlintAnalysisResultImporter.parse(CFlintAnalysisResultImporter.java:53)
    at com.stepstone.sonar.plugin.coldfusion.ColdFusionSensor.importResults(ColdFusionSensor.java:74)
    at com.stepstone.sonar.plugin.coldfusion.ColdFusionSensor.execute(ColdFusionSensor.java:57)
    at org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53)
    at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:57)
    at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:49)
    at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:78)
    at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:182)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
    at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:247)
    at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:242)
    at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:232)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
    at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:47)
    at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:86)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
    at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:115)
    at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:118)
    at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
    at com.sun.proxy.$Proxy0.execute(Unknown Source)
    at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233)
    at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
    at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:110)
    at org.sonarsource.scanner.cli.Main.execute(Main.java:74)
    at org.sonarsource.scanner.cli.Main.main(Main.java:61)
mpaluchowski commented 7 years ago

@andybondar Can you give us more details?

tonymorelli73 commented 7 years ago

I've been debugging my own issue that very similar to this issue. We've been running CFLint 0.6 standalone for a few months, with no issues. We decided to use this SonarQube plugin (v1.2.0). We have tried to change the encoding (UTF-8 to windows-1232) with the scanner which did not help. When I look at the cflint-results.xml file, it reads as if it completely analyzed the entire repository of ColdFusion files I expected it to.

Sample output from cflint-results.xml:

<?xml version="1.0" encoding="UTF-8"?>
-<issues version="0.11.1"> -<issue abbrev="CR" category="CFLint" message="CFQUERYPARAM_REQ" id="CFQUERYPARAM_REQ" severity="WARNING"> -<location message="<cfquery name="rsdatalst"> should use <cfqueryparam/> for security reasons." variable="rsdatalst" line="7" column="1" function="" fileName="formMaintainApp.cfm" file="D:\SonarQube\SonarQubeWorkingCopy\CMS\branches\dev_5.3.0\.\APPCMD\Main\admin\formMaintainApp.cfm"> -<Expression>
<![CDATA[<cfquery name="rsdatalst" datasource="#ds#">&#x000D;&#x000A;&#x0009;select appid, name, decode(isactive, 1, 'Active','Inactive') isactive,&#x000D;&#x000A;&#x0009;personid, datestamp, namedisplay, 1 num, email_app,&#x000D;&#x000A;&#x0009;'<A href=' || '"#dir#area/]]>
</Expression> </location> </issue><?xml version="1.0" encoding="UTF-8"?>
-<issues version="0.11.1"> -<issue abbrev="CR" category="CFLint" message="CFQUERYPARAM_REQ" id="CFQUERYPARAM_REQ" severity="WARNING"> -<location message="<cfquery name="rsdatalst"> should use <cfqueryparam/> for security reasons." variable="rsdatalst" line="7" column="1" function="" fileName="formMaintainApp.cfm" file="D:\SonarQube\SonarQubeWorkingCopy\CMS\branches\dev_5.3.0\.\APPCMD\Main\admin\formMaintainApp.cfm"> -<Expression>
<![CDATA[<cfquery name="rsdatalst" datasource="#ds#">&#x000D;&#x000A;&#x0009;select appid, name, decode(isactive, 1, 'Active','Inactive') isactive,&#x000D;&#x000A;&#x0009;personid, datestamp, namedisplay, 1 num, email_app,&#x000D;&#x000A;&#x0009;'<A href=' || '"#dir#area/]]>
</Expression> </location> </issue> </issues>

Within the console log output for the scanner, we see this error repeated after successfully indexing all the cf files : ERROR: Attempt to process expression twice aborted. This may be a parsing bug. It ultimately reports an Error during SonarQube scanner execution, with the following stack trace :

java.lang.IllegalArgumentException: 0 is not a valid line for a file
        at org.sonar.api.internal.google.common.base.Preconditions.checkArgument(Preconditions.java:148)
        at org.sonar.api.batch.fs.internal.DefaultInputFile.checkValid(DefaultInputFile.java:214)
        at org.sonar.api.batch.fs.internal.DefaultInputFile.newPointer(DefaultInputFile.java:209)
        at org.sonar.api.batch.fs.internal.DefaultInputFile.selectLine(DefaultInputFile.java:246)
        at com.stepstone.sonar.plugin.coldfusion.cflint.CFlintAnalysisResultImporter.createNewIssue(CFlintAnalysisResultImporter.java:112)
        at com.stepstone.sonar.plugin.coldfusion.cflint.CFlintAnalysisResultImporter.handleIssueTag(CFlintAnalysisResultImporter.java:97)
        at com.stepstone.sonar.plugin.coldfusion.cflint.CFlintAnalysisResultImporter.parse(CFlintAnalysisResultImporter.java:74)
        at com.stepstone.sonar.plugin.coldfusion.cflint.CFlintAnalysisResultImporter.parse(CFlintAnalysisResultImporter.java:64)
        at com.stepstone.sonar.plugin.coldfusion.cflint.CFlintAnalysisResultImporter.parse(CFlintAnalysisResultImporter.java:53)
        at com.stepstone.sonar.plugin.coldfusion.ColdFusionSensor.importResults(ColdFusionSensor.java:74)
        at com.stepstone.sonar.plugin.coldfusion.ColdFusionSensor.execute(ColdFusionSensor.java:57)
        at org.sonar.batch.sensor.SensorWrapper.analyse(SensorWrapper.java:57)
        at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:58)
        at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:50)
        at org.sonar.batch.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:83)
        at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:192)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
        at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:241)
        at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:236)
        at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:226)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
        at org.sonar.batch.task.ScanTask.execute(ScanTask.java:47)
        at org.sonar.batch.task.TaskContainer.doAfterStart(TaskContainer.java:86)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
        at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:106)
        at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:119)
        at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
        at com.sun.proxy.$Proxy0.execute(Unknown Source)
        at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233)
        at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
        at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:110)
        at org.sonarsource.scanner.cli.Main.execute(Main.java:74)
        at org.sonarsource.scanner.cli.Main.main(Main.java:61)

We are using SonarQube 5.6. SonarScanner 2.8, 32-bit Java 1.8.0_91 and running on a Windows Server 2012.

sonar-project.properties:

# must be unique in a given SonarQube instance
sonar.projectKey=CMS
# this is the name displayed in the SonarQube UI
sonar.projectName=CMS
sonar.projectVersion=dev_5.3.0

# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set. 
# If not set, SonarQube starts looking for source code from the directory containing 
# the sonar-project.properties file.
sonar.sources=.

# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=windows-1252
mpaluchowski commented 7 years ago

The error 0 is not a valid line for a file means that somewhere in your cflint-result.xml there's an entry with <issue ... line="0">. Usually that'll be an <issue> of type PARSE_ERROR. That's a CFLint issue and I reported one as issue 230 which was fixed in CFLint 1.0.0.

Now, sonar-coldfusion 1.2.0 still uses CFLint 0.11.1, because as we tested 1.0.0, we found a few new problems that were breaking the analysis, this one and this one. It seems that every time a new version of CFLint comes out, there are new issues to fix.

Anyway, looking forward, I could do a pre-release sonar-coldfusion with CFLint 1.0.0, if you'd like to test whether it works better for your code, while we're waiting on 1.0.1 to fix the outstanding issues.

tonymorelli73 commented 7 years ago

There are two issue entries with "line-0" and both are preceeded by parse errors at some line and column number >0. We would be happy to try a pre-release.

mpaluchowski commented 7 years ago

Alright, I just published 1.3.0-alpha-1, which includes CFLint 1.0.0, with some new rules that CFLint added. Like said, it broke on some of our code, but may work with yours. There's a "Known Issues" section to explain those.

Let me know how it works for you.

tonymorelli73 commented 7 years ago

We tried the new plugin, and the CFlint reported over 150 "PLUGIN_ERROR" entries similar to:

<issue severity="ERROR" id="PLUGIN_ERROR:" message="PLUGIN_ERROR:" category="CFLint" abbrev="PE">
    <location file="D:\SonarQube\SonarQubeWorkingCopy\CMS\branches\dev_5.3.0\.\Common\Main\CustomTags\functions\cleanInput.cfm" fileName="cleanInput.cfm" function="" column="1" line="1" message="" variable="">
      <Expression><![CDATA[]]></Expression>
    </location>
  </issue>

With that error, the plugin reported:

ERROR: The rule 'coldfusionsquid:PLUGIN_ERROR:' does not exist.

We are going back to the 1.2.0 coldfusion plugin, and just eliminate the 1 offending file from our scan for now to see if we can get the plugin w CFlint 0.11.1 to properly analyze the other files.

One note: it appears the if a file or folder is excluded via the sonar.exclusions file, that is not passed to CFlint in any way. Is that something being addressed?

mpaluchowski commented 7 years ago

So that's bug 241 in CFLint, that's present in 1.0.0 and should be fixed in the next release. Same thing we're having. I might try to get in touch with @ryaneberly to see if we can somehow pre-test and coordinate on the CFLint releases.

On the topic of:

it appears the if a file or folder is excluded via the sonar.exclusions file, that is not passed to CFlint in any way. Is that something being addressed?

You may have noticed that this SonarQube plugin is quite basic for the moment. It's our MVP just to be able to have data in SonarQube. We do want to improve on it, including passing all available options, but so far didn't have much incentive to do so. This may change shortly, as just as I'm writing this, I finished configuring scanning for all our ColdFusion code, so I already have our own teams coming to me and asking why this or that isn't available.

Follow the Issues and Milestones sections for up to date planning.

ryaneberly commented 7 years ago

Hey Michal,

I would be glad to coordinate some pre-release testing.  The more eyes

on it the better!

On Fri, Mar 3, 2017 at 9:32 AM, Michał Paluchowski <notifications@github.com

wrote:

Closed #6 https://github.com/stepstone-tech/sonar-coldfusion/issues/6.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/stepstone-tech/sonar-coldfusion/issues/6#event-985464252, or mute the thread https://github.com/notifications/unsubscribe-auth/AFtZuzeP2TA5YxhBcV__lGzGD7sTAfP3ks5riCSDgaJpZM4J8ZWX .

tonymorelli73 commented 7 years ago

We are working to incorporate this Coldfusion scanning into our workflow, and see great promise with the plugin. I plan to try and test any pre-releases available. We also have the availability to run the CFLint tool standlone if needed.

ryaneberly commented 7 years ago

Sounds great. How do you recommend we coordinate testing in the future?

On Fri, Mar 3, 2017 at 9:54 AM, tonymorelli73 notifications@github.com wrote:

We are working to incorporate this Coldfusion scanning into our workflow, and see great promise with the plugin. I plan to try and test any pre-releases available. We also have the availability to run the CFLint tool standlone if needed.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/stepstone-tech/sonar-coldfusion/issues/6#issuecomment-283974324, or mute the thread https://github.com/notifications/unsubscribe-auth/AFtZuzRCUDfESo12XVF3g7o-V84QcST_ks5riCm7gaJpZM4J8ZWX .

mpaluchowski commented 7 years ago

Sounds good. @ryaneberly how can I contact you? My email is my dot-separated full name at stepstone.com.

@tonymorelli73 I'll try to arrange with Ryan that as soon as he thinks CFLint is ready for another release, we would publish a pre-release version of sonar-coldfusion, which we would test ourselves on our code base, and you could too. Then fix what we'll find in CFLint and do both releases.

tonymorelli73 commented 7 years ago

That sounds good. I am going to start watching the CFLint releases as well, and test these locally for any early insight to scan issues as you are integrating into sonar_coldfusion.