Wednesday, 24 June 2009

JSR 294 - why is this still going on?

A few random thoughts about JSR 294:
  • After Gosling's recent comments about OSGi (you can find them for yourselves) it is pretty obvious that the Sun crowd don't actually get modularity. 
  • JSR took a step backward this week when someone asked why annotations weren't being used. 
    • Alex Buckley promptly tried to re-close that Pandora's box but failed.
    • Has any progress actually been made?  Doesn't look like it to me
  • Gradually Guice has started appearing along side OSGi in the JSR-294 mails as an example of another module system.
    • Another example of why we don't need a module system as part of the language.
    • Why can't Java remain the platform it is? - it is already flexible enough to support a number of initiatives to create module systems
  • Where are the requirements for JSR 294? 
    • The JSR itself is vague
    • The original 'requirements' (some seemingly random blog posts) appear to be quite far from what is being discussed (super-packages anyone)
  • 'package' as an access modifier ... ? I suggested that! Kind of.
  • Why is this JSR, potentially the most damaging change to be proposed to Java, being allowed to continue?
    • The whole JCP approach is fundamentally flawed
    • Oracle should step in and kill the process, or at least JSR 294.


Monday, 8 June 2009

osgijc and osgibb moved to eclipseosgitools

I decided to the merge the osgijc and osgibb projects in to a single project which can be found here:

http://code.google.com/p/eclipseosgitools/

I need to do something about the Service Provider (internal Sun API) dependency in osgijc, but otherwise they are both usable and I use them all the time for live projects.

I also plan to add more tools for assisting with OSGi projects build with Eclipse. I don't like to specify meta information in more than one place. MANIFEST.MF is readable enough for me and even easier when using PDE, however, there's a lack of tools for actually doing anything with that project outside of Eclipse, e.g. headless building. osgijc can compile your Java code based on the information in your project, and likewise osgibb can build your project in to an OSGi bundle (Jar file).

The next tool might be something along the lines of (or along side of) Ivy for dependency management. I have found Ivy to be really useful (especially with the http://www.ops4j.org repository) but it annoys me that I yet again have to declare meta information about my bundles in Ivy files - all that information is already in the files generated by Eclipse!