I have begun the daunting task of porting my Android projects to use Maven. I am having some trouble finding information on the best way to organize my pom files and dependencies. I have two Android apps that both use the same Android Library project that contains resources and network code. All three projects are source controlled with git and on github in separate repos. I put all the 3rd party library dependencies on the Library Project as well such as Action Bar Sherlock, View Pager Indicator, etc and exported them to the projects using the library.
I want to make it as easy as possible for other members of my team to build both Android apps with their dependencies. Should I go the route of cloning all three repos into the same directory and make the poms depend on the library assuming the same directory or would it be better to use one git repo with a parent pom couple with git sub modules and pom modules? I am worried this will get too confusing however.
I would manage my projects and github repositories based on the natural correlation between the two Android projects.
Say if they are birds and birds season, it would be more reasonable to organize them as a multi-module projects and use a single github repository:
parent/
birds/
birds-season/
common-lib/
If they are birds and piggies, I would keep them separate in three github repositories:
birds/
piggies/
common-lib/
In addition, you should also consider your project release strategy, for example if you plan to use maven-release-plugin and want complete independent release life cycle (version number, scm tag and etc) for birds and brids season, it would be more efficient to separate them into different github repository (so that maven-release-plugin can manage auto version increment and scm tagging properly).