47 lines
1.0 KiB
GDScript
47 lines
1.0 KiB
GDScript
extends SceneTree
|
|
|
|
var files: Array[String] = []
|
|
|
|
|
|
func _initialize() -> void:
|
|
collect("res://")
|
|
files.sort()
|
|
for path in files:
|
|
print(path)
|
|
var forbidden := forbidden_count()
|
|
print("ABG_PCK_INVENTORY_OK files=%d forbidden=%d" % [files.size(), forbidden])
|
|
quit(0 if forbidden == 0 else 1)
|
|
|
|
|
|
func collect(path: String) -> void:
|
|
var directory := DirAccess.open(path)
|
|
if directory == null:
|
|
push_error("cannot open %s" % path)
|
|
quit(2)
|
|
return
|
|
directory.list_dir_begin()
|
|
var name := directory.get_next()
|
|
while not name.is_empty():
|
|
var child := path.path_join(name)
|
|
if directory.current_is_dir():
|
|
collect(child)
|
|
else:
|
|
files.append(child)
|
|
name = directory.get_next()
|
|
directory.list_dir_end()
|
|
|
|
|
|
func forbidden_count() -> int:
|
|
var count := 0
|
|
for path in files:
|
|
var forbidden := (
|
|
path.begins_with("res://tests/")
|
|
or path.begins_with("res://docs/")
|
|
or path.begins_with("res://tools/")
|
|
or path.begins_with("res://evidence/")
|
|
or path.begins_with("res://build/")
|
|
)
|
|
if forbidden:
|
|
count += 1
|
|
return count
|