func parseDockerBuildCmd()

in builder/parse.go [23:46]


func parseDockerBuildCmd(cmd string) (dockerfile string, target string, context string) {
	fields := strings.Fields(cmd)
	prev := ""
	dockerfile = ""
	context = "."
	target = ""

	for i := 0; i < len(fields); i++ {
		v := fields[i]

		// trim quotes on all docker build command args
		if prev == "-f" || prev == "--file" {
			dockerfile = util.TrimQuotes(v)
		} else if prev == "--target" {
			target = util.TrimQuotes(v)
		} else if !strings.HasPrefix(prev, "-") && !strings.HasPrefix(v, "-") {
			context = util.TrimQuotes(v)
		}

		prev = v
	}

	return dockerfile, target, context
}