title: Version control for aggregatation of multiple projects using Maven / Git
body: <p>I have BigSystem which consists of multiple SubSystems. Each SubSystem is an individual project which compiles into an application, has its own release cycle and Git repository, and is separately maintained. BigSystem is simply an aggregation of the SubSystems it consists of.</p>
  
  <p>I would like to tag and maintain versions of BigSystem relative to specific versions of SubSystems i.e. By building BigSystem-1.1.0, I would in effect be building SubSystemA-1.0.1, SubSystemB-2.2.0, and SubSystemC-2.5.0.</p>
  
  <pre><code>BigSystem-1.0.0
    SubSystemA-1.0.1
    SubSystemB-2.0.0
    SubSystemC-2.0.4
  
  BigSystem-1.1.0
    SubSystemA-1.0.1
    SubSystemB-2.2.0
    SubSystemC-2.5.0
  
  BigSystem-1.2.0-SNAPSPHOT
    SubSystemA-1.0.2-SNAPSHOT
    SubSystemB-2.2.0
    SubSystemC-2.6.0-SNAPSHOT
  </code></pre>
  
  <p>I've been exploring Maven aggregation, Maven inheritance, and Git submodules to achieve this, but I haven't been able to find a clean solution. Any tips? Thanks!</p>