lint.go 717 B

1234567891011121314151617181920212223
  1. package v4
  2. type ConfigureFilePostProcessingStage interface {
  3. Process(conf *Config) error
  4. }
  5. var configureFilePostProcessingStages map[string]ConfigureFilePostProcessingStage
  6. func RegisterConfigureFilePostProcessingStage(name string, stage ConfigureFilePostProcessingStage) {
  7. if configureFilePostProcessingStages == nil {
  8. configureFilePostProcessingStages = make(map[string]ConfigureFilePostProcessingStage)
  9. }
  10. configureFilePostProcessingStages[name] = stage
  11. }
  12. func PostProcessConfigureFile(conf *Config) error {
  13. for k, v := range configureFilePostProcessingStages {
  14. if err := v.Process(conf); err != nil {
  15. return newError("Rejected by Postprocessing Stage ", k).AtError().Base(err)
  16. }
  17. }
  18. return nil
  19. }