#!/bin/bash set -euo pipefail MODULE_DIR=$HOME/workspace/cue-workspace/publish switch_to_pkg() { startdir=$PWD for dep in $(cue export -e deps cue.mod/module.cue | yq -o tsv '. | keys'); do name=$(echo "$dep" | cut -d@ -f1) dir=$(dirname "$name") mod=$(basename "$name") mkdir -vp "cue.mod/pkg/$dir" cd "cue.mod/pkg/$dir" ln -vs "$MODULE_DIR/$mod" . cd "$startdir" cue mod edit --drop-require "$dep" done echo "done" } switch_to_registry() { rm -rfv cue.mod/pkg echo "cue mod tidy" cue mod tidy echo "done" } main() { if [[ ! -d cue.mod ]]; then echo "cue.mod not found" exit fi if [[ ! -d "$MODULE_DIR/libmcs" ]]; then echo "MODULE_DIR/libmcs not found" exit fi if [[ -d cue.mod/pkg ]]; then echo "switch to registry" switch_to_registry exit else echo "switch to pkg" switch_to_pkg exit fi } main