Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Create New Directory Structure

Image RemovedImage Added

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 /Developer directory.

Create: /Developer/WebObjects/Versions/

Download WOInstaller.jar

Image RemovedImage Added

We now need to download the WOInstaller.jar file from http://webobjects.mdimension.com/wolips/Image Removedwocommunity.org/documents/tools/WOInstaller.jar and save it into the Versions/ directory we just created.

Use WOInstaller.jar to download WebObjects

Image RemovedImage Added

Open Terminal.app and run one of the following commands:

No Format

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.)

Installed Versions

Image RemovedImage Added

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.

Open Eclipse / WOLips

Image RemovedImage Added

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.

...

Make a copy of the default wolips.properties file

Image RemovedImage Added
Select the 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: wolips.properties.533 or 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):

No Format

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

...

Option 1 - Configure the Eclipse workspace to reference your new wolips.properties file

Image RemovedImage Added

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.

...

Note
titleNote

This setting currently affects only the Eclipse internal builder - it will not influence external builds with Ant. That is, when you build your project (e.g. for deployment) using any of the following:

  • Ctrl-click build.xml -> Run As -> Ant Build
  • WOLips Ant Tools -> Install
  • build with Ant from the command line

...this setting will not affect where Ant looks for the various resources specified by the settings in your alternate wolips.properties.

In order to configure Ant so that it can find your wolips.properties-specified resources, you'll need to use Option 2, below.

Option 2 - Configure your project to reference your new wolips.properties file

Image Modified

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 build.properties file:

No Format

wolips.properties=/Users/bubba/Library/Application Support/WOLips/wolips.533.properties
Note

Note that for now (as of WOLips version 3.4.5830), this really must be an absolute, fully-qualified filepath; if you were to specify a relative filename, Eclipse/WOLips would treat it as being relative to $HOME/Library/Application Support/WOLips, but Ant (using the default build.xml) would treat it as being relative to your project's base folder.

Also, you might think you could use an Ant variable specification such as ${user.home} on the right hand side – but you can't. The problem is that while Ant would interpret this correctly, Eclipse/WOLips will not. Also note that you can't in any case use a tilde character as an abbreviation for your home directory.

If you specify a wolips.properties setting this way, it will override the workspace-wide WOLips preference setting.

Eclipse will also use this setting to find resources at runtime, i.e. when you run your project from within Eclipse.

OPTIONAL - Building your project from the Command Line Using Ant

...

You can do this either via a the -lib parameter to the ant command, e.g.

No Format
ant -lib /path/to/woproject.jar

...


or by putting a copy of woproject.jar someplace where Ant can will find it. One A convenient location for it is your $HOME/.ant/lib folder:

No Format

mkdir -p ~/.ant/lib
find /path/to/your/eclipse/plugins -name "woproject.jar" -exec cp -p {} cp -p /Applications/eclipse-3.4.2/plugins/org.objectstyle.wolips.woproject.ant_3.4.5830/lib/woproject.jar ~/.ant/lib \;
(2) The location of your wolips.properties file:

...

As above, you cannot use a tilde character as an abbreviation for your home directory (but you in fact could use an environment variable such as $HOME - the shell would expand it before passing it to ant).

OPTIONAL - Building your project using Hudson

...

titleShameless Plug

...

.