blob: 09917b327e75a9a48da8156328749050650ea056 [file] [log] [blame] [edit]
// Example for using runfiles with Go.
package main
import (
"fmt"
"log"
"os"
"path/filepath"
"github.com/bazelbuild/rules_go/go/runfiles"
)
const (
someFile = "examples/runfile.txt"
)
func main() {
r, err := runfiles.New()
if err != nil {
log.Fatalf("Failed to create Runfiles object: %v", err)
}
root := runfiles.CallerRepository()
if root == "" {
root = "_main"
}
path, err := r.Rlocation(filepath.Join(root, someFile))
if err != nil {
log.Fatalf("Failed to find rlocation: %v", err)
}
fmt.Println("The content of my runfile is:")
data, err := os.ReadFile(path)
if err != nil {
log.Fatalf("Failed to read file: %v", err)
}
fmt.Print(string(data))
}