couchbase / couchbase-lite-android-ce

The community edition of couchbase lite for android
Apache License 2.0
9 stars 1 forks source link

Feature Request: (Java) Refactor pkg name to include version. #6

Closed natgross closed 5 years ago

natgross commented 6 years ago

Many major benefits to be gained if the pkg names would be different between (major) release version.

For example the pkg com.couchbase.lite would be com.couchbase.lite.v1 and com.couchbase.lite.v2 ...

One of the key benefits would be the ability to use old and new api's simultaneously. This is super useful for developers when upgrading cbl to newer versions. We can access our old and new db's simultaneously and do custom upgrades to the data as needed.

Also, it would help Couchbase virtually guarantee an upgrade path to future versions. (Currently if your db uses ForestDB, encouraged by CB, there is no automatic upgrade. This would be a non-issue if I can open my ForestDB's and cbl 2 db's simultaneously.)

It is also more professional in nature, following a scheme incorporated by most, (if not all) REST api's.

Besides code readability benefits, when reading [many] src files, you immediately know/see the version involved.

Sometimes refactoring-rename pkg's is NOT so complex after all.

Thank you all. -nat

pasin commented 6 years ago

Using two versions of CBL is not possible now due to package/class/symbol conflicts. I think probably we will need to have a separate library used for upgrading.

bmeike commented 5 years ago

Opened https://issues.couchbase.com/browse/CBL-29 to track this. Please follow it there.