Última atividade 1 month ago

Revisão 10a2e9ed2cf66b5813391bce91eee5775d3648c0

cue-mod-switch.sh Bruto
1#!/bin/bash
2
3set -euo pipefail
4
5CUE_MODULES_DIR=$HOME/workspace/cue-workspace/publish
6
7switch_to_pkg() {
8 startdir=$PWD
9 for dep in $(cue export -e deps cue.mod/module.cue | yq -o tsv '. | keys'); do
10 name=$(echo "$dep" | cut -d@ -f1)
11 dir=$(dirname "$name")
12 mod=$(basename "$name")
13 mkdir -vp "cue.mod/pkg/$dir"
14 cd "cue.mod/pkg/$dir"
15 ln -vs "$CUE_MODULES_DIR/$mod" .
16 cd "$startdir"
17 cue mod edit --drop-require "$dep"
18 done
19 echo "done"
20}
21
22switch_to_registry() {
23 rm -rfv cue.mod/pkg
24 echo "cue mod tidy"
25 cue mod tidy
26 echo "done"
27}
28
29main() {
30
31 if [[ ! -d cue.mod ]]; then
32 echo "cue.mod not found"
33 exit
34 fi
35
36 if [[ ! -d "$CUE_MODULES_DIR/libmcs" ]]; then
37 echo "CUE_MODULES_DIR/libmcs not found"
38 exit
39 fi
40
41 if [[ -d cue.mod/pkg ]]; then
42 echo "switch to registry"
43 switch_to_registry
44 exit
45 else
46 echo "switch to pkg directory"
47 switch_to_pkg
48 exit
49 fi
50}
51
52main
53