Out of the box, it appears that the ant deployment scripts shipped with Portlet Factory 6.1.5 are broken. I have been successfully using the previous versions of these scripts to auto build and deploy Portlet Factory applications using continuous build tool like hudson.
When executing the scripts in wpf 6.1.5, they now throw an exception in BSConfig.initHomeDir. The error message is cryptic, however the cause is that it cannot locate the bowstreet.rootdir property in the System properties. This happens as part of the JavaStandardPortletXML custom ant task that portlet factory uses. Unfortunately setting the property using ant command line options or ant tags etc just doesn't work. The property refuses to be propagated down to the task.
The only solution that worked for me was to extend the custom ant task class 'com.bowstreet.deployment.PortletDescriptorProcessor' and in the execute method use ant APIs to get the current value of the bowstreet.rootdir in the ant property and use System.setProperty to assign the value. You will need to update the portletwar.xml script to use the new class. This also needs to be done for the 'com.bowstreet.deployment.WebXmlDescriptorProcessor' class and its associated taskdef in the deploymentwar.xml. This got around problem one.
Next an exception is thrown as the resource bundle 'com.bowstreet.BowBundle' cannot be found. The solution to this is pretty simple, someone forgot to put the bstres.jar file in the classpath that is used for the taskdefs of the previously mentioned custom ant tasks. This is not quite the end however, as the resource bundle will use your current locale and will still throw an exception if a bundle that matches your locale cannot be found. This is sorted out by loading the default bundle in the execute of the two custom ant task mentioned above.
Wow, now it works! However it is a bit worrying that this was shipped in the state it was for what is a significant version upgrade of wpf.
If you would like the code for the above changes, email me at firstname.lastname@example.org