1 | import { RemoteRepoRef } from "@atomist/automation-client/lib/operations/common/RepoId";
|
2 | import { ProjectPersister } from "@atomist/automation-client/lib/operations/generate/generatorUtils";
|
3 | import { RepoCreationParameters } from "@atomist/automation-client/lib/operations/generate/RepoCreationParameters";
|
4 | import { SeedDrivenGeneratorParameters } from "@atomist/automation-client/lib/operations/generate/SeedDrivenGeneratorParameters";
|
5 | import { Project } from "@atomist/automation-client/lib/project/Project";
|
6 | import { NoParameters } from "@atomist/automation-client/lib/SmartParameters";
|
7 | import { Maker } from "@atomist/automation-client/lib/util/constructionUtils";
|
8 | import { CommandListenerInvocation } from "../listener/CommandListener";
|
9 | import { ParametersInvocation } from "../listener/ParametersInvocation";
|
10 | import { ProjectOperationRegistration } from "./ProjectOperationRegistration";
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 | export declare type StartingPoint<PARAMS> = Project | RemoteRepoRef | ((pi: PARAMS & CommandListenerInvocation<PARAMS>) => (RemoteRepoRef | Project | Promise<Project>));
|
17 | /**
|
18 | * Action that executes after the project has been generated and pushed
|
19 | * to the remote repository.
|
20 | */
|
21 | export declare type ProjectAction<PARAMS> = (p: Project, pi: PARAMS & ParametersInvocation<PARAMS>) => Promise<void>;
|
22 |
|
23 |
|
24 |
|
25 | export interface GeneratorRegistration<PARAMS = NoParameters> extends ProjectOperationRegistration<PARAMS, SeedDrivenGeneratorParameters> {
|
26 | |
27 |
|
28 |
|
29 |
|
30 |
|
31 | startingPoint?: StartingPoint<PARAMS>;
|
32 | |
33 |
|
34 |
|
35 | projectPersister?: ProjectPersister;
|
36 | |
37 |
|
38 |
|
39 |
|
40 | fallbackTarget?: Maker<RepoCreationParameters>;
|
41 | |
42 |
|
43 |
|
44 |
|
45 |
|
46 | afterAction?: ProjectAction<PARAMS & SeedDrivenGeneratorParameters> | Array<ProjectAction<PARAMS & SeedDrivenGeneratorParameters>>;
|
47 | }
|
48 |
|
\ | No newline at end of file |