From 11c2b06ac98cc5064640705712bffa156519f450 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Thu, 21 May 2020 23:22:34 -0300 Subject: go-mod.bbclass: Add class for `go mod` support When using Go Modules, the the current working directory MUST be at or below the location of the 'go.mod' file when the go tool is used, and there is no way to tell it to look elsewhere. It will automatically look upwards for the file, but not downwards. To support this use case, we provide the `GO_WORKDIR` variable, which defaults to `GO_IMPORT` but allows for easy override. [YOCTO #13883] Signed-off-by: Otavio Salvador Signed-off-by: Richard Purdie --- meta/classes/go-mod.bbclass | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 meta/classes/go-mod.bbclass diff --git a/meta/classes/go-mod.bbclass b/meta/classes/go-mod.bbclass new file mode 100644 index 0000000000..5871d02506 --- /dev/null +++ b/meta/classes/go-mod.bbclass @@ -0,0 +1,20 @@ +# Handle Go Modules support +# +# When using Go Modules, the the current working directory MUST be at or below +# the location of the 'go.mod' file when the go tool is used, and there is no +# way to tell it to look elsewhere. It will automatically look upwards for the +# file, but not downwards. +# +# To support this use case, we provide the `GO_WORKDIR` variable, which defaults +# to `GO_IMPORT` but allows for easy override. +# +# Copyright 2020 (C) O.S. Systems Software LTDA. + +# The '-modcacherw' option ensures we have write access to the cached objects so +# we avoid errors during clean task as well as when removing the TMPDIR. +export GOBUILDFLAGS ?= "-v ${GO_LDFLAGS} -modcacherw" + +inherit go + +GO_WORKDIR ?= "${GO_IMPORT}" +do_compile[dirs] += "${B}/src/${GO_WORKDIR}" -- cgit 1.2.3-korg