Wednesday, December 24, 2008

Grizzly OSGi Archetype

This is take 2 of Grizzly on OSGi platform (take 1).

Previous problems running this configuration has been solved by Grizzly Devs, awesome feedback.

So if you want a Quick Start for Grizzly on OSGi jump to your console and execute following:
mvn archetype:generate -DarchetypeCatalog=http://kungfoo-m2.googlecode.com/svn/trunk/archetype-catalog.xml
This should allow you to choose grizzly-osgi-startup project and provide all necessary project details.
Next thing you do is to cd to newly created project and execute:
mvn clean install pax:provision
Now you should have Felix (default for Pax, you can choose other platform providers) running your bundle that uses Grizzly and is listening on localhost:8282.

Have fun Grizzling in OSGi.

Friday, December 19, 2008

Grizzly Dependency Overview

You probably could see it comming :)

Grizzly OSGi

As a side effect of working on Grizzly Proxy simple project showing how to use Grizzly in OSGi environment popped up.

Links:
Hope to have archetype available soon, will keep you posted.

Grizzly proxy

After Devoxx I finnaly started working on Grizzly Proxy Server.
Project page and sources tree are available.

For now proxy is not functional.
Initialy I used commons-httpclient to make connections to target server.
This turned out to be not really nice since httpclient is blocking.

My current focus is to change it to use HttpCore and especially I'm interested in NIO Extensions Module.
This will allow much better scaling, but still will relly on two difrent APIs, and I'm dont think I like having it done like that.

Once Grizzly team releases thair HTTP Client I'm going to switch to it.
So don't expect g-http-proxy to be usable right now, but keep an eye on it, and fill free to contribute.

g-http-proxy is OSGi bundle :)

Thanks for listening and stay tuned.

Monday, July 7, 2008

Super Helpful Integration Testing ThingY

Maven plug-in integration testing.



After walking around integration tests for Overview I finally set down and made it happen.

Most helpful integration testing solution I found is called SHITTY http://mojo.codehaus.org/shitty-maven-plugin/.

It is very easy to use.

As sane developer would expect, you'll have to put your integration tests somewhere in src (src/it).

Integration test is:
  • yes you are right, pom.xml,
  • than goals.txt - defining goals to execute,
  • optional setup and validation Groovy scripts.
  • some additional stuff that wasn't needed for me.
You can find sample usage here.

Big thanks to Jason Dillon for creating Super Helpful Integration Testing ThingY.

Tuesday, February 12, 2008

Maven2 Landskape - Developers view

So Maven Dependency Overview Plugin has been created.
Maven has it's ups and downs as any project.

Here is a list of things that made it harder than needed to create a report plugin:
  • Documentation is hard to get.
    Try searching Maven2 Plugin Development. You can find some basic information but soon you'll run into undocumented features.
    Most of a time while viewing documentation I felt like someone wrote it because he/she was forced to do it.
    Most valuable resource for me where:
  • Poor API documentation.
    There is a plugin (maven-docck-plugin) designed to force proper documentation, unfortunately some plugins even one shipped with Maven are not using it.
  • Unstable API.
    take a look at dependencies of maven-reporting-impl. It depends on doxia-core and doxia-site-renderer both are version 1.0-alpha-7, not documented.
Good luck developing Maven plugins, you'll need it, but it's rewarding.

I'll try to write integration test for Maven Dependency Overview Plugin, hope it is going to be as much fun as developing plugin by itself.

I'll keep you posted.

Friday, February 8, 2008

Maven Dependency Overview

Maven Dependency Overview

Since I started working with Maven2 I always wanted to have a plug-in that would graph dependency.


For last few days I've been spending part of my free time on maven-overview-plugin.

And here it is in quite usable state.

You can include report with Dependency Overview, you can use it from command line, you can do some basic configuration.

To prove that it is actually useful I wrote short story of it's use: DependencyCleanUpShortStory.

Feel free to use it it is OS Licence.