Download aller ili's von denen ein spezifisches Modell abhängt

Basierend auf den Unannehmlichkeiten zur Erreichbarkeit von Modellrepositories möchte ich mich erkundigen, ob es bereits ein Werkzeug gibt mit dem man alle Modelle (ili) lokal speichern kann von denen ein bestimmtes Modell abhängt. Ich weiss, dass man mit ili2c die Modelle eines kompletten Repositories laden kann.
Eigentlich wäre es in etwa der Inhalt des Verzeichnisses ilicache im Benutzerverzeichnis, wenn man mit einem leeren Cache startet. Ich habe allerdings nicht herausgefunden, ob man das mit irgendeinem der Werkzeuge direkt in einen konfigurierbaren Ordner speichern kann.

Bisschen workaroundig: Du kannst mit der Env-Variable ILI_CACHE das ilicache-Verzeichnis setzen. Und wenn du mit dem Compiler besagtes Modell kompilierst, sollt es alle Abhängigkeiten runterladen.

Ja, so in der Art habe ich das auch gemacht. Ist dann halt noch Handarbeit wenn man mehrere Modelle hat und so. Aber passt schon. Schön wäre, wenn man eine Liste an Modellnamen geben könnte und er würde den kompletten deps-Tree lokal Flach in ein Verzeichnis schreiben können. Also ohne lokales Ausgangsmodell. Im Sinne von ili2c => ilismeta passiert ja letzen Endes dasselbe. Nur hat man dann halt ein riesiges Metamodell mit dem man erstmal nicht so viel anfangen kann für die weitere Verwendung in den ilitools.

Vorerst kann ich mir da aber auch mit einem shellscript behelfen :slight_smile:

Nur um es noch als Befehl zu zeigen, wie ich es mir vorstelle:

ili2c --download PLZOCH1LV95D;OeREBKRM_V2_0;OeREBKRMkvs_V2_0;OeREBKRMtrsfr_V2_0 output_folder

Inhalt wäre dann in etwa so:

1 „Gefällt mir“

Nachdem ich mit den bestehenden Funktionen von z.B. ili2pg etwas herumgespielt habe, möchte ich noch eine Frage nachschieben und damit vielleicht erklären, warum ich oben genannte Funktion als sinnvoll erachte.

Mit der Option --modeldir kann ich ja ein Verzeichnis angeben in dem auch nach lokalen Modellen gesucht wird. Soweit ich das sehen kann, wird dieses Verzeichnis aber nicht rekursiv durchsucht. Es wird also oben erwähnte flache Liste benötigt, damit man so alle Modelle lokal vorhalten kann.

Für den angestrebten Zweck (Robustheit von Automatisierungen) wären also zwei Lösungen denkbar:

  1. --modeldir sucht rekursiv und kann somit auch Modelle in Strukturen wie .ilicache finden.
  2. Die Umsetzung der oben genannten Download-Option.

Wenn ich so drüber nachdenke wäre Lösung 1 wohl die bessere Wahl, da dort das Problem von ggf. gleichbenannten Modelldateien (könnte das überhaupt vorkommen?) gelöst wäre und der Mechanismus durch .ilicache ja bereits implementiert ist.