func strategyForType(strategy string) buildapi.BuildStrategy { buildStrategy := buildapi.BuildStrategy{} switch strategy { case "docker": buildStrategy.DockerStrategy = &buildapi.DockerBuildStrategy{} case "custom": buildStrategy.CustomStrategy = &buildapi.CustomBuildStrategy{} buildStrategy.CustomStrategy.From.Name = "builderimage:latest" case "source": buildStrategy.SourceStrategy = &buildapi.SourceBuildStrategy{} buildStrategy.SourceStrategy.From.Name = "builderimage:latest" } return buildStrategy }
func strategyForType(strategy buildapi.BuildStrategyType) buildapi.BuildStrategy { buildStrategy := buildapi.BuildStrategy{} buildStrategy.Type = strategy switch strategy { case buildapi.DockerBuildStrategyType: buildStrategy.DockerStrategy = &buildapi.DockerBuildStrategy{} case buildapi.CustomBuildStrategyType: buildStrategy.CustomStrategy = &buildapi.CustomBuildStrategy{} buildStrategy.CustomStrategy.From.Name = "builderimage:latest" case buildapi.SourceBuildStrategyType: buildStrategy.SourceStrategy = &buildapi.SourceBuildStrategy{} buildStrategy.SourceStrategy.From.Name = "builderimage:latest" } return buildStrategy }
func validateStrategy(strategy *buildapi.BuildStrategy) fielderrors.ValidationErrorList { allErrs := fielderrors.ValidationErrorList{} switch { case len(strategy.Type) == 0: allErrs = append(allErrs, fielderrors.NewFieldRequired("type")) case strategy.Type == buildapi.SourceBuildStrategyType: if strategy.SourceStrategy == nil { allErrs = append(allErrs, fielderrors.NewFieldRequired("stiStrategy")) } else { allErrs = append(allErrs, validateSourceStrategy(strategy.SourceStrategy).Prefix("stiStrategy")...) } case strategy.Type == buildapi.DockerBuildStrategyType: // DockerStrategy is currently optional, initialize it to a default state if it's not set. if strategy.DockerStrategy == nil { strategy.DockerStrategy = &buildapi.DockerBuildStrategy{} } allErrs = append(allErrs, validateSecretRef(strategy.DockerStrategy.PullSecret).Prefix("pullSecret")...) case strategy.Type == buildapi.CustomBuildStrategyType: if strategy.CustomStrategy == nil { allErrs = append(allErrs, fielderrors.NewFieldRequired("customStrategy")) } else { allErrs = append(allErrs, validateCustomStrategy(strategy.CustomStrategy).Prefix("customStrategy")...) } default: allErrs = append(allErrs, fielderrors.NewFieldInvalid("type", strategy.Type, "type is not in the enumerated list")) } return allErrs }
func strategyForType(t *testing.T, strategy string) buildapi.BuildStrategy { buildStrategy := buildapi.BuildStrategy{} switch strategy { case "docker": buildStrategy.DockerStrategy = &buildapi.DockerBuildStrategy{} case "custom": buildStrategy.CustomStrategy = &buildapi.CustomBuildStrategy{} buildStrategy.CustomStrategy.From.Name = "builderimage:latest" case "source": buildStrategy.SourceStrategy = &buildapi.SourceBuildStrategy{} buildStrategy.SourceStrategy.From.Name = "builderimage:latest" default: t.Fatalf("unknown strategy: %#v", strategy) } return buildStrategy }