@atomist/sdm-core
Version:
Atomist Software Delivery Machine - Implementation
35 lines • 1.92 kB
TypeScript
import { Configuration, NoParameters } from "@atomist/automation-client";
import { CommandListener, EventHandlerRegistration, ExtensionPack, PushTest, SoftwareDeliveryMachine, SoftwareDeliveryMachineConfiguration } from "@atomist/sdm";
import { ConfigureMachineOptions, DeliveryGoals, GoalConfigurer, GoalCreator } from "../configure";
export interface YamlSoftwareDeliveryMachineConfiguration {
extensionPacks?: ExtensionPack[];
extensions?: {
commands?: string[];
events?: string[];
ingesters?: string[];
goals?: string[];
tests?: string[];
};
}
export declare type CommandMaker<PARAMS = NoParameters> = (sdm: SoftwareDeliveryMachine) => Promise<CommandListener> | CommandListener;
export declare type EventHandler<PARAMS = NoParameters> = Omit<EventHandlerRegistration<PARAMS>, "name">;
export declare type EventMaker<PARAMS = NoParameters> = (sdm: SoftwareDeliveryMachine) => Promise<EventHandler<PARAMS>> | EventHandler<PARAMS>;
export declare type ConfigurationMaker = (cfg: Configuration) => Promise<SoftwareDeliveryMachineConfiguration<YamlSoftwareDeliveryMachineConfiguration>> | SoftwareDeliveryMachineConfiguration<YamlSoftwareDeliveryMachineConfiguration>;
/**
* 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;
}
/**
* 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