Мне удалось управлять некоторым кодом для архивирования этой цели, но я чувствую, что это решение не является идеальным, но в любом случае, пожалуйста, посмотрите, почему.
Сначала давайте сравним команду вывода git ( git describe --abbrev = 4 --dirty - always --long ) * на основе рецепта и из репозитория git, чтобы убедиться, что он работает как ожидалось:
$ bitbake --environment hello-world | grep ^PV=
PV="4b5f"
$ git remote -v | grep fetch
origin https://github.com/leachim6/hello-world.git (fetch)
$ git describe --abbrev=4 --always --long
4b5f
Как это сделать? В целях тестирования я выбрал hello-world репозиторий, в последнее время для определения PV я использую битбаке функцию python что позволяет мне выводить выход из такой функции на PV , содержимое рецепта:
$ cat ../meta-test/recipes-hello-world/hello-world/hello-world_git.bb
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2c4ac2930215d12ccb72d945112a0fa3"
SRC_URI = "git://github.com/leachim6/hello-world.git;protocol=https"
SRCREV = "4b5ff1ef90ceb442f5633fc9e5d28297ac0f69ff"
PV = "${@define_pn(d)}"
def define_pn(d):
import subprocess
source_dir = d.getVar('DL_DIR') + "/git2/github.com.leachim6.hello-world.git/"
cmd = "git describe --abbrev=4 --always --long"
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True, cwd=source_dir)
out, err = proc.communicate()
return out.decode("utf-8").rstrip()
. Мое главное в этом решении - как правильно настроить переменную source_dir в функции python, что будет много гибкий. Я пытался использовать переменную $ {S}, но без везения - у меня возникли ошибки python во время разбора рецепта - g2] с ошибкой . Я не настолько продвинутый в коде bitbake , но, возможно, кто-то еще может обеспечить лучший способ настройки этого правильного пути.
* пока я использовал исходную команду с - -dirty , в выводе bitbake было PV = "4b5f-dirty", без него вывод такой же, как в репозитории git.
Ваш недостающий 1 уровень во вторых декодированных данных JSON ...
{"DadosBasicos":{"NomeCompl...
Таким образом, ваш адрес электронной почты на самом деле в
$email = $json_002->DadosBasicos->Login;