func validatePlugins(plugins map[string][]string) error {
	var errors []string
	for _, configuration := range plugins {
		for _, plugin := range configuration {
			if _, ok := pluginHelp[plugin]; !ok {
				errors = append(errors, fmt.Sprintf("unknown plugin: %s", plugin))
			}
		}
	}
	for repo, repoConfig := range plugins {
		if strings.Contains(repo, "/") {
			org := strings.Split(repo, "/")[0]
			if dupes := findDuplicatedPluginConfig(repoConfig, plugins[org]); len(dupes) > 0 {
				errors = append(errors, fmt.Sprintf("plugins %v are duplicated for %s and %s", dupes, repo, org))
			}
		}
	}

	if len(errors) > 0 {
		return fmt.Errorf("invalid plugin configuration:\n\t%v", strings.Join(errors, "\n\t"))
	}
	return nil
}
func validatePlugins(plugins map[string][]string) error {
	var errors []string
	for _, configuration := range plugins {
		for _, plugin := range configuration {
			if _, ok := pluginHelp[plugin]; !ok {
				errors = append(errors, fmt.Sprintf("unknown plugin: %s", plugin))
			}
		}
	}
	for repo, repoConfig := range plugins {
		if strings.Contains(repo, "/") {
			org := strings.Split(repo, "/")[0]
			if dupes := findDuplicatedPluginConfig(repoConfig, plugins[org]); len(dupes) > 0 {
				errors = append(errors, fmt.Sprintf("plugins %v are duplicated for %s and %s", dupes, repo, org))
			}
		}
	}

	if len(errors) > 0 {
		return fmt.Errorf("invalid plugin configuration:\n\t%v", strings.Join(errors, "\n\t"))
	}
	return nil
}
func validatePlugins ( plugins map [ string ] [ ] string ) error { var errors [ ] string for _ , configuration := range plugins { for _ , plugin := range configuration { if _ , ok := pluginHelp [ plugin ] ; ! ok { errors = append ( errors , fmt . Sprintf ( " " , plugin ) ) } } } for repo , repoConfig := range plugins { if strings . Contains ( repo , " " ) { org := strings . Split ( repo , " " ) [ 0 ] if dupes := findDuplicatedPluginConfig ( repoConfig , plugins [ org ] ) ; len ( dupes ) > 0 { errors = append ( errors , fmt . Sprintf ( " " , dupes , repo , org ) ) } } } if len ( errors ) > 0 { return fmt . Errorf ( " \n \t " , strings . Join ( errors , " \n \t " ) ) } return nil }
// validatePlugins will return error if
// there are unknown or duplicated plugins.
validatePlugins will return error if there are unknown or duplicated plugins .