23 lines
449 B
Bash
Executable file
23 lines
449 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
prefetch_project() {
|
|
local p=$1
|
|
|
|
sha256=$(nix-prefetch-git \
|
|
--quiet \
|
|
--fetch-submodules \
|
|
--url "$(jq -r .url <<< "$p")" \
|
|
--rev "$(jq -r .revision <<< "$p")" \
|
|
| jq -r .sha256)
|
|
|
|
jq --arg sha256 "$sha256" '. + $ARGS.named' <<< "$p"
|
|
}
|
|
|
|
|
|
west manifest --freeze | \
|
|
yaml2json | \
|
|
jq -c '.manifest.projects[]' | \
|
|
while read -r p; do prefetch_project "$p"; done | \
|
|
jq --slurp
|