summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorOtavio Salvador <otavio.salvador@gmail.com>2020-05-21 23:22:34 -0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-06-26 18:26:49 +0100
commit7892a056f7e03e9c086148f8f027bd1cebf2aa68 (patch)
treec51a26d569f601d4bd41fab9e269cfc6d14098c5 /meta
parent00babfd5869087ca3167f6c0c58ef0a37228ee06 (diff)
downloadpoky-7892a056f7e03e9c086148f8f027bd1cebf2aa68.tar.gz
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] (From OE-Core rev: a0716c04ed4f062b3112e3d41abc7ea1fad3b7e7) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 11c2b06ac98cc5064640705712bffa156519f450) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/go-mod.bbclass20
1 files changed, 20 insertions, 0 deletions
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 @@
1# Handle Go Modules support
2#
3# When using Go Modules, the the current working directory MUST be at or below
4# the location of the 'go.mod' file when the go tool is used, and there is no
5# way to tell it to look elsewhere. It will automatically look upwards for the
6# file, but not downwards.
7#
8# To support this use case, we provide the `GO_WORKDIR` variable, which defaults
9# to `GO_IMPORT` but allows for easy override.
10#
11# Copyright 2020 (C) O.S. Systems Software LTDA.
12
13# The '-modcacherw' option ensures we have write access to the cached objects so
14# we avoid errors during clean task as well as when removing the TMPDIR.
15export GOBUILDFLAGS ?= "-v ${GO_LDFLAGS} -modcacherw"
16
17inherit go
18
19GO_WORKDIR ?= "${GO_IMPORT}"
20do_compile[dirs] += "${B}/src/${GO_WORKDIR}"