Closed NagarjunaParala closed 1 year ago
can you please Enable "Show StdErr"
and copy the results from the output panel?
I am getting the same error using v0.6.0. I have to roll back to version 0.5.9 for it to not error.
Do you have by any chance configured pmdBinPath
? If so, please clear this setting.
@adangel never set anything and its clear.
@derrick-ejan-rs thanks for the response. Then
can you please Enable "Show StdErr" and copy the results from the output panel?
Without an error message there is nothing I can do to help you.
By the way: are you using windows, linux or macos?
@adangel it actually has always been enabled for me.
`Analyzing c:\Users\derrick.ejan\Documents\sfdx\force-app\main\default\classes\ApprovalRequestController.cls Analyzing c:\Users\derrick.ejan\Documents\sfdx\force-app\main\default\classes\ApprovalRequestController.cls Analyzing c:\Users\derrick.ejan\Documents\sfdx\force-app\main\default\classes\ApprovalRequestController.cls stderr:[main] INFO net.sourceforge.pmd.cli.commands.internal.AbstractPmdSubcommand - Log level is at INFO [main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:101:3 99| 100| 101| <rule ^^^^^ Discontinue using Rule name category/apex/performance.xml/AvoidSoqlInLoops as it is scheduled for removal from PMD. PMD 8.0.0 will remove support for this Rule.
102| ref="category/apex/performance.xml/AvoidSoqlInLoops"
103| message="Avoid Soql queries inside loops"
[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:108:3
106|
109| ref="category/apex/performance.xml/AvoidSoslInLoops"
110| message="Avoid Sosl queries inside loops"
[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:115:3
113|
116| ref="category/apex/performance.xml/AvoidDmlStatementsInLoops"
117| message="Avoid DML Statements inside loops"
[main] ERROR net.sourceforge.pmd.cli.commands.internal.PmdCommand - Error at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:179:3
177|
180| ref="category/apex/codestyle.xml/VariableNamingConventions"
181| message="{0} variable {1} should begin with {2}"
[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:228:3
226|
229| ref="category/apex/security.xml/ApexCSRF" 230| message="Avoid making DML operations in Apex class constructor/init method" [main] ERROR net.sourceforge.pmd.cli.commands.internal.PmdCommand - Cannot load ruleset c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml: An XML validation error occurred
stderr:[main] INFO net.sourceforge.pmd.cli.commands.internal.AbstractPmdSubcommand - Log level is at INFO [main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:101:3 99| 100| 101| <rule ^^^^^ Discontinue using Rule name category/apex/performance.xml/AvoidSoqlInLoops as it is scheduled for removal from PMD. PMD 8.0.0 will remove support for this Rule.
102| ref="category/apex/performance.xml/AvoidSoqlInLoops"
103| message="Avoid Soql queries inside loops"
[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:108:3
106|
109| ref="category/apex/performance.xml/AvoidSoslInLoops"
110| message="Avoid Sosl queries inside loops"
[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:115:3
113|
116| ref="category/apex/performance.xml/AvoidDmlStatementsInLoops"
117| message="Avoid DML Statements inside loops"
[main] ERROR net.sourceforge.pmd.cli.commands.internal.PmdCommand - Error at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:179:3
177|
180| ref="category/apex/codestyle.xml/VariableNamingConventions"
181| message="{0} variable {1} should begin with {2}"
[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:228:3
226|
229| ref="category/apex/security.xml/ApexCSRF" 230| message="Avoid making DML operations in Apex class constructor/init method" [main] ERROR net.sourceforge.pmd.cli.commands.internal.PmdCommand - Cannot load ruleset c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml: An XML validation error occurred
Failed Exit Code: 1 Failed Exit Code: 1 stderr:[main] INFO net.sourceforge.pmd.cli.commands.internal.AbstractPmdSubcommand - Log level is at INFO
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:101:3 99| 100| 101| <rule ^^^^^ Discontinue using Rule name category/apex/performance.xml/AvoidSoqlInLoops as it is scheduled for removal from PMD. PMD 8.0.0 will remove support for this Rule.
102| ref="category/apex/performance.xml/AvoidSoqlInLoops"
103| message="Avoid Soql queries inside loops"
[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:108:3
106|
109| ref="category/apex/performance.xml/AvoidSoslInLoops"
110| message="Avoid Sosl queries inside loops"
[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:115:3
113|
116| ref="category/apex/performance.xml/AvoidDmlStatementsInLoops"
117| message="Avoid DML Statements inside loops"
[main] ERROR net.sourceforge.pmd.cli.commands.internal.PmdCommand - Error at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:179:3
177|
180| ref="category/apex/codestyle.xml/VariableNamingConventions"
181| message="{0} variable {1} should begin with {2}"
[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:228:3
226|
229| ref="category/apex/security.xml/ApexCSRF" 230| message="Avoid making DML operations in Apex class constructor/init method"
stderr:[main] ERROR net.sourceforge.pmd.cli.commands.internal.PmdCommand - Cannot load ruleset c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml: An XML validation error occurred
Failed Exit Code: 1 Analyzing c:\Users\derrick.ejan\Documents\sfdx\force-app\main\default\classes\ApprovalRequestController.cls stderr:[main] INFO net.sourceforge.pmd.cli.commands.internal.AbstractPmdSubcommand - Log level is at INFO
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:101:3 99| 100| 101| <rule ^^^^^ Discontinue using Rule name category/apex/performance.xml/AvoidSoqlInLoops as it is scheduled for removal from PMD. PMD 8.0.0 will remove support for this Rule.
102| ref="category/apex/performance.xml/AvoidSoqlInLoops" 103| message="Avoid Soql queries inside loops"
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:108:3
106|
109| ref="category/apex/performance.xml/AvoidSoslInLoops" 110| message="Avoid Sosl queries inside loops"
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:115:3
113|
116| ref="category/apex/performance.xml/AvoidDmlStatementsInLoops" 117| message="Avoid DML Statements inside loops"
stderr:[main] ERROR net.sourceforge.pmd.cli.commands.internal.PmdCommand - Error at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:179:3
177|
180| ref="category/apex/codestyle.xml/VariableNamingConventions" 181| message="{0} variable {1} should begin with {2}"
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:228:3
226|
229| ref="category/apex/security.xml/ApexCSRF" 230| message="Avoid making DML operations in Apex class constructor/init method"
stderr:[main] ERROR net.sourceforge.pmd.cli.commands.internal.PmdCommand - Cannot load ruleset c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml: An XML validation error occurred
Failed Exit Code: 1 Analyzing c:\Users\derrick.ejan\Documents\sfdx\force-app\main\default\classes\ApprovalRequestController.cls stderr:[main] INFO net.sourceforge.pmd.cli.commands.internal.AbstractPmdSubcommand - Log level is at INFO
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:101:3 99| 100| 101| <rule ^^^^^ Discontinue using Rule name category/apex/performance.xml/AvoidSoqlInLoops as it is scheduled for removal from PMD. PMD 8.0.0 will remove support for this Rule.
102| ref="category/apex/performance.xml/AvoidSoqlInLoops" 103| message="Avoid Soql queries inside loops"
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:108:3
106|
109| ref="category/apex/performance.xml/AvoidSoslInLoops" 110| message="Avoid Sosl queries inside loops"
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:115:3
113|
116| ref="category/apex/performance.xml/AvoidDmlStatementsInLoops" 117| message="Avoid DML Statements inside loops"
stderr:[main] ERROR net.sourceforge.pmd.cli.commands.internal.PmdCommand - Error at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:179:3
177|
180| ref="category/apex/codestyle.xml/VariableNamingConventions" 181| message="{0} variable {1} should begin with {2}"
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:228:3
226|
229| ref="category/apex/security.xml/ApexCSRF" 230| message="Avoid making DML operations in Apex class constructor/init method"
stderr:[main] ERROR net.sourceforge.pmd.cli.commands.internal.PmdCommand - Cannot load ruleset c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml: An XML validation error occurred
Failed Exit Code: 1 Analyzing c:\Users\derrick.ejan\Documents\sfdx\force-app\main\default\classes\ApprovalRequestController.cls stderr:[main] INFO net.sourceforge.pmd.cli.commands.internal.AbstractPmdSubcommand - Log level is at INFO
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:101:3 99| 100| 101| <rule ^^^^^ Discontinue using Rule name category/apex/performance.xml/AvoidSoqlInLoops as it is scheduled for removal from PMD. PMD 8.0.0 will remove support for this Rule.
102| ref="category/apex/performance.xml/AvoidSoqlInLoops" 103| message="Avoid Soql queries inside loops"
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:108:3
106|
109| ref="category/apex/performance.xml/AvoidSoslInLoops" 110| message="Avoid Sosl queries inside loops"
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:115:3
113|
116| ref="category/apex/performance.xml/AvoidDmlStatementsInLoops" 117| message="Avoid DML Statements inside loops"
stderr:[main] ERROR net.sourceforge.pmd.cli.commands.internal.PmdCommand - Error at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:179:3
177|
180| ref="category/apex/codestyle.xml/VariableNamingConventions" 181| message="{0} variable {1} should begin with {2}"
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:228:3
226|
229| ref="category/apex/security.xml/ApexCSRF" 230| message="Avoid making DML operations in Apex class constructor/init method"
stderr:[main] ERROR net.sourceforge.pmd.cli.commands.internal.PmdCommand - Cannot load ruleset c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml: An XML validation error occurred
Failed Exit Code: 1 Analyzing c:\Users\derrick.ejan\Documents\sfdx\force-app\main\default\classes\ApprovalRequestController.cls stderr:[main] INFO net.sourceforge.pmd.cli.commands.internal.AbstractPmdSubcommand - Log level is at INFO
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:101:3 99| 100| 101| <rule ^^^^^ Discontinue using Rule name category/apex/performance.xml/AvoidSoqlInLoops as it is scheduled for removal from PMD. PMD 8.0.0 will remove support for this Rule.
102| ref="category/apex/performance.xml/AvoidSoqlInLoops" 103| message="Avoid Soql queries inside loops"
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:108:3
106|
109| ref="category/apex/performance.xml/AvoidSoslInLoops" 110| message="Avoid Sosl queries inside loops"
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:115:3
113|
116| ref="category/apex/performance.xml/AvoidDmlStatementsInLoops" 117| message="Avoid DML Statements inside loops"
stderr:[main] ERROR net.sourceforge.pmd.cli.commands.internal.PmdCommand - Error at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:179:3
177|
180| ref="category/apex/codestyle.xml/VariableNamingConventions" 181| message="{0} variable {1} should begin with {2}"
stderr:[main] WARN net.sourceforge.pmd.cli.commands.internal.PmdCommand - Warning at c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml:228:3
226|
229| ref="category/apex/security.xml/ApexCSRF" 230| message="Avoid making DML operations in Apex class constructor/init method"
stderr:[main] ERROR net.sourceforge.pmd.cli.commands.internal.PmdCommand - Cannot load ruleset c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml: An XML validation error occurred
Failed Exit Code: 1`
By the way: are you using windows, linux or macos?
windows
You need to update your ruleset c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml for PMD 7 - please refer to the changed/removed rules here: https://docs.pmd-code.org/latest/pmd_release_notes_pmd7.html#-new-and-changed-rules
You need to update your ruleset c:\Users\derrick.ejan\Documents\sfdx\pmd\ruleref.xml for PMD 7 - please refer to the changed/removed rules here: https://docs.pmd-code.org/latest/pmd_release_notes_pmd7.html#-new-and-changed-rules
thanks yah just noticed that as well when seeing the output for the first time. I will give that a shot.
@adangel maybe we could parse Cannot load ruleset
and display a more directed User error to let them know the issue is with their ruleset?
@adangel maybe we could parse
Cannot load ruleset
and display a more directed User error to let them know the issue is with their ruleset?
Yes, that should be possible
Static Analysis Failed. Error Details: PMD Command Failed! Enable "Show StdErr" setting for more info.