code: func validateBuilder(c *validation.Context, cfgBuilder *notifypb.Builder, builderNames stringset.Set) {
  	if cfgBuilder.Bucket == "" {
  		c.Errorf(requiredFieldError, "bucket")
  	}
  	if strings.HasPrefix(cfgBuilder.Bucket, "luci.") {
  		// TODO(tandrii): change to warning once our validation library supports it.
  		c.Errorf(`field "bucket" should not include legacy "luci.<project_name>." prefix, given %q`, cfgBuilder.Bucket)
  	}
  	if cfgBuilder.Name == "" {
  		c.Errorf(requiredFieldError, "name")
  	}
  	if cfgBuilder.Repository != "" {
  		if err := gitiles.ValidateRepoURL(cfgBuilder.Repository); err != nil {
  			c.Errorf(badRepoURLError, cfgBuilder.Repository)
  		}
  	}
  	fullName := fmt.Sprintf("%s/%s", cfgBuilder.Bucket, cfgBuilder.Name)
  	if !builderNames.Add(fullName) {
  		c.Errorf(duplicateBuilderError, fullName)
  	}
  }
docs: // validateBuilder is a helper function for validateConfig which validates
  // an individual Builder.