Files
cards/tests/lint.gd

30 lines
917 B
GDScript

extends SceneTree
## Statische Prüfung: lädt jedes Skript; Parse- oder Kompilierfehler lassen den Lauf scheitern.
## godot --headless --path . -s tests/lint.gd
func scan(dir: String, out: Array) -> void:
var d := DirAccess.open(dir)
if d == null:
return
for sub in d.get_directories():
if not sub.begins_with("."):
scan(dir.path_join(sub), out)
for f in d.get_files():
if f.ends_with(".gd"):
out.append(dir.path_join(f))
func _initialize() -> void:
var files := []
for dir in ["res://scripts", "res://tests"]:
scan(dir, files)
var bad := 0
for path in files:
var script = load(path)
if script == null or not (script is GDScript):
printerr("FEHLER: %s lädt nicht" % path)
bad += 1
print("%d Skripte geprüft, %d fehlerhaft" % [files.size(), bad])
quit(1 if bad > 0 else 0)