Monday, April 7

peaberry 0.3 available for testing / review

I've uploaded a new peaberry bundle along with early design docs:

http://peaberry.googlecode.com/files/peaberry-0.3.jar
(this also contains the source code under OSGI-OPT)

http://code.google.com/p/peaberry/wiki/DetailedDesign

the new design is much less invasive: you can decide to explicitly
add bindings to services without using the @Service annotation if
you want, and you can even use peaberry to inject services from
other registry based systems (by implementing ServiceRegistry).

There's also a small demo to show it working in practice

http://peaberry.googlecode.com/files/peaberry-0.3-logdemo.zip

although this demo doesn't actually do anything useful ;)

I'll upload the user guide tomorrow and then start working on a
production quality implementation of the OSGiServiceRegistry
(the current one is basic proof-of-concept and non-optimal).

Other TODOs:

mandatory services (ie. bundle won't start without them)

service registration (need to find an intuitive approach)

Anyway, please take a look and let me know what you think.

Friday, March 7

A jolt of Guice

Fantastic news from this year's Jolt Awards: Guice won the award for "Libraries/Frameworks" beating several other worthy finalists, including the Spring Framework! Hopefully this news will provoke a fresh injection of interest in Guice :)

Certainly I'm feeling more of a buzz about the next release, and can't wait to find time to continue my work on extending Guice to support dynamic injection of services from registries, such as the one in OSGi (http://code.google.com/p/peaberry).

So congratulations to Bob, Kevin and everyone else involved with Guice!

Pax Construct 1.0 released

I've released version 1.0 of Pax Construct, just in time for EclipseCon! (phew) And now you can find the scripts and plugin on the central Maven repository, so it's even easier to use:

http://repo1.maven.org/maven2/org/ops4j/pax/construct/scripts/1.0/scripts-1.0.zip

Improvement

[PAXCONSTRUCT-66]
- Add all Maven compilation dependencies to the Eclipse classpath

[PAXCONSTRUCT-67]
- Add pax:provision option to select Pax-Runner profiles (-Ddeploy=...)

[PAXCONSTRUCT-68]
- Support use of Pax-Runner argument files (-Dargs=)

[PAXCONSTRUCT-69]
- Support pax:run as alias for pax:provision

[PAXCONSTRUCT-70]
- Provide a pax-provision script that works outside of a Maven project

[PAXCONSTRUCT-71]
- Support provisioning of bundles not marked as provided dependencies

New Feature

[PAXCONSTRUCT-72]
- Add new command "pax-create-module" to simplify creation of subdirectories

Task

[PAXCONSTRUCT-59]
- Look into using velocity instead of groovy to generate the various scripts

Plus several changes to the underlying internals to improve performance and usability.

Tuesday, January 22

maven-bundle-plugin 1.2.0 released

It's finally here, a new stable release of the bundleplugin:


<plugin>
<groupid>org.apache.felix</groupid>
<artifactid>maven-bundle-plugin</artifactid>
<version>1.2.0</version>
</plugin>

hopefully the next development cycle won't take so long :)

Wednesday, December 19

Using OSGi? Need logging?

We're very close to the first major release of Pax-Logging - if you're using OSGi and are still looking for a good logging provider, why not try the release candidate:

   pax-logging-api-1.0-RC2.jar

   pax-logging-service-1.0-RC2.jar

several major open-source projects are already using it to simplify their logging story.

Tuesday, December 18

An introduction to Pax tools for OSGi

I received an early Christmas present this year: my proposed tutorial for EclipseCon 2008 was accepted! Come along if you want to hear how Pax-Runner, Pax-Construct, Pax-Logging, and the rest of the Pax family can make life with OSGi much more bearable :)

Both Alin and I will be there to go through the tools, run demos, suggest OSGi best-practises, and answer questions. BTW, if you have any specific topics you'd like covered, let me know and I'll see if I can work them into the tutorial.

Hope to see you at EclipseCon 2008.

Tuesday, December 4

Pax Construct 0.6.2 Released

Moving to 0.6.2


You can update existing scripts and projects with the pax-update command. Or you can download the new scripts and manually change the maven-pax-plugin version in your project's pom.xml.

Change Log


Bug

  • [PAXCONSTRUCT-52] - pax-clone has issues with java files containing #. and #stop
  • [PAXCONSTRUCT-53] - pax-clone corrupts binaries
  • [PAXCONSTRUCT-54] - pax-validate.bat fails when invoked from cygwin
  • [PAXCONSTRUCT-55] - pax-import-bundle throws NPE when run outside of a maven project - it should report an error instead
  • [PAXCONSTRUCT-56] - pax:eclipse error using latest 0.6.2-SNAPSHOT
  • [PAXCONSTRUCT-57] - Support using Pax-Construct scripts in a directory with spaces under Cygwin

Improvement

  • [PAXCONSTRUCT-50] - maven-pax-plugin can cause long compilation times when unpacking bundles with embedded dependencies
  • [PAXCONSTRUCT-58] - Add provided dependencies as required libraries in the Eclipse classpath to better support testing

Task

  • [PAXCONSTRUCT-51] - Separate archetypes from the main pax plugin and scripts so they can be released separately

Thursday, November 29

oatmeal

Just thought I'd share a picture of our new cat Oatmeal (or Oatey for short) who we got several weeks ago from a rescue organization. He's settled in very quickly and enjoys distracting me when I use my macbook at home - I'm beginning to suspect my wife is encouraging this behaviour ;)



this is Oatey in "cute" mode (warning: he also has a "biting+scratching" mode!)