The first thing we need to do is to create a new directory structure to allow for multiple versions of WebObjects to be installed in. This new directory structure basically creates a new root level that WOLips will look in for all frameworks used by a given project or workspace. This directory structure can be anything you wish. For demonstration purposes, I'm going to create it under the
Open Terminal.app and run one of the following commands:
java -jar /Developer/WebObjects/Versions/WOInstaller.jar 5.3.3 /Developer/WebObjects/Versions/WebObjects533 java -jar /Developer/WebObjects/Versions/WOInstaller.jar 5.4.3 /Developer/WebObjects/Versions/WebObjects543
(depending upon which version of WebObjects you would like to download.)
When the script has finished downloading, your directory should look something like this. At this point you could rename the directory to something like MyCustomer or MyProject. For this demonstration we'll just leave it named as is.
You need to launch Eclipse and WOLips at least once so that it will create the default
wolips.properties file in
~/Library/Application Support/WOLips/. If you've already been using WOlips, you can skip this step.
wolips.properties file and make a copy of it. Then rename the copy to be
wolips.yourversion.properties. In reality, you can rename it however you'd like (for example:
533.wolips.properties), but I find that putting the version number in the middle (e.g.
wolips.533.properties) will keep all the different versions together, and will not mess with the extension mapping.
As an example, if you downloaded WebObjects 5.3.3 into
/Developer/WebObjects/Versions/WebObjects533, then modify your new
wolips.533.properties file as follows (substituting your username for
bubba, of course):
wo.network.root=/Network wo.system.root=/Developer/WebObjects/Versions/WebObjects533/System wo.local.root=/Developer/WebObjects/Versions/WebObjects533 wo.user.root=/Users/bubba wo.network.frameworks=/Network/Library/Frameworks wo.system.frameworks=/Developer/WebObjects/Versions/WebObjects533/System/Library/Frameworks wo.local.frameworks=/Developer/WebObjects/Versions/WebObjects533/Library/Frameworks wo.user.frameworks=/Users/bubba/Library/Frameworks wo.bootstrapjar=/Developer/WebObjects/Versions/WebObjects533/System/Library/WebObjects/JavaApplications/wotaskd.woa/WOBootstrap.jar wo.extensions=/Developer/WebObjects/Versions/WebObjects533/Library/WebObjects/Extensions wo.apps.root=/Developer/WebObjects/Versions/WebObjects533/Library/WebObjects/Applications wo.api.root=/Developer/Documentation/DocSets/com.apple.ADC_Reference_Library.WebObjectsReference.docset/Contents/Resources/\ Documents/documentation/InternetWeb/Reference/WO542Reference
With this option, we're telling the Eclipse/WOLips internal incremental builder to reference a specific
wolips.properties file for the entire workspace (rather than using the default, which is
$HOME/Library/Application Support/WOLips/wolips.properties). And by doing this, we're implicitly telling Eclipse which installation of WebObjects we want it to use.
Currently, the Eclipse Ant builder is not controlled by the "WOLips -> Build" setting in Eclipse's Preferences. In order to build with Ant, you first need to tell Ant where to find your WebObjects installation and other resources. Your project's default Ant buildfile,
build.xml (which is created by WOLips when you create a new WebObjects application project), reads and uses the properties found in your
$HOME/Library/Application Support/WOLips/wolips.properties file. But you can specify a different
wolips.properties file by adding a line like the following to your project's
You can do this either via the
-lib parameter to the
ant command, e.g.
ant -lib /path/to/woproject.jar
or by putting a copy of
woproject.jar someplace where Ant will find it. A convenient location for it is your
mkdir -p ~/.ant/lib cp -p /Applications/eclipse-3.4.2/plugins/org.objectstyle.wolips.woproject.ant_3.4.5830/lib/woproject.jar ~/.ant/lib