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

From version 120.1
edited by David Avendasora
on 2011/04/25 12:59
Change comment: There is no comment for this version
To version 138.1
edited by Lachlan Deck
on 2009/02/08 04:08
Change comment: Adjusting instructions for checking out Wonder trunk source to not check out branches.

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -Downloading, Building, Installing and Upgrading Wonder Source Code
1 +Download Wonder Source, Build and Install
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.avendasora
1 +XWiki.ldeck
Content
... ... @@ -2,133 +2,48 @@
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 a lot about WebObjects and EOF (and Java development styles)
6 -* Easily browse and search the source
7 -* Work with a specific source control version (teams, quality control, development cycles)
8 -* Provide opportunities to submit patches for bug fixes or enhancements
5 +* Ability to browse 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.
11 11  
12 -== Downloading ==
10 +== Downloading Wonder Source from Subversion ==
13 13  
14 -{{tip title="Now with more Git"}}
15 -As of March 25th, 2011 the Wonder source code is now maintained on [GitHub|https://github.com/] at [https://github.com/projectwonder]. So you'll need to be familiar with the [Git|http://git-scm.com/] Source Code Management system. You will use it to checkout a local copy of the repository (a "clone" in Git terms) allowing you to have direct access to the Wonder source.
16 -{{/tip}}
12 +* Decide on a directory where you will maintain the latest Wonder source tree on your hard drive. I have a directory ',,/WonderLatest' in my home folder.,,
13 +* Open a terminal shell and navigate to the directory
17 17  
18 -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 computer.
15 +{{noformat}}
19 19  
20 -1. Clone the source repository from github into a new directory named "WonderSource".
17 +mkdir ~/WonderLatest
21 21  
22 -{{note title="Read Only"}}
23 -Note the URL shown here is the public read-only URL. Committers should use the SSH form of the URL for read-write
24 -{{/note}}
19 +{{/noformat}}
25 25  
26 -{{code value="none"}}
27 -git clone git://github.com/projectwonder/wonder.git WonderSource
28 -{{/code}}
21 +* Next perform initial checkout of Wonder source tree from Subversion head using the following command. This creates a folder named Wonder
29 29  
30 -You should see output something like this:
31 -
32 32  {{noformat}}
33 33  
34 -Cloning into WonderSource...
35 -remote: Counting objects: 174269, done.
36 -remote: Compressing objects: 100% (57304/57304), done.
37 -remote: Total 174269 (delta 107374), reused 173934 (delta 107067)
38 -Receiving objects: 100% (174269/174269), 137.94 MiB | 8.29 MiB/s, done.
39 -Resolving deltas: 100% (107374/107374), done.
25 +svn co https://wonder.svn.sourceforge.net/svnroot/wonder/trunk/Wonder ~/WonderLatest
40 40  
41 41  {{/noformat}}
42 42  
43 -1. Navigate into the working copy root
29 +* As often as you prefer you can keep this up to date as follows:
44 44  
45 -{{code value="none"}}
46 -cd WonderSource
47 -{{/code}}
31 +{{noformat}}
48 48  
49 -{{note title="WebObjects 5.3.3 Compatability"}}
50 -If you are still using old WebObjects 5.3.3, then you need to execute this git command to switch to the branch for WebObjects 5.3.3:{code}git checkout --track origin/Wonder_5_0_0_Legacy{code}
33 +$ cd ~/WonderLatest
34 +$ svn up
51 51  
52 -{{/note}}
36 +{{/noformat}}
53 53  
54 -== Building ==
38 +== Build and Install Wonder ==
55 55  
56 -Assuming you now have a "cloned" copy of the Wonder source code, you can build the frameworks to the default (##/Roots##) with the following command:
40 +* Follow the "Building with Ant" instructions in the BUILD.txt document in the Wonder directory
57 57  
58 -1. Build the frameworks from the "cloned" source.
42 +== Concepts ==
59 59  
60 -{{code value="none"}}
61 -ant frameworks
62 -{{/code}}
44 +This complete procedure results in you having
63 63  
64 -1. Install the frameworks (this just copies the built frameworks from /Roots to the runtime Frameworks directory, usually at /Library/Frameworks)
65 -
66 -{{code value="none"}}
67 -sudo ant frameworks.install
68 -{{/code}}
69 -
70 -== Installing and Upgrading ==
71 -
72 -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.
73 -
74 -1. Navigate to the Roots directory that was automatically created by the initial Source installation procedure above
75 -
76 -{{code value="none"}}
77 -cd ~/Roots/
78 -{{/code}}
79 -
80 -1. Delete all installed frameworks whose names match the built frameworks in this Roots build folder
81 -
82 -{{code value="none"}}
83 -for FRAMEWORK in `echo *.framework`; do sudo rm -r /Library/Frameworks/${FRAMEWORK}; done
84 -{{/code}}
85 -
86 -1. Navigate to the original Wonder source directory that you created above during initial source installation
87 -
88 -{{code value="none"}}
89 -cd /path/to/WonderSource
90 -{{/code}}
91 -
92 -1. Pull the changes you do not have and merge them with your local repository
93 -
94 -{{code value="none"}}
95 -git pull
96 -{{/code}}
97 -
98 -1. Clean, build and install the frameworks
99 -
100 -{{code value="none"}}
101 -
102 -ant clean
103 -ant frameworks
104 -sudo ant frameworks.install
105 -
106 -{{/code}}
107 -
108 -{{info}}
109 -
110 -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.
111 -
112 -{{/info}}
113 -
114 -{{info value="Custom Development Enviroment File layout using Custom wolips.properties"}}
115 -
116 -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.
117 -
118 -For example:
119 -
120 -{code:none}
121 -cd my/special/purpose/clone/of/Wonder
122 -ln -s ~/Library/Application\ Support/WOLips/wolips.custom.properties build.properties
123 -{code}
124 -
125 -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.
126 -
127 -*Tip:* Specify a custom build directory for Wonder by adding the property 'wo.external.root' to the custom wolips properties file, for example
128 -{code:none}
129 -wo.external.root=/Users/mike/Developer/special/directory/Roots
130 -{code}
131 -
132 -*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.
133 -
134 -{{/info}}
46 +* a Wonder directory with the whole Wonder source tree (directories, projects, frameworks, example apps, miscellaneous, etc.) inside.
47 +* The binary Wonder frameworks ("ant frameworks") will be installed in /Library/Frameworks.
48 +* If you ran "ant applications", they will be installed in ...
49 +* If you ran "ant examples", they will be installed in ...