Android project with focus in splitting production and test code in different modules.
This app is over engineered for modularization.
I used a bunch of alpha libraries because I don’t need to maintain this app, this app is not going to production and I wanted to learn something while coding it.
This app demonstrate an archtecture to split your application among feature, libraries and base modules.
The idea is that each feature should have it’s own app module, with that the cross module
navigation is not possible (unless your feature app also depends of other feature library), but the compilation time for a given feature app should be smaller than compiling the whole application.
featuresdetail:app - Compiles and runs only the product detail Activity and also runs instrumented tests
featureslist:library - Contains the code for the list Activiy
featuresdetail:library - Contains the code for the detail Activity
base:baseApp - Contains the basic infrastructure to run an application (BaseOcadoApp, LauncherActivity and assets)
base:baseAndroidTest - Contains the basic infraestructure to run android tests (BaseTest, CustomTestRunner and ApplicationModuleTest)
libraries:components - Contains common widgets that can be shared accross the application