Changes for page Getting the Wonder Source Code
Last modified by Bastian Triller on 2013/10/05 10:40
From version 104.1
edited by Kieran Kelleher
on 2007/06/27 10:22
on 2007/06/27 10:22
Change comment:
There is no comment for this version
To version 126.1
edited by Paul Hoadley
on 2011/03/27 03:10
on 2011/03/27 03:10
Change comment:
Added a couple of hyperlinks.
Summary
-
Page properties (3 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -Download Wonder Source, Build andInstall1 +Download Wonder Source, Build, Install and Upgrade - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. kieran1 +XWiki.paulh - Content
-
... ... @@ -2,32 +2,101 @@ 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 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 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 8 8 * 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 9 10 - Thisdocuments my 'ideal' setup on my own system. I am suretherearevariations.Wiki contributors maywanttoadd other pages for whatthey considerother ideal Wondersetups12 +== Source Frameworks Initial Installation == 11 11 12 - ==DownloadingWonder Source fromCVS==14 +As of March 25th, 2011, Wonder is maintained on [[GitHub>>https://github.com/]]. So [[Git>>http://git-scm.com/]] is what we use to get a local clone of the repository allowing us to directly use Wonder source. 13 13 14 -* 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.,, 15 -* Open a terminal shell and navigate to the directory 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 16 17 -{{nofor mat}}18 +{{code title="Cloning Project Wonder for the First Time"}} 18 18 19 -cd ~/WonderLatest 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 20 21 -{{/noformat}} 24 +# Navigate into the working copy root 25 +cd WonderSource 22 22 23 -* Next perform initial checkout of Wonder source tree from CVS head using the following command. This creates a folder named Wonder 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 24 25 -{{noformat}} 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 26 26 27 -cvs -z3 -d:pserver:anonymous@wonder.cvs.sourceforge.net:/cvsroot/wonder co -P Wonder 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 28 28 29 -{{/ noformat}}38 +{{/code}} 30 30 31 - == Build andInstallWonder==40 +{{info value="Legacy WebObjects 5.3.3 Compatability"}} 32 32 33 -* Follow the instructions in the INSTALL.txt document in the Wonder directory 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 +cd /path/to/WonderSource 65 + 66 +# Pull the changes you do not have and merge them with your local repository 67 +git pull 68 + 69 +# Clean, build and install the frameworks 70 +ant clean; ant frameworks; sudo ant frameworks.install 71 + 72 +{{/code}} 73 + 74 + 75 + 76 +{{info}} 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. 79 + 80 +{{/info}} 81 + 82 +{{info value="Custom Development Enviroment File layout using Custom wolips.properties"}} 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. 85 + 86 +For example: 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}}