¿Cómo comparto los files .proto del búfer de protocolo entre varios repositorys?

Estamos considerando usar Buffers de Protocolo para la comunicación entre un service python & node.js que cada uno vive en sus propios repositorys.

Dado que los files .proto deben ser accesibles para ambos repositorys, ¿cómo deberíamos compartir los files .proto ?

Actualmente estamos considerando:

  1. Creando un repository para todos nuestros files .proto , y convirtiéndolo en un .proto git de todos nuestros services
  2. Creando un repository para todos nuestros files .proto , publicando un module privado de python y un module de nodo privado en push, y requiriendo los modules de los respectivos services
  3. Creando un repository para todos nuestros files .proto y especificando el repository como el destino de un package pip / npm

¿Cuál es la forma estándar de compartir files .proto entre repositorys?

Esto depende de tu process de desarrollo.

Un subtree / submodule de git parece una solución sensata para la mayoría de los propósitos. Si tuviera más proyectos en sentido descendente, la publicación de un module preparado tendría sentido, ya que entonces el generador de protobuf no sería necesario para cada proyecto.

Nosotros, en la misma situación, usamos 3 repos: el lado del server fue escrito en c ++, el lado del cliente en actionscript 3, y protobufs estaba en el tercero, y los usamos a ambos. Para un gran equipo y un gran proyecto, creo que fue una buena elección.