Changes for page Getting the Wonder Source Code
Last modified by Bastian Triller on 2013/10/05 10:40
From version 105.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 121.1
edited by David Avendasora
on 2011/04/25 12:59
on 2011/04/25 12:59
Change comment:
There is no comment for this version
Summary
-
Page properties (3 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -Download Wonder Source, BuildandInstall1 +Downloading, Building, Installing and Upgrading Wonder Source Code - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. kieran1 +XWiki.avendasora - Content
-
... ... @@ -2,32 +2,133 @@ 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' setupon my own system. Iam sure there are variations. Wiki contributors may want to add other pagesfor what they consider other ideal Wonder setups12 +== Downloading == 11 11 12 -== Downloading Wonder Source from CVS == 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}} 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 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. 16 16 17 - {{noformat}}20 +1. Clone the source repository from github into a new directory named "WonderSource". 18 18 19 -cd ~/WonderLatest 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}} 20 20 21 -{{/noformat}} 26 +{{code value="none"}} 27 +git clone git://github.com/projectwonder/wonder.git WonderSource 28 +{{/code}} 22 22 23 - * Next performinitial checkout of Wondersource treefromCVS head usingthe followingcommand. Thiscreates a folder named Wonder30 +You should see output something like this: 24 24 25 25 {{noformat}} 26 26 27 -cvs -z3 -d:pserver:anonymous@wonder.cvs.sourceforge.net:/cvsroot/wonder co -P Wonder 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. 28 28 29 29 {{/noformat}} 30 30 31 - ==BuildandInstall Wonder==43 +1. Navigate into the working copy root 32 32 33 -* Follow the instructions in the INSTALL.txt document in the Wonder directory 45 +{{code value="none"}} 46 +cd WonderSource 47 +{{/code}} 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} 51 + 52 +{{/note}} 53 + 54 +== Building == 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: 57 + 58 +1. Build the frameworks from the "cloned" source. 59 + 60 +{{code value="none"}} 61 +ant frameworks 62 +{{/code}} 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}}