chore: bootstrap Godot quality tools
This commit is contained in:
+4
-2
@@ -8,14 +8,16 @@ cd "$ROOT"
|
||||
|
||||
# detect gdformat
|
||||
FMT=""
|
||||
if command -v gdformat &>/dev/null; then
|
||||
if [[ -x "$ROOT/.venv/bin/gdformat" ]]; then
|
||||
FMT="$ROOT/.venv/bin/gdformat"
|
||||
elif command -v gdformat &>/dev/null; then
|
||||
FMT="gdformat"
|
||||
elif python -m gdtoolkit.formatter --help &>/dev/null 2>&1; then
|
||||
FMT="python -m gdtoolkit.formatter"
|
||||
fi
|
||||
|
||||
if [[ -z "$FMT" ]]; then
|
||||
echo "ERROR: gdformat not found. Install: pip install gdtoolkit"
|
||||
echo "ERROR: gdformat not found. Install requirements-dev.txt; see docs/local_quality_gate.md."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
+12
-4
@@ -59,6 +59,7 @@ function Find-Godot {
|
||||
}
|
||||
|
||||
function Test-GdFormat {
|
||||
if (Test-Path "$ROOT/.venv/Scripts/gdformat.exe") { return $true }
|
||||
if (Get-Command gdformat -ErrorAction SilentlyContinue) { return $true }
|
||||
try {
|
||||
$null = & python -m gdtoolkit.formatter --help 2>&1
|
||||
@@ -72,6 +73,7 @@ function Test-GdFormat {
|
||||
}
|
||||
|
||||
function Test-GdLint {
|
||||
if (Test-Path "$ROOT/.venv/Scripts/gdlint.exe") { return $true }
|
||||
if (Get-Command gdlint -ErrorAction SilentlyContinue) { return $true }
|
||||
try {
|
||||
$null = & python -m gdtoolkit.linter --help 2>&1
|
||||
@@ -86,7 +88,10 @@ function Test-GdLint {
|
||||
|
||||
function Invoke-GdFormat {
|
||||
$args = $args
|
||||
if (Get-Command gdformat -ErrorAction SilentlyContinue) {
|
||||
$localTool = "$ROOT/.venv/Scripts/gdformat.exe"
|
||||
if (Test-Path $localTool) {
|
||||
& $localTool @args 2>&1
|
||||
} elseif (Get-Command gdformat -ErrorAction SilentlyContinue) {
|
||||
& gdformat @args 2>&1
|
||||
} else {
|
||||
& python -m gdtoolkit.formatter @args 2>&1
|
||||
@@ -95,7 +100,10 @@ function Invoke-GdFormat {
|
||||
|
||||
function Invoke-GdLint {
|
||||
$args = $args
|
||||
if (Get-Command gdlint -ErrorAction SilentlyContinue) {
|
||||
$localTool = "$ROOT/.venv/Scripts/gdlint.exe"
|
||||
if (Test-Path $localTool) {
|
||||
& $localTool @args 2>&1
|
||||
} elseif (Get-Command gdlint -ErrorAction SilentlyContinue) {
|
||||
& gdlint @args 2>&1
|
||||
} else {
|
||||
& python -m gdtoolkit.linter @args 2>&1
|
||||
@@ -161,7 +169,7 @@ $fmtResult = "PASS"
|
||||
Set-Content -Path "$LOG/gdformat.log" -Value "" -Encoding utf8
|
||||
if (-not $fmtAvail) {
|
||||
$fmtResult = "SKIPPED"
|
||||
Add-Content -Path "$LOG/gdformat.log" -Value "gdformat not found -- install: pip install gdtoolkit" -Encoding utf8
|
||||
Add-Content -Path "$LOG/gdformat.log" -Value "gdformat not found -- install requirements-dev.txt (see docs/local_quality_gate.md)" -Encoding utf8
|
||||
} else {
|
||||
if ($Changed) {
|
||||
$files = Get-ChangedGd
|
||||
@@ -203,7 +211,7 @@ $lintResult = "PASS"
|
||||
Set-Content -Path "$LOG/gdlint.log" -Value "" -Encoding utf8
|
||||
if (-not $lintAvail) {
|
||||
$lintResult = "SKIPPED"
|
||||
Add-Content -Path "$LOG/gdlint.log" -Value "gdlint not found -- install: pip install gdtoolkit" -Encoding utf8
|
||||
Add-Content -Path "$LOG/gdlint.log" -Value "gdlint not found -- install requirements-dev.txt (see docs/local_quality_gate.md)" -Encoding utf8
|
||||
} else {
|
||||
if ($Changed) {
|
||||
$files = Get-ChangedGd
|
||||
|
||||
+4
-2
@@ -54,12 +54,14 @@ find_godot() {
|
||||
}
|
||||
|
||||
find_gdformat() {
|
||||
if [[ -x "$ROOT/.venv/bin/gdformat" ]]; then echo "$ROOT/.venv/bin/gdformat"; return 0; fi
|
||||
if command -v gdformat &>/dev/null; then echo "gdformat"; return 0; fi
|
||||
if python -m gdtoolkit.formatter --help &>/dev/null 2>&1; then echo "python -m gdtoolkit.formatter"; return 0; fi
|
||||
return 1
|
||||
}
|
||||
|
||||
find_gdlint() {
|
||||
if [[ -x "$ROOT/.venv/bin/gdlint" ]]; then echo "$ROOT/.venv/bin/gdlint"; return 0; fi
|
||||
if command -v gdlint &>/dev/null; then echo "gdlint"; return 0; fi
|
||||
if python -m gdtoolkit.linter --help &>/dev/null 2>&1; then echo "python -m gdtoolkit.linter"; return 0; fi
|
||||
return 1
|
||||
@@ -99,7 +101,7 @@ fmt_result="PASS"
|
||||
: > "$LOG/gdformat.log"
|
||||
if [[ -z "$fmt_tool" ]]; then
|
||||
fmt_result="SKIPPED"
|
||||
echo "gdformat not found — install: pip install gdtoolkit" > "$LOG/gdformat.log"
|
||||
echo "gdformat not found — install requirements-dev.txt (see docs/local_quality_gate.md)" > "$LOG/gdformat.log"
|
||||
else
|
||||
if $CHANGED; then
|
||||
files=$(changed_gd)
|
||||
@@ -137,7 +139,7 @@ lint_result="PASS"
|
||||
: > "$LOG/gdlint.log"
|
||||
if [[ -z "$lint_tool" ]]; then
|
||||
lint_result="SKIPPED"
|
||||
echo "gdlint not found — install: pip install gdtoolkit" > "$LOG/gdlint.log"
|
||||
echo "gdlint not found — install requirements-dev.txt (see docs/local_quality_gate.md)" > "$LOG/gdlint.log"
|
||||
else
|
||||
if $CHANGED; then
|
||||
files=$(changed_gd)
|
||||
|
||||
Reference in New Issue
Block a user