Last modified by Bastian Triller on 2013/10/05 10:40

From version 169.1
edited by tmk
on 2010/09/09 22:48
Change comment: There is no comment for this version
To version 174.1
edited by Kieran Kelleher
on 2011/03/25 18:47
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -Download Wonder Source, Build and Install
1 +Download Wonder Source, Build, Install and Upgrade
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.tmk
1 +XWiki.kieran
Content
... ... @@ -2,51 +2,84 @@
2 2  
3 3  Instead of downloading the Wonder binaries, working from the latest source code directly can have some advantages such as:
4 4  
5 -* Ability to conveniently browse and search the source code and learn from the wisdom and experience of the WO committers
6 -* Put breakpoints in and step through Wonder source when debugging your projects
7 -* Provide opportunities to submit patches to bugs you might find in Wonder
5 +* Learn very much about WebObjects and EOF (and java dev styles?)
6 +* Easily browse and search the source
7 +* Work with a specific svn version (teams, quality control, development cycles)
8 +* Provide opportunities to submit patches for bug fixes or enhancements
8 8  * Add logging statements in Wonder source so you can better understand what is going when tracking down hard to find bugs
9 -* Work with specific versions of Wonder in a project - good practice for quality control, especially for teams
10 +* Discover the many Hidden Treasures of Wonder
10 10  
11 -== Downloading Wonder Source from Subversion ==
12 +== Source Frameworks Initial Installation ==
12 12  
13 -* Open a terminal shell and navigate to the directory where you want to maintain the WonderSource directory and decide on a name of the folder that will contain the Wonder source. For this example, we will use the name //WonderSource//
14 -* Perform initial checkout of Wonder source tree from Subversion head using the following command. This checks out the source into the directory //WonderSource//, automatically creating //WonderSource// if it does not exist.
14 +As of March 25th, 2011, Wonder is maintained on github. So git is what we use to get a local clone of the repository allowing us to directly use Wonder source.
15 15  
16 -{{noformat}}
16 +Open a terminal and navigate to a directory where you want to maintain a source "working copy" and just use the following easy-peasy commands to clone Wonder source to your own hard-drive.
17 17  
18 -svn co http://wonder.svn.sourceforge.net/svnroot/wonder/trunk/Wonder WonderSource
18 +{{code title="Cloning Project Wonder for the First Time"}}
19 19  
20 -{{/noformat}}
20 +# Clone the source repository from github into a new directory named "WonderSource".
21 +# Note the URL shown here is the public read-only URL. Committers should use the SSH form of the URL for read-write
22 +git clone git://github.com/projectwonder/wonder.git WonderSource
21 21  
22 -* As often as you prefer you can keep this up to date as follows:
24 +# Navigate into the working copy root
25 +cd WonderSource
23 23  
24 -{{noformat}}
27 +# Build the frameworks from the source (BTW, they get built into a directory named Roots in your home dir)
28 +ant frameworks
25 25  
30 +# Install the frameworks (this just copies the built frameworks from ~/Roots to
31 +# the runtime Frameworks directory, usually at /Library/Frameworks)
32 +sudo ant frameworks.install
33 +
34 +{{/code}}
35 +
36 +== Source Frameworks Upgrade Installation ==
37 +
38 +Assuming you already cloned and installed Wonder from source using the method outlined above, you can use the following procedure pull the latest changes into your local repository.
39 +
40 +{{code title="Procedure for WebObjects 5.3.X or 5.4.X"}}
41 +
42 +# Navigate to the Roots directory that was automatically created by the initial Source installation procedure above
43 +cd ~/Roots/
44 +
45 +# Delete all installed frameworks whose names match the built frameworks in this Roots build folder
46 +for FRAMEWORK in `echo *.framework`; do sudo rm -r /Library/Frameworks/${FRAMEWORK}; done
47 +
48 +# Navigate to the original Wonder source directory that you created above during initial source installation
26 26  cd /path/to/WonderSource
27 -svn up
28 28  
29 -{{/noformat}}
51 +# Pull the changes you do not have and merge them with your local repository
52 +git pull
30 30  
31 -== Build and Install Wonder ==
54 +# Clean, build and install the frameworks
55 +ant clean; ant frameworks; sudo ant frameworks.install
32 32  
33 -* Follow the "Building with Ant" instructions in the BUILD.txt document in the Wonder directory
57 +{{/code}}
34 34  
35 -{{warning title="WebObjects 5.4.X Compatability"}}
59 +{{info}}
36 36  
37 -The default instructions in Wonder's BUILD.txt produce binaries that are compatable with WO 5.3.3. If you are using WO 5.4.X, then you need to add the "-Dwonder.patch=54" option to the ant commands. For example:
61 +If you have any trouble or errors due to your local repository getting hosed, then simply delete the entire local repository directory, the \~/Roots directory and just start over using the initial source clone and installation procedure outlined above.
38 38  
39 -ant \-Dwonder.patch=54 frameworks; sudo ant \-Dwonder.patch=54 frameworks.install
63 +{{/info}}
40 40  
41 -Alternatively, to avoid having to type the \-Dwonder.patch=54 option every time, one can create a build.properties file at the root of the Wonder directory that contains the following line : wonder.patch=54
65 +{{info value="Custom Development Enviroment File layout using Custom wolips.properties"}}
42 42  
43 -{{/warning}}
67 +If you have a custom wolips properties file for a specific workspace and you want to have a specific Wonder clone for that workspace, you can simply link your custom wolips properties file to a soft link named build.properties in the working copy root directory. The Wonder build script will supersede all other filesystem layout poperties with the properties in that file.
44 44  
45 -== Concepts ==
69 +For example:
46 46  
47 -This complete procedure results in you having
71 +{code}
72 +$ cd my/special/purpose/clone/of/Wonder
73 +$ ln -s ~/Library/Application\ Support/WOLips/wolips.custom.properties build.properties
74 +{code}
48 48  
49 -* a Wonder directory with the whole Wonder source tree (directories, projects, frameworks, example apps, miscellaneous, etc.) inside.
50 -* The binary Wonder frameworks ("ant frameworks") will be installed in /Library/Frameworks.
51 -* If you ran "ant applications", they will be installed in ...
52 -* If you ran "ant examples", they will be installed in ...
76 +An example of where this approach might be used would be when you have different projects (perhaps in a specially designated workspace) that use a specific version of WebObjects and a specific version or branch of Wonder.
77 +
78 +*Tip:* Specify a custom build directory for Wonder by adding the property 'wo.external.root' to the custom wolips properties file, for example
79 +{code}
80 +wo.external.root=/Users/mike/Developer/special/directory/Roots
81 +{code}
82 +
83 +*Tip:* A custom WebServer install directory can be specified to Wonder by adding the property 'wo.server.root' to the custom wolips properties file also.
84 +
85 +{{/info}}