I've run into several users that can't really use pax-logging because
their bundles import slf4j api 1.6.x package which is not supported
atm.
The reason it's not is because this api is not binary compatible with
1.5.x which mean we can't really export both packages 1.5 and 1.6
using the same real pacakge as it's currently done for 1.4.x and
1.5.x.

That said, the incompatibility are quite minors (see below for the
full diff) and I think the average people won't see any problems.  So
we have several ways going forward:
  * just use the 1.6.x api and export 1.4.x and 1.5.x at the same
time, hoping that users won't run into those incompabilities
  * just use 1.6.x api and not export 1.4 or 1.5 packages
  * have a separate bundle exporting the 1.6.x api (and have it wired
correctly with pax-logging)
  * move 1.5.x package into a separate bundle and use 1.6.x as the current api

I suppose most of bundles using the slf4j api would use either an open
version range such as [1.6,+oo) or a major version range [1.6,2) so I
suppose even if we go #3 or #4, it won't actually help people a lot,
so i'm tempted to go #2 and if there are any problems reported, go #4
and force people to either upgrade to slf4j 1.6 or use a stricter
version range (in which case, we wouldn't really need #4 anymore).

Thoughts ?

gnodet:~/work/japidiff/target$ diff slf4j-api-1.5.11.txt slf4j-api-1.6.0.txt
157a158,167
> public class FormattingTuple {
>     public static org.slf4j.helpers.FormattingTuple NULL;
>     public FormattingTuple(String);
>     public FormattingTuple(String, Object[], Throwable);
>     public Object[] getArgArray();
>     public String getMessage();
>     public Throwable getThrowable();
> }
>
> package org.slf4j.helpers;
196,198c206,208
<     public static final String arrayFormat(String, Object[]);
<     public static final String format(String, Object);
<     public static final String format(String, Object, Object);
---
>     public static final org.slf4j.helpers.FormattingTuple arrayFormat(String, 
> Object[]);
>     public static final org.slf4j.helpers.FormattingTuple format(String, 
> Object);
>     public static final org.slf4j.helpers.FormattingTuple format(String, 
> Object, Object);
239,240c249,256
< public class NOPMakerAdapter implements org.slf4j.spi.MDCAdapter {
<     public NOPMakerAdapter();
---
> public class NOPLoggerFactory implements org.slf4j.ILoggerFactory {
>     public NOPLoggerFactory();
>     public org.slf4j.Logger getLogger(String);
> }
>
> package org.slf4j.helpers;
> public class NOPMDCAdapter implements org.slf4j.spi.MDCAdapter {
>     public NOPMDCAdapter();
259,260c275,276
<     public static final void reportFailure(String);
<     public static final void reportFailure(String, Throwable);
---
>     public static final void report(String);
>     public static final void report(String, Throwable);
270c286
<     void log(org.slf4j.Marker, String, int, String, Throwable);
---
>     void log(org.slf4j.Marker, String, int, String, Object[], Throwable);


-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general

Reply via email to