public static <T extends Config> Stage<T, T> identity() { return config("Identity", Function.identity()); } }
public static <OUTPUT extends Config> Stage<?, OUTPUT> config(final String name, final Supplier<OUTPUT> s) { return config(name, ignore -> s.get()); }
@Override public Pipeline build(final PipelineConfig config) { stages.clear(); for (final Config c : config.getConfigStages()) { stages.add(StageUtil.config(c.toString(), f -> c)); } return new BasePipeline(config.getName(), stages, config); } };
private List<Stage> buildStages(PipelineConfig config) { List<Stage> stages = new ArrayList<>(); for (final PipelineConfigStage configStage : config.getConfigStages()) { stages.add(StageUtil.config(configStage.getName(), f -> configStage.getConfig())); } return stages; } }
final BuildRegistry buildRegistry = new InMemoryBuildRegistry(); final Stage<Input, SourceConfig> sourceConfig = config("Git Source", (s) -> new MyGitConfig()); final Stage<SourceConfig, ProjectConfig> projectConfig = config("Maven Project", (s) -> new MavenProjectConfigImpl()); final Stage<ProjectConfig, BuildConfig> buildConfig = config("Maven Build Config", (s) -> new MavenBuildConfigImpl()); final Stage<BuildConfig, BinaryConfig> buildExec = config("Maven Build", (s) -> new MavenBuildExecConfigImpl()); final Pipeline pipe = PipelineFactory
final Stage<Input, BinaryConfig> sourceConfig = config("Maven Artifact", (s) -> new MavenDependencyConfigImpl());
final BuildRegistry buildRegistry = new InMemoryBuildRegistry(); final Stage<Input, SourceConfig> sourceConfig = config("Git Source", (s) -> new MyGitConfig()); final Stage<SourceConfig, ProjectConfig> projectConfig = config("Maven Project", (s) -> new MavenProjectConfigImpl()); final Stage<ProjectConfig, BuildConfig> buildConfig = config("Maven Build Config", (s) -> new MavenBuildConfigImpl()); final Stage<BuildConfig, BinaryConfig> buildExec = config("Maven Build", (s) -> new MavenBuildExecConfigImpl()); final Pipeline pipe = PipelineFactory
final DockerAccessInterface dockerAccessInterface = new DockerAccessInterfaceImpl(); final Stage<Input, ProviderConfig> providerConfig = config("Docker Provider Config", (s) -> new DockerProviderConfig() { }); final Stage<ProviderConfig, ProvisioningConfig> runtimeConfig = config("Docker Runtime Config", (s) -> new ContextAwareDockerProvisioningConfig() { }); final Stage<ProvisioningConfig, RuntimeConfig> runtimeExec = config("Docker Runtime Exec", (s) -> new ContextAwareDockerRuntimeExecConfig());
final DockerAccessInterface dockerAccessInterface = new DockerAccessInterfaceImpl(); final Stage<Input, SourceConfig> sourceConfig = config("Git Source", (s) -> new GitConfigImpl()); final Stage<SourceConfig, ProjectConfig> projectConfig = config("Maven Project", (s) -> new MavenProjectConfigImpl()); final Stage<ProjectConfig, BuildConfig> buildConfig = config("Maven Build Config", (s) -> new MavenBuildConfigImpl()); final Stage<BuildConfig, BuildConfig> dockerBuildConfig = config("Docker Build Config", (s) -> new DockerBuildConfigImpl()); final Stage<BuildConfig, BinaryConfig> buildExec = config("Maven Build", (s) -> new MavenBuildExecConfigImpl()); final Stage<BinaryConfig, ProviderConfig> providerConfig = config("Docker Provider Config", (s) -> new DockerProviderConfigImpl()); final Stage<ProviderConfig, ProvisioningConfig> runtimeConfig = config("Docker Runtime Config", (s) -> new ContextAwareDockerProvisioningConfig()); final Stage<ProvisioningConfig, RuntimeConfig> runtimeExec = config("Docker Runtime Exec", (s) -> new ContextAwareDockerRuntimeExecConfig());
final WildflyAccessInterface wildflyAccessInterface = new WildflyAccessInterfaceImpl(); final Stage<Input, SourceConfig> sourceConfig = config("Git Source", (s) -> new GitConfig() { }); final Stage<SourceConfig, ProjectConfig> projectConfig = config("Maven Project", (s) -> new MavenProjectConfig() { }); final Stage<ProjectConfig, BuildConfig> buildConfig = config("Maven Build Config", (s) -> new MavenBuildConfig() { }); final Stage<BuildConfig, BinaryConfig> buildExec = config("Maven Build", (s) -> new MavenBuildExecConfig() { }); final Stage<BinaryConfig, ProviderConfig> providerConfig = config("Wildfly Provider Config", (s) -> new WildflyProviderConfig() { }); final Stage<ProviderConfig, RuntimeConfig> runtimeExec = config("Wildfly Runtime Exec", (s) -> new ContextAwareWildflyRuntimeExecConfig());
final WildflyAccessInterface wildflyAccessInterface = new WildflyAccessInterfaceImpl(); final Stage<Input, SourceConfig> sourceConfig = config("Git Source", (s) -> new GitConfig() { }); final Stage<SourceConfig, ProjectConfig> projectConfig = config("Maven Project", (s) -> new MavenProjectConfig() { }); final Stage<ProjectConfig, BuildConfig> buildConfig = config("Maven Build Config", (s) -> new MavenBuildConfig() { }); final Stage<BuildConfig, BinaryConfig> buildExec = config("Maven Build", (s) -> new MavenBuildExecConfig() { }); final Stage<BinaryConfig, ProviderConfig> providerConfig = config("Wildfly Provider Config", (s) -> new WildflyProviderConfig() { }); final Stage<ProviderConfig, RuntimeConfig> runtimeExec = config("Wildfly Runtime Exec", (s) -> new ContextAwareWildflyRuntimeExecConfig());