Implement go:embed

pull/165/head
Joseph Ligier 1 month ago
parent 675464a396
commit 11f3c033c8

@ -8,14 +8,20 @@ import (
"os" "os"
"os/signal" "os/signal"
"syscall" "syscall"
"bytes"
"github.com/cilium/ebpf" "github.com/cilium/ebpf"
"github.com/cilium/ebpf/link" "github.com/cilium/ebpf/link"
"github.com/cilium/ebpf/ringbuf" "github.com/cilium/ebpf/ringbuf"
_ "embed"
) )
const progName = "{{crate_name}}" const progName = "{{crate_name}}"
//go:embed .ebpf/{{project-name}}
var ebpfBytes []byte
func main() { func main() {
if len(os.Args) < 2 { if len(os.Args) < 2 {
fmt.Printf("Usage: %s <interface>\n", os.Args[0]) fmt.Printf("Usage: %s <interface>\n", os.Args[0])
@ -23,7 +29,7 @@ func main() {
} }
ifaceName := os.Args[1] ifaceName := os.Args[1]
spec, err := ebpf.LoadCollectionSpec("/tmp/{{project-name}}") spec, err := ebpf.LoadCollectionSpecFromReader(bytes.NewReader(ebpfBytes))
if err != nil { if err != nil {
log.Fatalf("LoadCollectionSpec failed: %v", err) log.Fatalf("LoadCollectionSpec failed: %v", err)
} }

@ -15,7 +15,7 @@ fn main() -> anyhow::Result<()> {
} }
let src = concat!(env!("OUT_DIR"), "/{{project-name}}"); let src = concat!(env!("OUT_DIR"), "/{{project-name}}");
let dst = "/tmp/{{project-name}}"; let dst = "{{project-name}}-go/.ebpf/{{project-name}}";
fs::copy(src, dst)?; fs::copy(src, dst)?;
Ok(()) Ok(())

Loading…
Cancel
Save