bootstrap: prompt to install in editable mode when run interactively inside git checkout (default yes)
Some checks failed
smoke-mm / Install & smoke test mm --help (push) Has been cancelled

This commit is contained in:
nose
2025-12-24 03:29:45 -08:00
parent 2e736bfdb2
commit 2f8680ac3d
2 changed files with 27 additions and 1 deletions

View File

@@ -144,6 +144,21 @@ if (-not (Test-Path $venvPython)) { Write-Log "Created venv but could not find p
Write-Log "Using venv python: $venvPython"
if (-not $NoInstall) {
# Suggest editable install for development checkouts (interactive git clones)
if (-not $Editable) {
$isGit = $false
try {
if (Test-Path (Join-Path $repoRoot '.git')) { $isGit = $true }
elseif ((Get-Command git -ErrorAction SilentlyContinue) -ne $null) {
try { $gitOut = & git -C $repoRoot rev-parse --is-inside-work-tree 2>$null; if ($gitOut -eq 'true') { $isGit = $true } } catch {}
}
} catch {}
if ($isGit -and -not $Quiet) {
$ans = Read-Host "It looks like this is a development checkout (git repo). Install project in editable mode for development? (Y/n)"
if ($ans -eq '' -or $ans -eq 'y' -or $ans -eq 'Y') { $Editable = $true; Write-Log "Selected editable install for development." "INFO" }
}
}
Write-Log "Upgrading pip, setuptools, wheel"
try { & $venvPython -m pip install -U pip setuptools wheel } catch { Write-Log "pip upgrade failed: $_" "ERROR"; exit 5 }

View File

@@ -258,7 +258,18 @@ if [[ ! -x "$VENV_PY" ]]; then
exit 3
fi
if [[ "$NOINSTALL" != "true" ]]; then
if [[ "$NOINSTALL" != "true" ]]; then # If not explicitly requested, suggest editable install for development checkouts
if [[ "$EDITABLE" != "true" ]]; then
if [[ -d "$REPO/.git" ]] || git -C "$REPO" rev-parse --is-inside-work-tree >/dev/null 2>&1; then
if [[ "$QUIET" != "true" && -t 0 ]]; then
read -p "It looks like this is a development checkout (git repo). Install project in editable mode for development? (Y/n) " devans
if [[ -z "$devans" || "$devans" == "y" || "$devans" == "Y" ]]; then
EDITABLE=true
echo "Selected: editable install for development"
fi
fi
fi
fi
echo "Upgrading pip, setuptools, wheel..."
"$VENV_PY" -m pip install -U pip setuptools wheel