jscpd
Version:
Copy/paste detector for programming code, support JavaScript, CoffeeScript, PHP, Ruby, Python, Less, Go, Java, Yaml, C#, C++, C, Puppet, Twig languages
29 lines • 3.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var fs_1 = require("fs");
var fs_extra_1 = require("fs-extra");
var utils_1 = require("../utils");
var options_1 = require("../utils/options");
var XmlReporter = /** @class */ (function () {
function XmlReporter(options) {
this.options = options;
}
XmlReporter.prototype.attach = function () { };
XmlReporter.prototype.report = function (clones) {
var _this = this;
var xmlDoc = '<pmd-cpd>';
clones.forEach(function (clone) {
xmlDoc = xmlDoc + "\n <duplication lines=\"" + (clone.duplicationA.end.line - clone.duplicationA.start.line) + "\">\n <file path=\"" + utils_1.getPath(_this.options, clone.duplicationA.sourceId) + "\" line=\"" + clone.duplicationA.start.line + "\">\n <codefragment><![CDATA[" + clone.duplicationA.fragment + "]]></codefragment>\n </file>\n <file path=\"" + utils_1.getPath(_this.options, clone.duplicationB.sourceId) + "\" line=\"" + clone.duplicationB.start.line + "\">\n <codefragment><![CDATA[" + clone.duplicationB.fragment + "]]></codefragment>\n </file>\n <codefragment><![CDATA[" + clone.duplicationA.fragment + "]]></codefragment>\n </duplication>\n ";
});
xmlDoc += '</pmd-cpd>';
fs_extra_1.ensureDirSync(options_1.getOption('output', this.options));
fs_1.writeFileSync(options_1.getOption('output', this.options) + '/jscpd-report.xml', xmlDoc);
};
return XmlReporter;
}());
exports.XmlReporter = XmlReporter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlcG9ydGVycy94bWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5QkFBbUM7QUFDbkMscUNBQXlDO0FBR3pDLGtDQUFtQztBQUNuQyw0Q0FBNkM7QUFFN0M7SUFDRSxxQkFBb0IsT0FBaUI7UUFBakIsWUFBTyxHQUFQLE9BQU8sQ0FBVTtJQUFHLENBQUM7SUFFbEMsNEJBQU0sR0FBYixjQUF1QixDQUFDO0lBRWpCLDRCQUFNLEdBQWIsVUFBYyxNQUFnQjtRQUE5QixpQkF5QkM7UUF4QkMsSUFBSSxNQUFNLEdBQVcseUNBQXlDLENBQUM7UUFFL0QsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTztZQUMzQixDQUFDLENBQUMsTUFBTSxHQUFHLHlDQUF5QyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUs7WUFDbkYsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNYLE1BQU0sSUFBSSxXQUFXLENBQUM7UUFFdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFDLEtBQWE7WUFDM0IsTUFBTSxHQUFNLE1BQU0sc0NBQ0ksS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksdUNBQzdELGVBQU8sQ0FBQyxLQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGtCQUFXLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksa0RBQzdFLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSwwRUFFeEMsZUFBTyxDQUFDLEtBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsa0JBQVcsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxrREFDN0UsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLG9GQUU3QixLQUFLLENBQUMsWUFBWSxDQUFDLFFBQVEsdURBRXpELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxZQUFZLENBQUM7UUFFdkIsd0JBQWEsQ0FBQyxtQkFBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqRCxrQkFBYSxDQUFDLG1CQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBQ0gsa0JBQUM7QUFBRCxDQUFDLEFBL0JELElBK0JDO0FBL0JZLGtDQUFXIn0=
';
xmlDoc = this.options.xslHref
? xmlDoc + ' '
: xmlDoc;
xmlDoc += '