-
Notifications
You must be signed in to change notification settings - Fork 176
Description
We're currently using delegated props to define our modules: val featureModule by DI.Module { }
However, a very annoying issue is the java.lang.IllegalStateException: Module "featureModule" has already been imported!
This stems from multiple developers working on different features at the same time.
There are cases where devs develop their features, then merge them to master, which causes the master build to crash on startup, because two developers named their property the same way. If this is apparent during rebase testing cycle, it's annoying, but often it only surfaces after git merges two branches into a master branch, breaking the build on that branch.
Hence the question:
Why are module names needed, is there a way to avoid specifying them or autogenerate them in a more unique manner (e.g. using package name in addition to prop name). Why doesn't koin require module names?