diff --git a/packages/code-analyzer-pmd-engine/package.json b/packages/code-analyzer-pmd-engine/package.json index 8a8c91c2..c431234b 100644 --- a/packages/code-analyzer-pmd-engine/package.json +++ b/packages/code-analyzer-pmd-engine/package.json @@ -1,7 +1,7 @@ { "name": "@salesforce/code-analyzer-pmd-engine", "description": "Plugin package that adds 'pmd' and 'cpd' as engines into Salesforce Code Analyzer", - "version": "0.14.0", + "version": "0.14.1-SNAPSHOT", "author": "The Salesforce Code Analyzer Team", "license": "BSD-3-Clause", "homepage": "https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/overview", diff --git a/packages/code-analyzer-pmd-engine/src/pmd-engine.ts b/packages/code-analyzer-pmd-engine/src/pmd-engine.ts index 656a8bf1..8ed919ee 100644 --- a/packages/code-analyzer-pmd-engine/src/pmd-engine.ts +++ b/packages/code-analyzer-pmd-engine/src/pmd-engine.ts @@ -118,7 +118,7 @@ function toRuleDescription(pmdRuleInfo: PmdRuleInfo): RuleDescription { severityLevel: toSeverityLevel(pmdRuleInfo.priority), tags: ['Recommended', pmdRuleInfo.ruleSet.replaceAll(' ', ''), languageId + 'Language'], description: pmdRuleInfo.description, - resourceUrls: [pmdRuleInfo.externalInfoUrl] // TODO: Eventually we'll want to add in well architected links + resourceUrls: pmdRuleInfo.externalInfoUrl ? [pmdRuleInfo.externalInfoUrl] : [] // TODO: Eventually we'll want to add in well architected links }; } diff --git a/packages/code-analyzer-pmd-engine/test/pmd-engine.test.ts b/packages/code-analyzer-pmd-engine/test/pmd-engine.test.ts index 62c9fe53..4b646b85 100644 --- a/packages/code-analyzer-pmd-engine/test/pmd-engine.test.ts +++ b/packages/code-analyzer-pmd-engine/test/pmd-engine.test.ts @@ -152,6 +152,7 @@ describe('Tests for the describeRules method of PmdEngine', () => { const fakeRule10Description: RuleDescription = expectContainsRuleWithName(ruleDescriptions, 'fakerule10'); // From somecat4.xml expect(fakeRule10Description.severityLevel).toEqual(SeverityLevel.High); expect(fakeRule10Description.tags).toEqual(['Recommended', 'SomeCat4', 'javascriptLanguage']); + expect(fakeRule10Description.resourceUrls).toHaveLength(0); // This particular rule purposely has no externalInfoUrl defined, so we confirm that it gives no resourceUrls. expectContainsRuleWithName(ruleDescriptions, 'fakerule11'); // From somecat4.xml expectContainsRuleWithName(ruleDescriptions, 'fakerule12'); // From somecat4.xml expectContainsRuleWithName(ruleDescriptions, 'fakerule13'); // From somecat4.xml diff --git a/packages/code-analyzer-pmd-engine/test/test-data/custom rules/subfolder/somecat4.xml b/packages/code-analyzer-pmd-engine/test/test-data/custom rules/subfolder/somecat4.xml index 2ceb49ae..816dcd13 100644 --- a/packages/code-analyzer-pmd-engine/test/test-data/custom rules/subfolder/somecat4.xml +++ b/packages/code-analyzer-pmd-engine/test/test-data/custom rules/subfolder/somecat4.xml @@ -15,8 +15,7 @@ message="Avoid using with - it's bad news" language="ecmascript" since="5.0.1" - class="net.sourceforge.pmd.lang.rule.xpath.XPathRule" - externalInfoUrl="${pmd.website.baseurl}/pmd_rules_ecmascript_bestpractices.html#avoidwithstatement"> + class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> Avoid using with - it's bad news 1