UNPKG

@atomist/sdm

Version:

Atomist Software Delivery Machine SDK

57 lines 2.99 kB
import { Configuration } from "@atomist/automation-client/lib/configuration"; import { NoParameters } from "@atomist/automation-client/lib/SmartParameters"; import { ExtensionPack } from "../../../api/machine/ExtensionPack"; import { SoftwareDeliveryMachine } from "../../../api/machine/SoftwareDeliveryMachine"; import { SoftwareDeliveryMachineConfiguration } from "../../../api/machine/SoftwareDeliveryMachineOptions"; import { PushTest } from "../../../api/mapping/PushTest"; import { CommandHandlerRegistration } from "../../../api/registration/CommandHandlerRegistration"; import { EventHandlerRegistration } from "../../../api/registration/EventHandlerRegistration"; import { ConfigureMachineOptions, DeliveryGoals, GoalConfigurer, GoalCreator } from "../configure"; import { GoalMaker } from "./mapGoals"; import { PushTestMaker } from "./mapPushTests"; export interface YamlSoftwareDeliveryMachineConfiguration { extensionPacks?: ExtensionPack[]; } export declare type YamlCommandHandlerRegistration = Omit<CommandHandlerRegistration, "name" | "paramsMaker" | "parameters">; export declare type CommandMaker<PARAMS = NoParameters> = (sdm: SoftwareDeliveryMachine) => Promise<YamlCommandHandlerRegistration> | YamlCommandHandlerRegistration; export declare type YamlEventHandler<PARAMS = NoParameters> = Omit<EventHandlerRegistration<PARAMS>, "name">; export declare type EventMaker<PARAMS = NoParameters> = (sdm: SoftwareDeliveryMachine) => Promise<YamlEventHandler<PARAMS>> | YamlEventHandler<PARAMS>; export declare type ConfigurationMaker = (cfg: Configuration) => Promise<SoftwareDeliveryMachineConfiguration<YamlSoftwareDeliveryMachineConfiguration>> | SoftwareDeliveryMachineConfiguration<YamlSoftwareDeliveryMachineConfiguration>; export declare enum Target { SDM = "sdm", Skill = "skill" } /** * Configuration options for the yaml support */ export interface ConfigureYamlOptions<G extends DeliveryGoals> { options?: ConfigureMachineOptions; tests?: Record<string, PushTest>; goals?: GoalCreator<G>; configurers?: GoalConfigurer<G> | Array<GoalConfigurer<G>>; cwd?: string; makers?: { commands: Record<string, CommandMaker>; events: Record<string, EventMaker>; goals: Record<string, GoalMaker>; tests: Record<string, PushTestMaker>; configurations: Record<string, ConfigurationMaker>; }; patterns?: { commands?: string[]; events?: string[]; ingesters?: string[]; goals?: string[]; tests?: string[]; configurations?: string[]; }; target?: Target; } /** * Load one or more yaml files to create goal sets * * When providing more than one yaml file, files are being loaded * in provided order with later files overwriting earlier ones. */ export declare function configureYaml<G extends DeliveryGoals>(patterns: string | string[], options?: ConfigureYamlOptions<G>): Promise<Configuration>; //# sourceMappingURL=configureYaml.d.ts.map