feat: allow overriding default techdocs preparers

a new extension point `TechdocsPreparerExtensionPoint` allows
registering custom preparers for the techdocs plugin.

closes #21952

Signed-off-by: Heikki Hellgren <heikki.hellgren@op.fi>
This commit is contained in:
Heikki Hellgren
2024-04-02 10:27:12 +03:00
parent f0551639e9
commit 8e28c88656
5 changed files with 58 additions and 4 deletions
+20 -1
View File
@@ -15,7 +15,7 @@
*/
import { createExtensionPoint } from '@backstage/backend-plugin-api';
import { DocsBuildStrategy } from './techdocsTypes';
import { TechdocsGenerator } from './stages';
import { PreparerBase, RemoteProtocol, TechdocsGenerator } from './stages';
/**
* Extension point type for configuring Techdocs builds.
@@ -54,3 +54,22 @@ export const techdocsGeneratorExtensionPoint =
createExtensionPoint<TechdocsGeneratorExtensionPoint>({
id: 'techdocs.generator',
});
/**
* Extension point type for configuring a custom Techdocs preparer
*
* @public
*/
export interface TechdocsPreparerExtensionPoint {
registerPreparer(protocol: RemoteProtocol, preparer: PreparerBase): void;
}
/**
* Extension point for configuring a custom Techdocs preparer
*
* @public
*/
export const techdocsPreparerExtensionPoint =
createExtensionPoint<TechdocsPreparerExtensionPoint>({
id: 'techdocs.preparer',
});
+2
View File
@@ -26,6 +26,8 @@ export * from './techdocsTypes';
export {
techdocsBuildsExtensionPoint,
techdocsGeneratorExtensionPoint,
techdocsPreparerExtensionPoint,
type TechdocsBuildsExtensionPoint,
type TechdocsGeneratorExtensionPoint,
type TechdocsPreparerExtensionPoint,
} from './extensions';