func setAvgTimeFlagDefaults()

in cli/bpbuild/cmd.go [89:143]


func setAvgTimeFlagDefaults() error {
	// if no explicit repo name specified via flag, try to auto discover
	if avgTimeFlags.repoName == "" {
		Log.Info("No repo specified, attempting to detect repo name from current dir")
		path, err := os.Getwd()
		if err != nil {
			return fmt.Errorf("error getting working dir: %w", err)
		}
		r, err := getRepoName(path)
		if err != nil {
			return fmt.Errorf("error finding repo name: %w", err)
		}
		if r == "" {
			return fmt.Errorf("unable to detect repo name, please specify a name using --repo")
		}
		avgTimeFlags.repoName = r
		Log.Info("Found repo", "default", avgTimeFlags.repoName)
	}

	// if no explicit build step specified via flag, prompt user with possible options from CloudBuild configs.
	if avgTimeFlags.buildStepID == "" {
		Log.Info("No build ID specified, attempting to find and prompt for build step ID from build file.")
		buildFile, err := getBuildFromFile(avgTimeFlags.buildFilePath)
		if err != nil {
			return fmt.Errorf("error finding build file: %w", err)
		}
		steps := getBuildStepIDs(buildFile)
		avgTimeFlags.buildStepID = util.PromptSelect("Select build step to compute average", steps)
	}

	// if no explicit start time, default to starting computation from one month ago.
	if avgTimeFlags.lookUpStart == "" {
		avgTimeFlags.lookUpStart = time.Now().AddDate(0, -1, 0).Format("01-02-2006")
		Log.Info("No start time specified.", "default", avgTimeFlags.lookUpStart)
	}

	startTime, err := getTimeFromStr(avgTimeFlags.lookUpStart)
	if err != nil {
		return fmt.Errorf("error converting %s to time: %w", avgTimeFlags.lookUpStart, err)
	}
	avgTimeFlags.lookUpStartTime = startTime

	// if no explicit end time, default to ending computation to now.
	if avgTimeFlags.lookUpEnd == "" {
		avgTimeFlags.lookUpEnd = time.Now().Format("01-02-2006")
		Log.Info("No end time specified.", "default", avgTimeFlags.lookUpEnd)
	}

	endTime, err := getTimeFromStr(avgTimeFlags.lookUpEnd)
	if err != nil {
		return fmt.Errorf("error converting %s to time: %w", avgTimeFlags.lookUpEnd, err)
	}
	avgTimeFlags.lookUpEndTime = endTime
	return nil
}