Re: Fwd: [osgi-blog] [OSGi Alliance Blog] 4.3 Companion Code for Java 7

2012-11-01 Thread David Bosschaert
Hi,

I have prepared these artifacts for upload to Maven Central earlier
this week, but am looking for someone to validate them before I
release them.
See here: http://www.mail-archive.com/dev@felix.apache.org/msg27287.html
and here: http://www.osgi.org/bugzilla/show_bug.cgi?id=153

If someone has a moment to sanity check, please do so and let me know.

Best regards,

David

On 29 October 2012 08:03, Jean-Baptiste Onofré j...@nanthrax.net wrote:
 FYI,

 the 4.3.1 artifacts have not yet been deployed on Central.

 Regards
 JB


 On 10/29/2012 09:00 AM, Felix Meschberger wrote:

 FYI in case you missed it.

 In short: The OSGi R 4.3 libraries have been recompiled with Java 5 target
 and republished as version 4.3.1 to maven. So to use OSGi R 4.3 libraries in
 a Java 5 (and up) environment you should use the 4.3.1 version dependency.

 Nothing to be done when using older (4.2.0 and before) dependencies
 because they are compiled for Java 1.4.

 Regards
 Felix

 Anfang der weitergeleiteten E-Mail:

 Von: BJ Hargrave b...@bjhargrave.commailto:b...@bjhargrave.com
 Betreff: [osgi-blog] [OSGi Alliance Blog] 4.3 Companion Code for Java 7
 Datum: 26. Oktober 2012 21:06:11 MESZ
 An: osgi-b...@mail.osgi.orgmailto:osgi-b...@mail.osgi.org
 osgi-b...@mail.osgi.orgmailto:osgi-b...@mail.osgi.org
 Antwort an: Private list for OSGi blog discussion
 osgi-b...@mail.osgi.orgmailto:osgi-b...@mail.osgi.org

 Starting in version 4.3, OSGi started to use generics in some of the API
 including the Core specification. Generics were
 introducedhttps://en.wikipedia.org/wiki/Generics_in_Java to the Java
 language in Java 5. However, OSGi needed to continue to support embedded use
 cases which use the CDC/Foundation 1.1 runtime which is still based upon the
 Java 1.4 language level and JVM. To address this issue, OSGi compiled the
 APIs with -target
 jsr14http://www.ibm.com/developerworks/java/library/j-jtp02277/index.html;
 an undocumented javac flag introduced before Java 5 was final. So we had the
 best of both worlds: we can use generics and still compile to run on Java
 1.4 based runtimes.

 This worked for Java 5 and Java 6. But when Java 7 shipped, two things
 changed: javac no longer understood the jsr14 option to -target and javac
 refused to recognize the attributes containing the generics information in
 class files already compiled with -target jsr14. The change to no longer
 support creating -target jsr14 class files was ok; we could continue to
 compile with Java 6 javac. But the change to the javac to cease to recognize
 the class file attributes with the generics information in existing class
 files was a bigger problem. It meant that the 4.3 API jars published by OSGi
 were not useable by people who need to compile with Java 7 javac. By not
 useable, I mean javac treated the classes as if they did not contain any
 generics information: they were raw. A
 bughttp://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7078419 was filed
 against Java to see if this was some mistake or oversight. The reply was
 that the change was intentional.

 At the time this was first
 noticedhttps://mail.osgi.org/pipermail/osgi-dev/2011-August/003223.html,
 Java 7 was new and not too widely used. OSGi also included the source code
 in the jars so you could recompile the code yourself if you needed. Later,
 when it came time to ship Core R5, we changed to compile the API classes
 with -target 1.5 and so they work fine on Java 7. So problem solved; the new
 release's jars don't use -target jsr14! Except some of the current OSGi
 implementations (I'm looking at you Felixhttps://felix.apache.org/ and
 Karafhttps://karaf.apache.org/) are still based upon Core 4.3 and thus
 people using those implementations still need to use the Core 4.3 API. And
 if they also want to use Java 7, they need to recompile the OSGi API source.
 So after some prodding by a few folks, OSGi rebuilt the Core and Compendium
 API jars as Core
 4.3.1http://www.osgi.org/Download/File?url=/download/r4v43/osgi.core-4.3.1.jar
 and Compendium 4.3.1http://www.osgi.org/Download/F

 ile?url=/download/r4v43/osgi.cmpn-4.3.1.jar. The new jars have the same
 packages at the same package versions having the same API signatures. They
 are just not compiled with -target jsr14 so they work fine with Java 7.


 So if you need to use the 4.3 API with Java 7, pick up these new 4.3.1
 jars. They should also be available on
 mavenhttp://mvnrepository.com/artifact/org.osgi shortly.

 --
 Posted By BJ Hargrave to OSGi Alliance
 Bloghttp://blog.osgi.org/2012/10/43-companion-code-for-java-7.html at
 10/26/2012 07:06:00 PM ___
 osgi-blog mailing list
 osgi-b...@mail.osgi.orgmailto:osgi-b...@mail.osgi.org
 https://mail.osgi.org/mailman/listinfo/osgi-blog



 --
 Jean-Baptiste Onofré
 jbono...@apache.org
 http://blog.nanthrax.net
 Talend - http://www.talend.com


Re: Fwd: [osgi-blog] [OSGi Alliance Blog] 4.3 Companion Code for Java 7

2012-10-29 Thread Jean-Baptiste Onofré

FYI,

the 4.3.1 artifacts have not yet been deployed on Central.

Regards
JB

On 10/29/2012 09:00 AM, Felix Meschberger wrote:

FYI in case you missed it.

In short: The OSGi R 4.3 libraries have been recompiled with Java 5 target and 
republished as version 4.3.1 to maven. So to use OSGi R 4.3 libraries in a Java 
5 (and up) environment you should use the 4.3.1 version dependency.

Nothing to be done when using older (4.2.0 and before) dependencies because 
they are compiled for Java 1.4.

Regards
Felix

Anfang der weitergeleiteten E-Mail:

Von: BJ Hargrave b...@bjhargrave.commailto:b...@bjhargrave.com
Betreff: [osgi-blog] [OSGi Alliance Blog] 4.3 Companion Code for Java 7
Datum: 26. Oktober 2012 21:06:11 MESZ
An: osgi-b...@mail.osgi.orgmailto:osgi-b...@mail.osgi.org 
osgi-b...@mail.osgi.orgmailto:osgi-b...@mail.osgi.org
Antwort an: Private list for OSGi blog discussion 
osgi-b...@mail.osgi.orgmailto:osgi-b...@mail.osgi.org

Starting in version 4.3, OSGi started to use generics in some of the API including the Core 
specification. Generics were 
introducedhttps://en.wikipedia.org/wiki/Generics_in_Java to the Java language in 
Java 5. However, OSGi needed to continue to support embedded use cases which use the 
CDC/Foundation 1.1 runtime which is still based upon the Java 1.4 language level and JVM. 
To address this issue, OSGi compiled the APIs with -target 
jsr14http://www.ibm.com/developerworks/java/library/j-jtp02277/index.html; an 
undocumented javac flag introduced before Java 5 was final. So we had the best of both 
worlds: we can use generics and still compile to run on Java 1.4 based runtimes.

This worked for Java 5 and Java 6. But when Java 7 shipped, two things changed: javac 
no longer understood the jsr14 option to -target and javac refused to recognize the 
attributes containing the generics information in class files already compiled with 
-target jsr14. The change to no longer support creating -target jsr14 class files was 
ok; we could continue to compile with Java 6 javac. But the change to the javac to 
cease to recognize the class file attributes with the generics information in 
existing class files was a bigger problem. It meant that the 4.3 API jars published 
by OSGi were not useable by people who need to compile with Java 7 javac. By not 
useable, I mean javac treated the classes as if they did not contain any generics 
information: they were raw. A 
bughttp://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7078419 was filed 
against Java to see if this was some mistake or oversight. The reply was that the 
change was intentional.

At the time this was first 
noticedhttps://mail.osgi.org/pipermail/osgi-dev/2011-August/003223.html, Java 7 was new and not 
too widely used. OSGi also included the source code in the jars so you could recompile the code yourself 
if you needed. Later, when it came time to ship Core R5, we changed to compile the API classes with 
-target 1.5 and so they work fine on Java 7. So problem solved; the new release's jars don't use -target 
jsr14! Except some of the current OSGi implementations (I'm looking at you 
Felixhttps://felix.apache.org/ and Karafhttps://karaf.apache.org/) are still based upon 
Core 4.3 and thus people using those implementations still need to use the Core 4.3 API. And if they also 
want to use Java 7, they need to recompile the OSGi API source. So after some prodding by a few folks, 
OSGi rebuilt the Core and Compendium API jars as Core 
4.3.1http://www.osgi.org/Download/File?url=/download/r4v43/osgi.core-4.3.1.jar and Compendium 
4.3.1http://www.osgi.org/Download/F

ile?url=/download/r4v43/osgi.cmpn-4.3.1.jar. The new jars have the same 
packages at the same package versions having the same API signatures. They are 
just not compiled with -target jsr14 so they work fine with Java 7.


So if you need to use the 4.3 API with Java 7, pick up these new 4.3.1 jars. They 
should also be available on mavenhttp://mvnrepository.com/artifact/org.osgi 
shortly.

--
Posted By BJ Hargrave to OSGi Alliance 
Bloghttp://blog.osgi.org/2012/10/43-companion-code-for-java-7.html at 
10/26/2012 07:06:00 PM ___
osgi-blog mailing list
osgi-b...@mail.osgi.orgmailto:osgi-b...@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-blog




--
Jean-Baptiste Onofré
jbono...@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com