mirror of
https://git.yoctoproject.org/poky
synced 2026-02-06 00:38:45 +01:00
To keep the module cache logic in the go module fetchers simple, the unpacking of the module zip files in the module cache directory is left to the go install command in do_compile. So for do_populate_lic to find the license files of module dependencies, do_compile needs to run before do_populate_lic. (From OE-Core rev: 35496654db325a4a904997be7a02fb04de74e9be) Signed-off-by: Christian Lindeberg <christian.lindeberg@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
35 lines
1.1 KiB
Plaintext
35 lines
1.1 KiB
Plaintext
#
|
|
# Copyright OpenEmbedded Contributors
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
|
|
# Handle Go Modules support
|
|
#
|
|
# When using Go Modules, 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.
|
|
GOBUILDFLAGS:append = " -modcacherw"
|
|
|
|
inherit go
|
|
|
|
export GOMODCACHE = "${S}/pkg/mod"
|
|
GO_MOD_CACHE_DIR = "${@os.path.relpath(d.getVar('GOMODCACHE'), d.getVar('WORKDIR'))}"
|
|
do_unpack[cleandirs] += "${GOMODCACHE}"
|
|
|
|
GO_WORKDIR ?= "${GO_IMPORT}"
|
|
do_compile[dirs] += "${B}/src/${GO_WORKDIR}"
|
|
|
|
# Make go install unpack the module zip files in the module cache directory
|
|
# before the license directory is polulated with license files.
|
|
addtask do_compile before do_populate_lic
|