// gotoolchain provides information about the Go toolchain used on the host by
// rules_go.
package gotoolchain

import (
	"fmt"

	"github.com/bazelbuild/rules_go/go/tools/bazel"
)

func mustRunfile(s string) string {
	res, err := bazel.Runfile(s)
	if err != nil {
		panic(fmt.Sprintf("runfile %q not found: %v", s, err))
	}
	return res
}

var (
	// Go is a path to the `go` executable.
	Go = mustRunfile(`GOTOOL`)
	// Root is the GOROOT path.
	Root = mustRunfile(`GOROOT`)
)
