@ui5/task-adaptation
Version:
Custom task for ui5-builder which allows building UI5 Flexibility Adaptation Projects for SAP BTP, Cloud Foundry environment
30 lines • 1.16 kB
JavaScript
import AbapProcessor from "./abapProcessor.js";
import AbapRepoManager from "../repositories/abapRepoManager.js";
import AnnotationManager from "../annotationManager.js";
import CFProcessor from "./cfProcessor.js";
export function determineProcessor(configuration) {
const abapRepoManager = new AbapRepoManager(configuration);
const annotationManager = new AnnotationManager(configuration, abapRepoManager);
const processors = [
new CFProcessor(configuration),
new AbapProcessor(configuration, abapRepoManager, annotationManager)
];
let processor = processors.find(processor => processor.getConfigurationType() === configuration.type);
if (processor) {
processor.validateConfiguration();
return processor;
}
else {
for (const processor of processors) {
try {
processor.validateConfiguration();
return processor;
}
catch (_error) {
continue;
}
}
}
throw new Error("ui5.yaml configuration should correspond either ABAP or SAP BTP landscape");
}
//# sourceMappingURL=processor.js.map