Ich habe heute unser Repository (https://models.geo.gl.ch/) mit dem ili2c.jar Befehl --check-repo-ilis geprüft. Im Log-File heisst es, „compile failed with files: …xy.ili“ (hier sind ein paar kantonale Modelle aufgeführt).
Was bedeutet das? Wie mache ich mich nun an die Fehlersuche in diesen Modellen? Kann ich einzelne ili-Files checken?
Spannend, denn hier werden keine Fehler protokolliert: https://geo.so.ch/repochecker/results/repocheck_10491034140151342634/models.txt
Du solltest im Log-Output eine Meldung erhalten, welche Modelle nicht kompilieren.
Du kannst jederzeit auch ILI-Dateien lokal mit dem Compiler (ili2c :: Interlis) prüfen und dort erhältst du dann detaillierte Meldungen.
Modifizierte Modelle müssen dann natürlich neu im Repo publiziert werden. Das ilimodels.xml ist entsprechend ebenfalls nachzuführen (u.a. insbes. weil die MD5-Prüfsumme der Datei ändert).
Du kannst hier INTERLIS Repository Checker mal ein Beispiel öffnen, wo in der Spalte „Models“ Failure steht. Im entsprechenden Log siehst du am Schluss dann die Fehler.
Danke Peter für die schnelle Hilfe!
Die Modelle sind im Repo vorhanden, das ilimodels.xml ist auch aktualisiert und im Repo. Werde nun also die verdächtige ili-Datei mit dem ili2c prüfen.
ili2c-Anleitung
Wenn ich ili2c einfach einmal über das fehlerhafte Modell laufen lasse, sehe ich keinen Fehler. Das log-File endet so:
wenn ich aber den --check-repo-ilis laufen lasse, heisst es im log-File:
Was mache ich falsch? Wo könnte der Fehler liegen?
Heute sehe ich es auch unter INTERLIS Repository Checker…:
2024-02-09 05:04:16.285Z: Info: ilifile </tmp/ioxtmp4947981781783346223/GL_SanierungWasserkraft_V1_2_2023-12-18.ili>
2024-02-09 05:04:16.286Z: Error: /tmp/ioxtmp4947981781783346223/GL_SanierungWasserkraft_V1_2_2023-12-18.ili:14:There is no model "CatalogueObjects_V1".
2024-02-09 05:04:16.286Z: Error: /tmp/ioxtmp4947981781783346223/GL_SanierungWasserkraft_V1_2_2023-12-18.ili:15:There is no model "WasserBase_Codelisten_V1_1".
2024-02-09 05:04:16.286Z: Error: /tmp/ioxtmp4947981781783346223/GL_SanierungWasserkraft_V1_2_2023-12-18.ili:16:There is no model "WasserBase_LV95_V1_1".
2024-02-09 05:04:16.286Z: Error: /tmp/ioxtmp4947981781783346223/GL_SanierungWasserkraft_V1_2_2023-12-18.ili:17:There is no model "GeometryCHLV95_V1".
2024-02-09 05:04:16.286Z: Error: /tmp/ioxtmp4947981781783346223/GL_SanierungWasserkraft_V1_2_2023-12-18.ili:18:There is no model "CHAdminCodes_V1".
2024-02-09 05:04:16.286Z: Error: /tmp/ioxtmp4947981781783346223/GL_SanierungWasserkraft_V1_2_2023-12-18.ili:19:There is no model "Units".
2024-02-09 05:04:16.289Z: Error: /tmp/ioxtmp4947981781783346223/GL_SanierungWasserkraft_V1_2_2023-12-18.ili:353:There is no domain "CHCantonCode" in MODEL CHAdminCodes_V1.
2024-02-09 05:04:16.289Z: Error: /tmp/ioxtmp4947981781783346223/GL_SanierungWasserkraft_V1_2_2023-12-18.ili:378:There is no domain "Coord3" in MODEL GeometryCHLV95_V1.
2024-02-09 05:04:16.293Z: Error: /tmp/ioxtmp4947981781783346223/GL_SanierungWasserkraft_V1_2_2023-12-18.ili:473:There is no UNIT "mm" in MODEL Units.
2024-02-09 05:04:16.293Z: Error: /tmp/ioxtmp4947981781783346223/GL_SanierungWasserkraft_V1_2_2023-12-18.ili:475:There is no UNIT "ms" in MODEL Units.
2024-02-09 05:04:16.294Z: Error: /tmp/ioxtmp4947981781783346223/GL_SanierungWasserkraft_V1_2_2023-12-18.ili:494:There is no UNIT "Percent" in MODEL Units.
Was ich etwas komisch finde. Das Bundes-Repo war jedenfalls immer zugänglich…, siehe INTERLIS Repository Network. Wie sieht es aus, wenn du lokal nochmals --check-repo-ilis
ausführst?
Wenn ich das oben betroffene Modell lokal durch den Compiler lasse, ist es fehlerfrei…
Für das beanstandete Modell GL_SanierungWasserkraft_V1_2
fehlen in ilimodels.xml die Modellabhängigkeiten (<dependsOnModel>
-Einträge). Ich würde diese mal ergänzen und danach erneut prüfen.
Das habe ich nie vollständig verstanden: im Modell sind die Imports definiert, weshalb müssen sie im Repo auch („noch einmal“) deklariert werden? Damit man allein aus dem ilimodels.xml alles herauslesen kann ohne die ILI zu konsultieren?
Nach dem Hinzufügen des <dependsOnModel>
-Eintrag meldet --check-repo-ilis keinen Fehler mehr. Vielen Dank!