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

From version 195.1
edited by Kieran Kelleher
on 2011/03/25 19:18
Change comment: There is no comment for this version
To version 193.1
edited by tmk
on 2010/09/10 02:30
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -Download Wonder Source, Build, Install and Upgrade
1 +Download Wonder Source, Build and Install
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.kieran
1 +XWiki.tmk
Content
... ... @@ -2,101 +2,51 @@
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 -* 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
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
9 9  * Add logging statements in Wonder source so you can better understand what is going when tracking down hard to find bugs
10 -* Discover the many Hidden Treasures of Wonder
9 +* Work with specific versions of Wonder in a project - good practice for quality control, especially for teams
11 11  
12 -== Source Frameworks Initial Installation ==
11 +== Downloading Wonder Source from Subversion ==
13 13  
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.
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.
15 15  
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.
16 +{{noformat}}
17 17  
18 -{{code title="Cloning Project Wonder for the First Time"}}
18 +svn co http://wonder.svn.sourceforge.net/svnroot/wonder/trunk/Wonder WonderSource
19 19  
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
20 +{{/noformat}}
23 23  
24 -# Navigate into the working copy root
25 -cd WonderSource
22 +* As often as you prefer you can keep this up to date as follows:
26 26  
27 -# If you are still using old WebObjects 5.3.3, then you need to execute one git command at this point
28 -# before you build Wonder to switch to the branch that is source-compatible with WO 5.3.3. See the tip at the bottom of the page.
24 +{{noformat}}
29 29  
30 -# Build the frameworks from the source (Assumes you are using WebObjects 5.4.3,
31 -# which is currently compatible with 'master' branch. See note below for WebObjects 5.3.3 compatible install)
32 -ant frameworks
33 -
34 -# Install the frameworks (this just copies the built frameworks from ~/Roots to
35 -# the runtime Frameworks directory, usually at /Library/Frameworks)
36 -sudo ant frameworks.install
37 -
38 -{{/code}}
39 -
40 -{{info value="Legacy WebObjects 5.3.3 Compatability"}}
41 -
42 -If you are still stuck on WebObjects 5.3.3, for whatever reason, then you need to checkout and switch to the Wonder_5_0_0_Legacy branch *before* you build (before you run 'ant frameworks'). And this is *much* easier with git than it used to be with subversion. Just one command:
43 -
44 -{code}
45 -git checkout --track origin/Wonder_5_0_0_Legacy
46 -{code}
47 -
48 -
49 -{{/info}}
50 -
51 -== Source Frameworks Upgrade Installation ==
52 -
53 -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.
54 -
55 -{{code title="Updating your Source"}}
56 -
57 -# Navigate to the Roots directory that was automatically created by the initial Source installation procedure above
58 -cd ~/Roots/
59 -
60 -# Delete all installed frameworks whose names match the built frameworks in this Roots build folder
61 -for FRAMEWORK in `echo *.framework`; do sudo rm -r /Library/Frameworks/${FRAMEWORK}; done
62 -
63 -# Navigate to the original Wonder source directory that you created above during initial source installation
64 64  cd /path/to/WonderSource
27 +svn up
65 65  
66 -# Pull the changes you do not have and merge them with your local repository
67 -git pull
29 +{{/noformat}}
68 68  
69 -# Clean, build and install the frameworks
70 -ant clean; ant frameworks; sudo ant frameworks.install
31 +== Build and Install Wonder ==
71 71  
72 -{{/code}}
33 +* Follow the "Building with Ant" instructions in the BUILD.txt document in the Wonder directory
73 73  
74 -
35 +{{warning title="WebObjects 5.4.X Compatability"}}
75 75  
76 -{{info}}
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:
77 77  
78 -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.
39 +ant \-Dwonder.patch=54 frameworks; sudo ant \-Dwonder.patch=54 frameworks.install
79 79  
80 -{{/info}}
41 +Alternatively, to avoid having to type the \-Dwonder.patch=54 option every time, one can put the line "wonder.patch=54" either in the wolips.properties file that resides in the \~/Library/Application Support/WOLips directory or in a build.properties file in the Wonder source root directory.
81 81  
82 -{{info value="Custom Development Enviroment File layout using Custom wolips.properties"}}
43 +{{/warning}}
83 83  
84 -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.
45 +== Concepts ==
85 85  
86 -For example:
47 +This complete procedure results in you having
87 87  
88 -{code}
89 -$ cd my/special/purpose/clone/of/Wonder
90 -$ ln -s ~/Library/Application\ Support/WOLips/wolips.custom.properties build.properties
91 -{code}
92 -
93 -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.
94 -
95 -*Tip:* Specify a custom build directory for Wonder by adding the property 'wo.external.root' to the custom wolips properties file, for example
96 -{code}
97 -wo.external.root=/Users/mike/Developer/special/directory/Roots
98 -{code}
99 -
100 -*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.
101 -
102 -{{/info}}
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 ...