Status update 06-jan-2008

| | Comments (0)

Up to version 0.2.0 Osmorc was in a what I’d like to call exploration phase. There was an idea, a platform to realize it on — IDEA’s OpenAPI — and an ambitious developer — that’s me ;) To the delight of the ambitious developer the idea was realizable and diligent trying and guessing was awarded with visible progress.

Testing in that phase was done manually. I coded something and started IDEA with an activated Osmorc plugin to see what effect that coding had. This kind of testing is OK for an exploration phase where the developer doesn’t know what the exact results of his doings will be, but now that I know how the parts of the API I’m using are generally working — some surprises still crop up now and then making sure life stays exciting — automatically running tests are really needed.

So now I started expanding the collection of JUnit tests. I finally took the time to look into IDEA’s testing framework. At first it all looked quite complicated. But then I realized that I did not need to subclass any of the provided JUnit 3 TestCase subclasses. The only thing needed for a working test environment with working IDEA singletons is a fixture that can be created pretty easily. There is also a lightweight version of that fixture that works in memory only. With that lightweight version I have created among others tests for the parsing of manifest files.

For the next tests I want to write, I’ll probably need the heavyweight version of the fixture. Those tests will test how the dependencies between modules are arranged based on the settings in the manifest files. Currently I have some problems getting this to work. Strangely I am not able to add more than one module to the heavyweight fixture. For dependency checking you need at least two of them.

Some work has been done on version range parsing and I introduced a new concept — value parsers — that will make it possible to parse values of specific types no matter where they appear with correct annotations and quick fixes for parts with errors.

Today Gerd Wütherich one of the developers of Ant4Eclipse emailed me pointing out that I can use Equinox to resolve dependencies between bundles without having to run it as an OSGI runtime. The current implementation in Osmorc is a very simple one that doesn’t take versions or any other constraints into account. A first look into Ant4Eclipse and into Equinox revealed that I will most likely be able to use it in Osmorc.

So the plan for the next two weeks is to get heavyweight tests working with some appropriate tests and to integrate Equinox for bundle dependency resolution.

Leave a comment

About this Entry

This page contains a single entry by Robert F. Beeger published on January 6, 2008 5:01 PM.

0.2.0 was the previous entry in this blog.

0.3.0 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.1