title: Maven: Transitive - Circular Dependency - Release Process
body: <p>Here is my project structure, </p>
  
  <pre><code>Parent
  ^ ^ ^
  | | |
  
  A B C
  </code></pre>
  
  <p>Project A, B , C depends on Parent. Parent has a dependency management section, which determines the version of A, B and C.</p>
  
  <p>During the release process , I release the parent first, which will have the yet to be release version of A, B, C. Then change the parent of A, B and C to the newest version of parent.</p>
  
  <pre><code>A -&gt; C, B-&gt;A and C-&gt;A
  </code></pre>
  
  <p>Now because of the above dependency, I cannot determine the order of release of A, B and C.
  If I release A first, it will complain that release version of C is not available ( because the parent declared the version of C during its release, ahead of time). I cannot release C first, because it depends on A.</p>
  
  <p>I have Parent , A, B and C as individual repos on Git. Is there a way , I can resolve this.</p>