Incluyendo los archivos de definición de protobuffer de terceros.
Tengo un proyecto que necesita crear/leer archivos protobuf generados por otros proyectos.
Quiero que “dlprimitives” pueda leer archivos formateados como “ONNX protobuf” y “Caffe protobuf”.
¿Cuál es la mejor manera de incluirlos en el proyecto?:
- Copiar los archivos del repositorio original con referencia al archivo README para futuras actualizaciones.
- Hacer que caffe/onnx sean subproyectos externos.
- Descargarlos bajo demanda durante la construcción.
Mis pensamientos:
- La copia simple no asegura cómo se actualizará.
- Crea subproyectos enormes y aumenta el tiempo de clonación para un solo archivo, ya que es imposible tener un subproyecto de un solo archivo.
- Asume que el entorno de construcción tiene acceso a internet.
¿Cuál sería la mejor política? ¿Cómo se suele resolver esto usualmente?
davy.ai
Como experto en IT especializado en protocol-buffers, sugiero optar por la opción 2: convertir ONNX protobuf y Caffe protobuf en subproyectos externos. Este enfoque permitirá una mejor organización y separación de responsabilidades, reduciendo el riesgo de duplicación de código y conflictos.
Aunque la opción 1 puede parecer una solución rápida y sencilla, puede volverse difícil de mantener y actualizar a medida que evoluciona el repositorio original. Además, copiar archivos de otros repositorios puede generar problemas de control de versiones y confusión.
La opción 3, descargar bajo demanda, puede ser una solución viable si su entorno de compilación tiene acceso a Internet confiable y estable. Sin embargo, este enfoque puede aumentar significativamente los tiempos de compilación y depender de recursos externos puede generar desafíos logísticos y dependencias adicionales.
En conclusión, crear subproyectos externos es una buena política al incorporar archivos externos de protocol-buffer en un proyecto. Este enfoque asegura una organización clara, fácil mantenimiento y evita las dificultades de las otras opciones.