@atomist/sdm
Version:
Atomist Software Delivery Machine SDK
57 lines • 2.99 kB
TypeScript
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