To edit or add content to this Wiki, you can simply create a new account at http://wocommunity.org/account.
This script can be used for WOLips 3.3.x only, the build.xml in WOLips 3.4.x and later already have the split install/embedded stuff built-in.
For WOLips 3.4.x and later, while embedding is built-in, it's not enabled by default. To enable embedding:
To create a versioned/dated bundle of your app and resources:
build.app.name=MyApp-2009-07-14
There is a known bug with WO 5.4.x (for those not using the latest Wonder release) regarding proper linking to your web server resources within the embedded frameworks. The WOFrameworksBaseURL isn't set correctly. To do this you'll need to programmatically set this within your Application constructor:
setFrameworksBaseURL("/WebObjects/MyApp-2009-07-14.woa/Frameworks");
Within build.properties (I may need to be corrected on this), the best approach to linking your embedded framework's web server resources automatically is to include (however the bug noted above breaks this):
frameworksBaseURL=/WebObjects/${build.app.name}.woa/Frameworks
And finally, there is a bud in the build.xml file that you may need to clean-up:
http://issues.objectstyle.org/jira/browse/WOL-979
The previous tutorial articles provide details of customization of the default ant build script that is present in your WebObjects projects. This article provides a fully custom build script that you can just drop into your project and use it as an alternative to the default build.xml. This script is called the "split_embedded_build" script. Along with providing the script, this article explains in detail what deployment artifacts are produced by the build. Hopefully the functionality in this script will make their way into the standard script someday with configuration parameters settable in a simple way in the build.properties file.
This script only works with the modern WOLips project format and the WOnderApplication project template format (since the layout of regular projects is now similar to Wonder layout). However the script is easily changed to accommodate the "old" standard format by changing the dir names in the script (for example "Sources" in the new project layout was "src" in the old layout)
Modern WebObjects Project Layout
This layout is the standard layout for all WebObjects projects created by WOLips (rev #4735 at least). The distinct folder names indicate if your project is in this modern format and if yours is the same, then this ant script should work.
Have no fear , you will not break anything by dropping this script as is into your project and trying it out. You can just use it as is without replacing your default build.xml
Using the Ant Script
Configure the Ant Tasks to be run
It is common to want to use custom bundle build names. There are a number of advantages to having a unique application name for each build:
OK, so getting to the point, an optional custom app name can be set in the project's build.properties file by simply adding a property "build.app.name" as shown below.
Customizing the Application Build Name
The desirable features of this script are
The Deployment Files
The two compressed "ready-to-deploy" bundles are highlighted below
The notable aspects of the embedded build structure are shown below.
Embedded Application Bundle Layout
The application bundle typically gets installed as follows:
Embedded WebServer Bundle Layout
The webserver bundle typically gets installed as follows:
This script was developed and tested on Mac OS X 10.4.10, Eclipse 3.3.1 and WOLips #4735. It should be compatible with later versions of WOLips and Eclipse. It works with regular WebObjects apps and Wonder based apps. I don't have a Windows Eclipse/WOLips installation, so if you are a Windows user, please feel free to make necessary changes and submit revised build script if this does not run on Windows.