Building the wonder source code with maven

Version 28.1 by Greg.Brown on 2009/03/23 11:20

Building instructions are in the file BUILD.txt at the top level of the svn checkout.

https://wonder.svn.sourceforge.net/svnroot/wonder/trunk/Wonder/BUILD.txt

Warning

 These Maven built frameworks are slightly different than the ant built frameworks. For example, the Ajax framework has dependencies on json, and the ant built Ajax.framework includes a jabsorb-1.2.2.jar, whereas the Maven built Ajax.framework does not include this jabsorb-1.2.2.jar. This is, of course, because Maven dependencies are detailed in the pom.xml, and will be pulled in via standard Maven mechanisms. The frameworks are not interchangeableat least without manipulating dependencies.

Currently (February 2009) the wonder frameworks, applications, etc, can be built for WebObjects 5.3.x or 5.4.x; the choice is made by using a "profile" which has the value of wo53 or wo54, e.g.:


 mvn clean install -P wo54

This installs frameworks for WebObjects 5.4.x, some of which appear in your local repository with the wo54 qualifier:


./repository/wonder/core/ERExtensions/5.0.0-SNAPSHOT/ERExtensions-5.0.0-SNAPSHOT-wo54.jar

and most frameworks are the same for either version of WebObjects, and have nor need any qualifier.

To utilize these frameworks in a wonder supported project, one must add the correct dependency, and this will depend on which profile you want to link to. This is done by a maven "classifier", which is used to select the correct qualifier. A qualifier is part of the basic artifact coordinate system:

<major version>.<minor version>.<incremental version>-<qualifier> 

For ERExtensions, this is: 5 . 0 . 0-SNAPSHOT - wo54; which selects the correct dependency for WebObjects 5.4.x. In the pom dependencies section this would be

 
<dependency>
<groupId>wonder.core</groupId>
<artifactId>ERExtensions</artifactId>
<version>5.0.0-SNAPSHOT</version>
<classifier>wo54</classifier>
</dependency>

 
 
See also the woapplication-archetype  ( http://wiki.objectstyle.org/confluence/display/WOL/woapplication-archetype ) which can create wonder supported applications or frameworks which utilize the maven standard project layout.