Principios básicos de la gestión de bibliotecas
En CODESYS 4 Las bibliotecas se referencian, no se integran permanentemente en la aplicación.
Las referencias provienen de diversas fuentes: de la información proporcionada por el desarrollador, de las descripciones de los dispositivos y del propio sistema de programación. Muchas de estas referencias son imprecisas. Indican un marcador de posición o un patrón de versión, pero no especifican una biblioteca concreta.
Sin embargo, el compilador requiere una versión única para cada biblioteca. Debido a esto, dos cosas están separadas en CODESYS 4: las referencias deseadas y las bibliotecas únicas identificadas a partir de ellas.
Principio básico: Lista de referencias y archivo de bloqueo
La gestión de la biblioteca se basa en dos archivos.
El Libraries.json Esta es la lista de referencias. Aquí se introducen las referencias directas a las bibliotecas. El archivo describe las bibliotecas que requiere la aplicación. Se mantiene manualmente o a través de la interfaz de usuario.
El gráfico de dependencias completo se establece a partir de la lista de referencias durante la resolución de bibliotecas. Cada referencia se resuelve recursivamente en ese momento. También se determinan las bibliotecas que, a su vez, son requeridas por las bibliotecas referenciadas.
El resultado se escribe en el Libraries.lock.json archivo de bloqueo.
Archivo | Role | |
|---|---|---|
| Lista de referencias con las bibliotecas deseadas | El archivo es gestionado y mantenido por el desarrollador. |
| Archivo de bloqueo que contiene el gráfico de dependencias resueltas | El archivo se crea y actualiza automáticamente durante la resolución de la biblioteca. |
Ventajas para el control de versiones y la reproducibilidad.
El archivo de bloqueo está diseñado para garantizar la reproducibilidad. Sus claves están ordenadas, el formato se mantiene estable y se almacena una suma de verificación SHA384 para las bibliotecas compiladas.
Esto hace que el archivo de bloqueo sea adecuado para sistemas de control de versiones como Git o SVN. El archivo tiene un formato JSON legible. Los cambios en el estado de la biblioteca se pueden rastrear en la comparación de archivos y verificar en la revisión del código.
Cuando el archivo de bloqueo se incluye en el proyecto, todos los desarrolladores obtienen el mismo estado de la biblioteca.
Sugerencia
Cualquiera que esté familiarizado con npm o NuGet reconocerá el principio del archivo de bloqueo. Este conocimiento previo no es necesario para trabajar con CODESYS 4.