Hey just looking for Maven best practices here, want to be sure I'm not missing something.
Here is our use case. We have 10 applications that have duplicate code in each, we want to create component(s) for the duplicate code and not duplicate in the 10 apps/GIT any longer. Each app is in a separate GIT repository & each has a Maven build. Simple single module build in each. To solve this I am assuming we need a new GIT repo for the duplicate code and a Maven build for it. That repo and it's component would be released and then the 10 apps would then depend on that released artifact (SNAPSHOT until release). However I have someone here that is saying he wants to not create any other GIT repo and just make child modules in one of the 10 apps for the shared code then have the other 9 apps depend on the child module GAV. However with this approach we would have to 'release' App 1 to get a release version and then update the other 9 apps to use that app's version for the component, right? It seems it causes releasably issues for the component as no other app can be released until App1 is released first, correct? What is the normal pattern in the Maven world when a company wants to share components between apps when the applications are in separate GIT repos and therefore have separate Maven builds? -Dave
