[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [paho-dev] plan for java client?
|
Scott,
Thanks for your feedback, very useful. If it helps we actually publish
nightly dev builds to a nexus repo hosted by eclipse (The recent builds
are actually a mix of regular and gerrit triggered builds while I was
configuring gerrit, the most recent is back to being just a build from
the develop branch). You can download the jars directly here;
https://repo.eclipse.org/content/repositories/paho-snapshots/org/eclipse/paho/mqtt-client/0.4.1-SNAPSHOT/
Given your points 2 and 3 I would appreciate it if you could take a look
at the output and let me know if it needs any work.
Al
On 04/04/14 21:39, Scott Lewis wrote:
Thanks Al!
Here are a few technical comments. Hopefully these will be helpful.
My overall comments: looks good. I think what you've got right now
will serve our mqtt provider needs just fine.
Comments
1) When I import the java client (develop branch) into Eclipse I noticed
that quite a few of the classes in org.eclipse.paho.client.mqttv3.test
don't compile. This appears to be because the .classpath entry:
<classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
is set to 1.4 and a number of the test classes use generics (which
aren't available in 1.4).
My suggestion would be to move all of the test code into a separate
project/bundle (e.g. org.eclipse.paho.client.mqttv3.test).
2) I see you are using maven/pom.xml to build. Looking in the pom, I
see this:
<instructions>
<Build-Level>L${build.level}</Build-Level>
<Bundle-ClassPath>.</Bundle-ClassPath>
<Bundle-SymbolicName>$(maven-symbolicname);singleton:=true</Bundle-SymbolicName>
<Import-Package>javax.net;resolution:=optional,
javax.net.ssl;resolution:=optional</Import-Package>
<Export-Package>!org.eclipse.paho.client.mqttv3.internal.*,
org.eclipse.paho.client.mqttv3.*</Export-Package>
</instructions>
As a prospective consumer of this bundle, what I'm really interested in
is the Export-Package that results from this build instruction...i.e.
after the bundle is built. So I guess it would be best if at some
point you could make available your daily/nightly or integration
builds...so that I can look directly at the manifest contents that
result from the build.
But...since I speak maven :), I expect that the above...applied to this
bundle will result in something like this:
Export-Package: org.eclipse.paho.client.mqttv3,
org.eclipse.paho.client.mqttv3.logging,
org.eclipse.paho.client.mqttv3.persist, org.eclipse.paho.client.mqttv3.util
If my maven is right, then happily this would serve our/ECF purposes
just fine...i.e. our current MQTT provider code [1] imports only from
the packages listed above.
Another reason to see the build output of this, however, would be to see
what/if any version qualifiers end up in the Export-Package list of
packages. FWIW, I would suggest putting an explicit version next to
every exported package, e.g.:
Export-Package: org.eclipse.paho.client.mqttv3;version="1.0.0"
I imagine maven can do this for you automatically during build, but I
don't know how to make this happen with maven...off top of my head.
3) It would be nice to be able to see the post-build manifest.mf for
more than just Export-Package...to us Export-Package is the most
important info (which will determine what packages/classes we can access
from the bundle), but it's sometimes useful to see other
information...e.g. whether it's a singleton, what it depends upon, what
the BREE is, etc.
But generally it looks great for us as Paho/mqtt consumers. Thanks for
doing the OSGi support work...and thanksinadvance for the release.
Scott
[1] https://github.com/ECF/Mqtt-Provider
_______________________________________________
paho-dev mailing list
paho-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/paho-dev