func getJobNamesMap()

in linter/main.go [251:269]


func getJobNamesMap(gitRoot string) (map[string]int, error) {
	jobNamesCountMap := map[string]int{}
	allJobNames := []string{}
	yqNameEvalExpressions := map[string]string{"presubmit": ".*.*[0].name", "postsubmit": ".*.*[0].name", "periodic": ".*[0].name"}
	for jobType, expression := range yqNameEvalExpressions {
		jobNamesOutput, err := exec.Command("bash", "-c", fmt.Sprintf("find %s -type f -name '*%s*' -exec yq '%s' {} + | grep -v '\\-\\-\\-'", filepath.Join(gitRoot, "jobs/aws"), jobType, expression)).CombinedOutput()
		if err != nil {
			return nil, err
		}
		jobNames := strings.Fields(string(jobNamesOutput))
		allJobNames = append(allJobNames, jobNames...)
	}

	for _, jobName := range allJobNames {
		jobNamesCountMap[jobName]++
	}

	return jobNamesCountMap, nil
}