Changes for page Getting the Wonder Source Code
Last modified by Bastian Triller on 2013/10/05 10:40
From version 169.1
edited by tmk
on 2010/09/09 22:48
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
on 2011/03/25 18:47
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, Build andInstall1 +Download Wonder Source, Build, Install and Upgrade - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. tmk1 +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 withspecificversionsofWonderina project - good practice for quality control,especiallyforteams10 +* Discover the many Hidden Treasures of Wonder 10 10 11 -== Downloading WonderSourcefromSubversion ==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 - svncohttp://wonder.svn.sourceforge.net/svnroot/wonder/trunk/WonderWonderSource18 +{{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.txtdocument in the Wonder directory57 +{{/code}} 34 34 35 -{{ warning title="WebObjects 5.4.X Compatability"}}59 +{{info}} 36 36 37 - Thedefault instructionsin Wonder'sBUILD.txtproducebinaries thatarecompatablewithWO5.3.3. If youareusingWO 5.4.X, thenyouneeddthe"-Dwonder.patch=54"option to theant 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=54frameworks; sudo ant \-Dwonder.patch=54 frameworks.install63 +{{/info}} 40 40 41 - Alternatively, toavoid having to typethe \-Dwonder.patch=54 optionevery time, one can createa build.propertiesfile at the rootof the Wonderdirectorythat contains the following line : wonder.patch=5465 +{{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}}