Principio fondamentale della gestione bibliotecaria
In CODESYS 4 Le librerie vengono referenziate, non incorporate in modo permanente nell'applicazione.
I riferimenti provengono da diverse fonti: dall'input dello sviluppatore, dalle descrizioni dei dispositivi e dal sistema di programmazione stesso. Molti di questi riferimenti sono vaghi. Indicano un segnaposto o uno schema di versione, ma non specificano una libreria precisa.
Il compilatore, tuttavia, richiede una versione univoca per ogni libreria. Per questo motivo, due cose sono separate in CODESYS 4: i riferimenti desiderati e le librerie univoche identificate a partire da essi.
Principio di base: elenco di riferimento e file di blocco
La gestione della biblioteca si basa su due file.
IL Libraries.json Si tratta dell'elenco dei riferimenti. Qui si inseriscono i riferimenti diretti alle librerie. Il file descrive quali librerie sono necessarie all'applicazione. Può essere gestito manualmente o tramite l'interfaccia utente.
L'intero grafo delle dipendenze viene creato a partire dall'elenco dei riferimenti durante la risoluzione delle librerie. Ogni riferimento viene risolto ricorsivamente in questa fase. Vengono inoltre individuate le librerie a loro volta richieste dalle librerie a cui si fa riferimento.
Il risultato viene scritto su Libraries.lock.json file di blocco.
File | Ruolo | |
|---|---|---|
| Elenco di riferimento con le biblioteche desiderate | Il file è gestito e mantenuto dallo sviluppatore. |
| File di blocco contenente il grafico delle dipendenze risolto | Il file viene creato e aggiornato automaticamente durante la risoluzione della libreria. |
Vantaggi per il controllo delle versioni e la riproducibilità
Il file di blocco è progettato per garantire la riproducibilità. Le sue chiavi sono ordinate, il formato rimane stabile e per le librerie compilate viene memorizzato un checksum SHA384.
Questo rende il file di blocco adatto ai sistemi di controllo di versione come Git o SVN. Il file è in un formato JSON leggibile. Le modifiche allo stato della libreria possono essere tracciate nel diff e verificate durante la revisione del codice.
Quando il file di blocco viene incluso nel progetto, ogni sviluppatore ottiene lo stesso stato della libreria.
Suggerimento
Chiunque abbia familiarità con npm o NuGet riconoscerà il principio del file di blocco. Questa conoscenza pregressa non è richiesta per lavorare con CODESYS 4.