[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [paho-dev] plan for java client?
|
Hi Al,
On 4/7/2014 3:43 AM, Al Stockdill-Mander wrote:
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.
Sure. Below is the manifest for 0.4.1.SNAPSHOT bundle for the
following jar:
mqtt-client-0.4.1-20140407.102244-44.jar
Below I intersperse comments and suggestions.
Thanks,
Scott
Manifest.mf from mqtt-client-0.4.1-20140407.102244-44.jar
Manifest-Version: 1.0
Bnd-LastModified: 1396866160489
Build-Jdk: 1.6.0_45
Built-By: genie.technology.paho
Bundle-Description: The Paho project provides scalable open-source imple
mentations of open and standard messaging protocols aimed at new, exist
ing, and emerging applications for Machine to Machine (M2M) and Interne
t of Things (IoT).
Bundle-DocURL: http://www.eclipse.org/paho
Bundle-License: http://www.eclipse.org/org/documents/epl-v10.php
Bundle-ManifestVersion: 2
Bundle-Name: mqtt-client
Bundle-SymbolicName: org.eclipse.paho.mqtt-client
Bundle-Vendor: Eclipse Paho
// Scott: In looking at other bundles, I think the convention is:
// Bundle-Vendor: Eclipse.org - Paho
// There's also a convention that the values for Bundle-Name and
Bundle-Vendor use values from a properties
// file...e.g.
// Bundle-Name: %bundle.name
// Bundle-Vendor: %bundle.provider
// Bundle-Localization: bundle
// and in separate bundle.properties file (e.g.):
//
############################################################################
// # Copyright (c) 2010 Composent Inc., IBM and others.
// # All rights reserved. This program and the accompanying materials
// # are made available under the terms of the Eclipse Public License v1.0
// # which accompanies this distribution, and is available at
// # http://www.eclipse.org/legal/epl-v10.html
// #
//
############################################################################
// bundle.name=ECF Core API
// bundle.provider=Eclipse.org - ECF
// I believe that having these manifest values in a separate properties
file
// allows multilanguage handling in Eclipse...so that the bundle name
// and bundle vendor can be presented in appropriate language in Eclipse
About listing...with
// language translation done of all properties files done by the Babel
project.
Bundle-Version: 0.4.1.SNAPSHOT
// Scott: You might want to look at the EF version numbering spec...i.e:
// http://wiki.eclipse.org/Version_Numbering. Among other things,
projects that want to participate in the
// simultaneous release are required to use 4 part version numbering.
Now I know that maven has
// conventions around the use of 'SNAPSHOT'...so it might be useful for
you to get the input of someone like
// David Williams, who is the usual releng person for the simultaneous
releases. One way to get a hold
// of David for his opinion about this is via the cross-projects mailing
list:
// https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev
Created-By: Apache Maven Bundle Plugin
Export-Package: org.eclipse.paho.client.mqttv3;version="0.4.1.SNAPSHOT";
uses:="javax.net,org.eclipse.paho.client.mqttv3.logging,org.eclipse.pah
o.client.mqttv3.util",org.eclipse.paho.client.mqttv3.util;version="0.4.
1.SNAPSHOT",org.eclipse.paho.client.mqttv3.persist;version="0.4.1.SNAPS
HOT";uses:="org.eclipse.paho.client.mqttv3",org.eclipse.paho.client.mqt
tv3.logging;version="0.4.1.SNAPSHOT"
// Scott: I personally would like to not see any part of the qualifier
for the Export-Package
// version specification...e.g. why not just "0.4.1"?...rather than
"0.4.0.SNAPSHOT". This
// isn't required/fatal by any means, but as a consumer I find it
off-putting to have
// anything in the qualifier for package export versions...because then
things look different
// between snapshot releases and 'real' releases.
Import-Package: javax.net,javax.net.ssl,org.eclipse.paho.client.mqttv3.l
ogging;version="[0.4,1)"
// Scott: I know there can be good reasons for it, but why is the
logging package both exported
// and imported by this bundle? Can you do with out it?
Tool: Bnd-2.1.0.20130426-122213
// Scott: I don't see and Bundle Required Execution Environment
(BREE)...e.g. here's one for one of our
// bundles:
Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
J2SE-1.4
// I believe a properly set BREE is required for the simultaneous
release requirements...i.e. see here
// http://eclipse.org/indigo/planning/EclipseSimultaneousRelease.php and
// http://wiki.eclipse.org/Execution_Environments
// For running in Eclipse, I would suggest adding this
// Bundle-ActivationPolicy: lazy
This is an OSGi standard header that Eclipse bundles traditionally
use...since Eclipse uses lazy startup.
// One other observation/question: I see the jar file name is:
// mqtt-client-0.4.1-20140407.102244-44.jar and the bundle symbolic name
is: org.eclipse.paho.mqtt-client.
// At one time I thought there was some convention around having the jar
name match the symbolic name + // the version...e.g.:
// org.eclipse.emf.ecore_2.10.0.v20131209-0519.jar for emf ecore...with
version 2.10.0.v20131209-0519.
// I can't recall right at this moment why that convention was put in
place...and it may not be necessary any // longer...with more recent
versions of OSGi and Eclipse...but it might be worthwhile inquiring
about it with
// someone that remembers why it was done that way.
Thanks,
Scott