Archive for category development

Managing multiple Maven versions

Lately I’ve been using Apache Maven 3.0 snapshots to test build compatibility on ServiceMix, Karaf and some of the other projects I work on.  I’m also using 2.0.9, 2.0.10, and 2.2.1 to replicate customer environments and build servers, so it gets to be a real pain in the ass to change these around all the time.  To make my life easier, this weekend I hacked up a Maven version of the awesome setjdk and defaultjdk commands written by David Blevins for Mac OSX (if you’re on a Mac and not using these scripts, you should be). Read the rest of this entry »

3 Comments

Generated Sequence Diagrams

I saw this tool used in some Doxygen docs recently and I knew immediately that it would be indispensable for generating sequence diagrams for online docs on wikis.  I’ll wrap it in a confluence macro and post here when its all done (unless someone points me to an existing implementation).  It would also be fantastic to have a Java port of this, but I won’t be picky.  :-)

So as in the example, this:

# MSC for some fictional process
msc {  a,b,c;  a->b [ label = "ab()" ] ;
    b->c [ label = "bc(TRUE)"];
    c=>c [ label = "process(1)" ];
    c=>c [ label = "process(2)" ];
    ...;
    c=>c [ label = "process(n)" ];
    c=>c [ label = "process(END)" ];
    a<<=c [ label = "callback()"];
    ---  [ label = "If more to run", ID="*" ];
    a->a [ label = "next()"];
    a->c [ label = "ac1()\nac2()"];
    b<-c [ label = "cb(TRUE)"];
    b->b [ label = "stalled(...)"];
    a<-b [ label = "ab() = FALSE"];
}

Becomes:
Example rendered MSC

1 Comment