diff --git a/.changeset/empty-wolves-rule.md b/.changeset/empty-wolves-rule.md new file mode 100644 index 0000000000..a549cf3628 --- /dev/null +++ b/.changeset/empty-wolves-rule.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-code-coverage-backend': patch +--- + +Fix jacoco convertor to not require annotation to be set to scm-only. diff --git a/plugins/code-coverage-backend/src/service/converter/jacoco.test.ts b/plugins/code-coverage-backend/src/service/converter/jacoco.test.ts index 80de585d44..b6b43234e6 100644 --- a/plugins/code-coverage-backend/src/service/converter/jacoco.test.ts +++ b/plugins/code-coverage-backend/src/service/converter/jacoco.test.ts @@ -54,4 +54,10 @@ describe('convert jacoco', () => { expect(files.sort()).toEqual(expected.sort()); }); + + it('works when not providing files (as per not setting annotation to scm-only)', () => { + const files = converter.convert(fixture, []); + + expect(files).toHaveLength(4); + }); }); diff --git a/plugins/code-coverage-backend/src/service/converter/jacoco.ts b/plugins/code-coverage-backend/src/service/converter/jacoco.ts index ac5ccbfa45..d461cfe7d7 100644 --- a/plugins/code-coverage-backend/src/service/converter/jacoco.ts +++ b/plugins/code-coverage-backend/src/service/converter/jacoco.ts @@ -40,7 +40,6 @@ export class Jacoco implements Converter { */ convert(xml: JacocoXML, scmFiles: Array): Array { const jscov: Array = []; - xml.report.package.forEach(r => { const packageName = r.$.name; r.sourcefile.forEach(sf => { @@ -68,9 +67,12 @@ export class Jacoco implements Converter { .map(f => f.trimEnd()) .find(f => f.endsWith(packageAndFilename)); this.logger.debug(`matched ${packageAndFilename} to ${currentFile}`); - if (Object.keys(lineHits).length > 0 && currentFile) { + if ( + scmFiles.length === 0 || + (Object.keys(lineHits).length > 0 && currentFile) + ) { jscov.push({ - filename: currentFile, + filename: currentFile || packageAndFilename, branchHits: branchHits, lineHits: lineHits, });