Sonderfall für Host: src/ui/contribution.json direkt ohne Unterverzeichnis-Scan #5

Closed
opened 2026-05-10 21:43:14 +02:00 by michael · 1 comment
Owner

Ziel

scanner.lua soll nicht nur Unterverzeichnisse eines Scan-Roots durchsuchen,
sondern auch den Root selbst als Host-Contribution erkennen.

Hintergrund

Jedes DAW-Host-Programm hat eigene Commands die in src/ui/contribution.json
deklariert sind. Der Host traegt sich selbst in den Scan-Roots ein:

# merkwerk.conf
[ui]
scan = src, src/modules

Damit scan_root("src") die Host-Contribution findet, muss es pruefen ob
src/ui/contribution.json + config/module.conf im Root selbst liegen --
nicht nur in seinen Unterverzeichnissen.

Akzeptanzkriterien

  • scan_root(root) prueft zusaetzlich: <root>/ui/contribution.json +
    <project-root>/config/module.conf
  • lua.require aus module.conf wird als require_path verwendet
  • Subverzeichnis-Scan bleibt unveraendert
  • Bestehende Tests bleiben gruen

Technische Notes

Erkennung: wenn <root>/ui/contribution.json existiert, suche module.conf
relativ zum Root (../config/module.conf wenn root = src).

Einfachster Weg: separater Check am Anfang von scan_root vor dem
fs.list_dirs Loop.

## Ziel `scanner.lua` soll nicht nur Unterverzeichnisse eines Scan-Roots durchsuchen, sondern auch den Root selbst als Host-Contribution erkennen. ## Hintergrund Jedes DAW-Host-Programm hat eigene Commands die in `src/ui/contribution.json` deklariert sind. Der Host traegt sich selbst in den Scan-Roots ein: ```ini # merkwerk.conf [ui] scan = src, src/modules ``` Damit `scan_root("src")` die Host-Contribution findet, muss es pruefen ob `src/ui/contribution.json` + `config/module.conf` im *Root selbst* liegen -- nicht nur in seinen Unterverzeichnissen. ## Akzeptanzkriterien - [ ] `scan_root(root)` prueft zusaetzlich: `<root>/ui/contribution.json` + `<project-root>/config/module.conf` - [ ] `lua.require` aus `module.conf` wird als `require_path` verwendet - [ ] Subverzeichnis-Scan bleibt unveraendert - [ ] Bestehende Tests bleiben gruen ## Technische Notes Erkennung: wenn `<root>/ui/contribution.json` existiert, suche `module.conf` relativ zum Root (`../config/module.conf` wenn root = `src`). Einfachster Weg: separater Check am Anfang von `scan_root` vor dem `fs.list_dirs` Loop.
Author
Owner

Resolved by existing check_host_root() implementation in scanner.lua.
scan_root() checks path/config/ui/contribution.json + path/config/module.conf
before the subdir scan. Flat repo structure means scan root == project root,
so no relative path adjustment needed.

Resolved by existing check_host_root() implementation in scanner.lua. scan_root() checks path/config/ui/contribution.json + path/config/module.conf before the subdir scan. Flat repo structure means scan root == project root, so no relative path adjustment needed.
michael 2026-06-02 09:18:34 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
DAW/daw-modul-berhtjan-core#5
No description provided.