Changes for page Getting the Wonder Source Code
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
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
on 2009/02/08 04:08
Change comment:
Adjusting instructions for checking out Wonder trunk source to not check out branches.
Summary
-
Page properties (3 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -Download ing, Building,Installing and Upgrading Wonder Source Code1 +Download Wonder Source, Build and Install - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. avendasora1 +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 - Opena terminal and navigate toa directory where you want tomaintain 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 fromgithub into a newdirectorynamed "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.Navigateintotheworkingcopyroot29 +* 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 - {{notetitle="WebObjects5.3.3 Compatability"}}50 - Ifyou arestill usingold WebObjects 5.3.3, then youneed 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 -{{/not e}}36 +{{/noformat}} 53 53 54 -== Build ing==38 +== Build and Install Wonder == 55 55 56 - Assumingyou now havea"cloned"copy oftheWondersource code, youanbuildtheframeworkstothedefault(##/Roots##) withthefollowingcommand: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 ...