Gestione della versione del progetto multi modulo

-1

Ho un progetto multi-modulo CMake fatto di una libreria e un eseguibile. Sia il progetto root che ciascun sottomodulo hanno la propria versione ( major.minor.patch ).

Vorrei sapere come gestire ogni versione:

  • se il progetto root cambia versione, ogni sottomodulo subisce la stessa modifica
  • se un sottomodulo cambia versione, cosa dovrebbe succedere a super project e ad altro modulo?

Il mio dubbio è che, la propagazione delle modifiche del sottomodulo a root rende la sua versione un mix di tutte le modifiche.

Supponi di iniziare da:

  • root 1.0.0
  • lib 1.0.0
  • exe 1.0.0

quindi hai apportato una piccola correzione a lib e un percorso da exe:

  • lib 1.1.0
  • exe 1.0.1

La versione root dovrebbe essere 1.1.1? È significativo?

Che cosa succede se entrambe le modifiche sono minori? La root dovrebbe incrementare a 1.1.0 o a 1.2.0 (la "somma" di ogni correzione minore di ciascun modulo)?

    
posta Marco Stramezzi 09.04.2018 - 10:57
fonte

1 risposta

1

Both the root project and each sub module has its own version (major.minor.patch)

Perché? Sostengo che questa decisione è stata un errore e ha creato la situazione problematica con cui chiedi aiuto, senza offrire alcun vantaggio in cambio.

Hai un numero di versione che condivide tutte le parti del progetto. Semplifica le cose, rende il progetto più coerente ed evita l'intero "se cambio X, quale versione dovrebbe essere Y adesso?" problema completamente. Problema risolto.

    
risposta data 09.04.2018 - 12:03
fonte

Leggi altre domande sui tag