diff --git a/pmd-cataloger/build.gradle.kts b/pmd-cataloger/build.gradle.kts index 966b43f10..bc7f90997 100644 --- a/pmd-cataloger/build.gradle.kts +++ b/pmd-cataloger/build.gradle.kts @@ -9,7 +9,7 @@ group = "sfdx" version = "1.0" val distDir = "$buildDir/../../dist" -val pmdVersion = "6.47.0" +val pmdVersion = "6.48.0" val pmdFile = "pmd-bin-$pmdVersion.zip" val pmdUrl = "https://github.com/pmd/pmd/releases/download/pmd_releases%2F${pmdVersion}/${pmdFile}" val skippableJarRegexes = setOf("""^common_[\d\.-]*\.jar""".toRegex(), diff --git a/src/Constants.ts b/src/Constants.ts index 2481a2b4a..e4538ae52 100644 --- a/src/Constants.ts +++ b/src/Constants.ts @@ -1,7 +1,7 @@ import os = require('os'); import path = require('path'); -export const PMD_VERSION = '6.47.0'; +export const PMD_VERSION = '6.48.0'; export const SFGE_VERSION = '1.0.1-pilot'; export const CATALOG_FILE = 'Catalog.json'; export const CUSTOM_PATHS_FILE = 'CustomPaths.json'; diff --git a/src/lib/cpd/CpdEngine.ts b/src/lib/cpd/CpdEngine.ts index ac7c11b69..3cecab2b2 100644 --- a/src/lib/cpd/CpdEngine.ts +++ b/src/lib/cpd/CpdEngine.ts @@ -189,8 +189,8 @@ export class CpdEngine extends AbstractRuleEngine { if (xmlStart != -1 && xmlEnd != -1) { const cpdXml = stdout.slice(xmlStart, xmlEnd + cpdEnd.length); const cpdJson: Element = xml2js(cpdXml, {compact: false, ignoreDeclaration: true}) as Element; - - const duplications = cpdJson.elements[0].elements; + // Not all of the elements in this list will be duplication tags. We only want the ones that are. + const duplications = (cpdJson.elements[0].elements || []).filter(element => element.name === "duplication"); if (duplications) { ruleResults = this.jsonToRuleResults(duplications); }