Closed cdealti closed 8 years ago
Hi, the package structure can be refactored. Please let me know well in advance if you want to do it and execute in shortest possible order to avoid collisions ,)
Let’s make sure the versions are handled if we do a major change like this. I’m also ok with refactoring to make the library cleaner, but I think we need to make the versioning correct so we’re not caught out…
On 1 Apr 2016, at 23:21, Tommi S.E. Laukkanen notifications@github.com wrote:
Hi, the package structure can be refactored. Please let me know well in advance if you want to do it and execute in shortest possible order to avoid collisions ,)
— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/tlaukkan/zigbee4java/issues/70#issuecomment-204590840
Hi
Agreed. It would be nice to make a stable release as well. I think we got some of the bugs out now but more testing is needed...
-Tommi On 2 Apr 2016 15:59, "Chris Jackson" notifications@github.com wrote:
Let’s make sure the versions are handled if we do a major change like this. I’m also ok with refactoring to make the library cleaner, but I think we need to make the versioning correct so we’re not caught out…
On 1 Apr 2016, at 23:21, Tommi S.E. Laukkanen notifications@github.com wrote:
Hi, the package structure can be refactored. Please let me know well in advance if you want to do it and execute in shortest possible order to avoid collisions ,)
— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub < https://github.com/tlaukkan/zigbee4java/issues/70#issuecomment-204590840>
— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/tlaukkan/zigbee4java/issues/70#issuecomment-204712214
Lets move the code related to the old ZigBee API to separate project. The Simple ZigBee API will not have these package structure issues.
This has been fixed in v3 packaging. The legacy module packages still contain same structure for backwards compatibility.
These are the imports of
ZigBeeConsole
:ZigBeeConsole
needs to use manyimpl
packages. What is the name convention here? Should we considerimpl
packages the same as internal (which should maybe preferred), something the application should try to avoid?Pragmatically, the question arises from trying to OSGi-fy (see #62) the API with the
maven-bundle-plugin
. By default this plugin will not export packages containingimpl
orinternal
.Also, I think that some of the classes imported above should be move in non
impl
packages, for exampleorg.bubblecloud.zigbee.api.cluster.impl.api.core.Attribute
it's just an interface and it's clearly part of the API.Another example are Exceptions:
org.bubblecloud.zigbee.api.cluster.impl.api.core.ZigBeeClusterException
andorg.bubblecloud.zigbee.network.impl.ZigBeeNetworkManagerException
.Also, I don't quite understand the overall name convention:
There are many other examples. We can improve a little bit the situation but that would mean breaking the current "API".