2006-11-27

Plugin to Firefox for CruiseControl

CruiseControl is an excellent build server available here. I like to use it since it can handle most usage scenarios and since it's free. There is also a nice little plugin to Firefox here, that enables you to see status of the build server at a glance and also to execute specific commands like starting a build. The commands are sent using JMX and I've discovered a small error in the plugin that unfortunately means that it doesn't work with the latest version of CruiseControl. It's simple to fix though, so here's the fix:

Find the file cc.js that should be in a folder with a path similar to this one:

C:\Documents and Settings\mno\Application Data\Mozilla\Firefox\
Profiles\g4md1gst.default\extensions
{8C2AEDBC-6332-41c5-935D-1948541DCD56}\ chrome\cc\content\cc

Find the definition for the function ccSelectMenuProject(projectName, action). Then edit the line:

var url = this.prefs.jmxUrl+"/invoke?template=identity
&operation="+action+"&objectname=CruiseControl+
Project%3Aname%3D"+projectName;

So that it instead looks like this:

var url = this.prefs.jmxUrl+"/invoke?operation="+action+
"&objectname=CruiseControl+Project%3Aname%3D"+projectName;

Now the JMX commands execute succesfully, however the plugin still parses the output wrong and complains. This isn't critical though, maybe I'll fix that in another post.

2006-11-23

Weblogic 9.2 running Ant and JUnit

In order to get junit working, when using command line builds with ant, just do the following:

Edit ant.bat in C:\bea\weblogic92\server\bin and add the two following lines:

set LOCALCLASSPATH=%LOCALCLASSPATH%;%ANT_HOME%\lib\ant\ant-junit.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%ANT_HOME%\lib\ant\junit.jar


They should be inserted on line 80, right after:

set LOCALCLASSPATH=%LOCALCLASSPATH%;%ANT_HOME%\lib\ant\ant-launcher.jar


2006-02-01

There should be no spaces in set

Just a quick note... whenever scripting .cmd or .bat files remeber that when seting variables like:

set myvar=myval

There must be no spaces around the '=' sign...

For example

set myDir = c:\temp
c:
cd cd %myDir%
del /S /Q *

will delete everything on the C: partition ...
Changing the first line to

set myDir=c:\temp

makes ALL the difference in the world.
Don't ask me how I figured this little nugget out, just thank yourself that it was me and not you.

Oh, by the way, this is on w2k3 server, so it's not impossible that another version of wintendo behaves differently.

2006-01-11

Powerbuilder, where sanity comes to an end

Powerbuilder...

Just listen to that name for a moment. Even trying to say it gives you this sick feeling. Even if you have no idea of what powerbuilder is it just sounds lame. Turns out that reality really is stranger than fiction. Tools with the word "power" in them usually turn out to be anything but powerful.

So let me introduce you, Powerbuilder is a RAD tool. Something like Delphi or Visual Basic I guess. Without going into a turf war let me just say that I would be surprised if anything sucked harder than powerbuilder.

Right now I'm in a situation where a Custom Powerbuilder Application, let's call it Cpa is supposed to call a webservice on a Weblogic Integration server which in turn routes this to a .Net application.

Now working with webservices in WLI is actually excellent. I thought that Weblogic Workshop would suck hard with this as well, but it has actually been performing quite nicely. Alot more reliable than Visual Studio with ASP.NET that's for sure.

WLI also handles complex xsd's with ease. In a previous post I detailed visual studio .net 2003 and it's inabilities with xsd's, especially when it comes to "xs:token" ...

In comes powerbuilder...with full support for Web services they say.
However, not only does it not support complex wsdl's it also has this super nice feature, where if you happen to define a http get or post binding in your wsdl file it will not parse it and dies. Seriously, I've spent the last few hours helping a Powerbuilder developer call my web service. Hearing him complain about how WLI generates faulty or overly complex wsdl files.

Finally I located the error. Removing the lines regarding HTTP Post and HTTP Get bindings fixed everything and Powerbuilder works like a ch..err car without gas, it's possible to make it move forward, but slow as hell...

So, the tip of today. Don't ever use powerbuilder, and if you have to remember to strip your wsdl files of any other binding than SOAP.

2006-01-03

So i thought that Weblogic sucked...

That was until I tried .Net... Oh my god.

I've been using Weblogic Integration lately. It has it's problems, but it's actually quite ok as long as you don't stray to far from the path defined for you.

So I needed to use Visual Studio. F*ck me! One might think that a development tool and a framework "built with support for Web services from the start" would actually have support for web services... And it does, almost. BUT IT DOES NOT HANDLE INCLUDE! Shure, import works, but do you have any idea how annoying it is to refactor 10 xsds from include to import. That changes all the namespaces which in turn changes all the XML beans that BEA generates. Also, quite naturally that ruins all the transformations so one has to do them all over again. Not that it's hard work, but it's annoying.

Oh, and one would think that .Net would handle all the basic datatypes of XML Schema, such as token. Well think again!

The code editing in Visual Studio is... lacking, in each and every way. Better than Workshop but hey, that doesn't really say much does it.

Damn I miss IntelliJ Idea.

Oh. Visual Studio is missing one thing that makes it almost unusable. Proper support for CVS! Don't come writing about third party implementations that wraps CVS in SourceSafe like manner, because that's like wrapping your jewelry in used toiletpapper with barbedwire hooked up to the unforgiving end of electricity transformer station. I'm not going near that, not now, not ever.