diff --git a/contrib/agrarian-build-menu.sh b/contrib/agrarian-build-menu.sh index 57dec3db..86cbddb6 100755 --- a/contrib/agrarian-build-menu.sh +++ b/contrib/agrarian-build-menu.sh @@ -263,8 +263,10 @@ install_bootstrap_packages() { } ensure_repo() { - WORKDIR="$(prompt "Repository directory" "$WORKDIR")" - JOBS="$(prompt "Parallel build jobs" "$JOBS")" + if [[ "${AGRARIAN_PROMPTS_DONE:-0}" != "1" ]]; then + WORKDIR="$(prompt "Repository directory" "$WORKDIR")" + JOBS="$(prompt "Parallel build jobs" "$JOBS")" + fi if [[ -d "$WORKDIR/.git" ]]; then ROOT="$WORKDIR" @@ -294,6 +296,7 @@ reexec_from_checkout() { exec env \ AGRARIAN_REEXECED=1 \ AGRARIAN_MENU_CHOICE="$MENU_CHOICE" \ + AGRARIAN_PROMPTS_DONE=1 \ BRANCH="$BRANCH" \ WORKDIR="$WORKDIR" \ JOBS="$JOBS" \ diff --git a/doc/build-menu.md b/doc/build-menu.md index fe20b517..52238200 100644 --- a/doc/build-menu.md +++ b/doc/build-menu.md @@ -18,7 +18,8 @@ pull. Target-specific packages are installed after the checkout is current, so fresh dependency fixes on the selected branch are applied before the build. After updating the checkout, the launcher restarts itself from the checked-out copy so the current branch version of the menu is used for package installation -and build steps. +and build steps. The selected target, checkout directory, and job count are +preserved across that restart. Quick Start -----------