func injectHCSShimSource()

in targets/pkg.go [37:59]


func injectHCSShimSource(client *dagger.Client, gitRef *dagger.GitRef, project *archive.Spec) *dagger.Directory {
	c := client.Container().
		From(MirrorPrefix()+"/buildpack-deps:buster").
		WithDirectory("/src", gitRef.Tree())

	commit, err := c.
		WithDirectory("/out", client.Directory()).
		WithWorkdir("/src").
		WithExec([]string{"awk", `/Microsoft\/hcsshim/{ print $2 >"/out/COMMIT" }`, "go.mod"}).
		File("/out/COMMIT").
		Contents(context.TODO())

	if err != nil {
		panic(err)
	}

	commit = strings.Trim(commit, " \n\t\r")

	hcsShimSourceDir := FetchRef(client, hcsShimGitRepo, commit).Tree()
	dir := c.WithDirectory("/src/hcs-shim", hcsShimSourceDir).Directory("/src")

	return dir
}