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.com<mailto: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.org<mailto:osgi-b...@mail.osgi.org>" >> <osgi-b...@mail.osgi.org<mailto:osgi-b...@mail.osgi.org>> >> Antwort an: Private list for OSGi blog discussion >> <osgi-b...@mail.osgi.org<mailto: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 >> introduced<https://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 >> jsr14<http://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 >> bug<http://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 >> noticed<https://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 Felix<https://felix.apache.org/> and >> Karaf<https://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.1<http://www.osgi.org/Download/File?url=/download/r4v43/osgi.core-4.3.1.jar> >> and Compendium 4.3.1<http://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 >> maven<http://mvnrepository.com/artifact/org.osgi> shortly. >> >> -- >> Posted By BJ Hargrave to OSGi Alliance >> Blog<http://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.org<mailto: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