mirror of
https://github.com/logos-storage/logos-storage-modules-e2e.git
synced 2026-06-13 19:09:27 +00:00
63 lines
1.4 KiB
Bash
63 lines
1.4 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
source "${SOURCE_DIR}/common.sh"
|
||
|
|
|
||
|
|
LOGOS_BASE="$(cd "${SOURCE_DIR}/.." && pwd)/logos"
|
||
|
|
export LOGOS_BASE
|
||
|
|
|
||
|
|
mkdir -p "${LOGOS_BASE}"
|
||
|
|
|
||
|
|
_find_lgx() {
|
||
|
|
local matches
|
||
|
|
mapfile -t matches < <(find -L ./ -type f -name "*.lgx")
|
||
|
|
if (( ${#matches[@]} != 1 )); then
|
||
|
|
echoerr "Expected exactly 1 LGX file, found ${#matches[@]}"
|
||
|
|
return 1
|
||
|
|
fi
|
||
|
|
realpath "${matches[0]}"
|
||
|
|
}
|
||
|
|
|
||
|
|
lg_build_local_basecamp() {
|
||
|
|
if [[ -z "${LOGOS_QT_MCP:-}" ]]; then
|
||
|
|
echoerr "LOGOS_QT_MCP is not set"
|
||
|
|
return 1
|
||
|
|
fi
|
||
|
|
cd "${LOGOS_BASE}/logos-basecamp" || return 1
|
||
|
|
nix build --override-input logos-qt-mcp "path:${LOGOS_QT_MCP}" '.#app' || return 1
|
||
|
|
if [ -e ./result/bin/LogosBasecamp ]; then
|
||
|
|
echo "${PWD}/result/bin/LogosBasecamp"
|
||
|
|
else
|
||
|
|
echoerr "No output found"
|
||
|
|
return 1
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
lg_build_local_lgx() {
|
||
|
|
local lgx module
|
||
|
|
|
||
|
|
module="$1"
|
||
|
|
cd "${LOGOS_BASE}/${module}" || return 1
|
||
|
|
nix bundle --bundler github:logos-co/nix-bundle-lgx ".#lib" || return 1
|
||
|
|
lgx=$(_find_lgx)
|
||
|
|
echoerr "LGX generated at ${lgx}"
|
||
|
|
echo "${lgx}"
|
||
|
|
}
|
||
|
|
|
||
|
|
lg_build_storage_ui_lgx() {
|
||
|
|
local lgx
|
||
|
|
|
||
|
|
cd "${LOGOS_BASE}/logos-storage-ui" || return 1
|
||
|
|
nix build '.#lgx' || return 1
|
||
|
|
lgx=$(_find_lgx)
|
||
|
|
echoerr "LGX generated at ${lgx}"
|
||
|
|
echo "${lgx}"
|
||
|
|
}
|
||
|
|
|
||
|
|
lg_start_basecamp() {
|
||
|
|
local basecamp
|
||
|
|
basecamp=$(lg_build_local_basecamp) || return 1
|
||
|
|
"${basecamp}" &
|
||
|
|
}
|