Changes for page Getting the Wonder Source Code
Last modified by Bastian Triller on 2013/10/05 10:40
From version 127.1
edited by Paul Hoadley
on 2011/03/27 03:10
on 2011/03/27 03:10
Change comment:
Added a couple of hyperlinks.
To version 131.1
edited by David Avendasora
on 2011/04/26 13:21
on 2011/04/26 13:21
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 - DownloadWonder Source,Build, Install and Upgrade1 +Getting the Wonder Source Code - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. paulh1 +XWiki.avendasora - Content
-
... ... @@ -1,102 +1,65 @@ 1 - ==Introduction==1 +{{tip title="Now with more Git"}} 2 2 3 - Instead ofdownloading theWonder binaries,workingfromthelatest source codedirectly can have someadvantagessuch as:3 +As of March 25th, 2011 the Wonder source code is now maintained on [GitHub|https://github.com/] at [https://github.com/projectwonder]. You'll need to be familiar with the [Git|http://git-scm.com/] Source Code Management system. [Here's|WO:Getting Started with Git] a good place to start. You will use Git to checkout a local copy of the repository (a "clone" in Git terms) allowing you to have direct access to the Wonder source. 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 +{{/tip}} 6 + 7 +Instead of constantly re-downloading and installing the latest Wonder binaries you should work directly with the latest source code. It has several advantages including: 8 + 9 +* You'll learn a lot about WebObjects, EOF and Object-Oriented Patterns 10 +* Easily search, browse and even modify and improve Wonder 11 +* Work with a specific revision, which is key for teams, quality control and development cycles 9 9 * Add logging statements in Wonder source so you can better understand what is going when tracking down hard to find bugs 10 10 * Discover the many Hidden Treasures of Wonder. 11 11 12 -== Source Frameworks InitialInstallation ==15 +== Downloading == 13 13 14 - Asof March25th, 2011, Wonderismaintainedon[[GitHub>>https://github.com/]].So[[Git>>http://git-scm.com/]]iswhat we usetoget alocalcloneoftherepositoryallowingus todirectly use Wonder source.17 +Open a terminal and navigate to a directory where you want to maintain a source "working copy" and just use the following commands to clone Wonder source to your computer. 15 15 16 - Openaterminalandnavigatetoa directorywhere you want tomaintain a source"working copy"andjust usethe followingeasy-peasycommandstoclone Wondersourcetoyourownhard-drive.19 +1. h5. Clone the source repository from GitHub into a new directory named "WonderSource" or whatever you'd like. 17 17 18 -{{code title="Cloning Project Wonder for the First Time"}} 21 +{{note title="Read Only"}} 22 +Note the URL shown here is the public read-only URL. Committers should use the SSH form of the URL for read-write 23 +{{/note}} 19 19 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 25 +{{code value="none"}} 22 22 git clone git://github.com/projectwonder/wonder.git WonderSource 23 - 24 -# Navigate into the working copy root 25 -cd WonderSource 26 - 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. 29 - 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 33 - 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 37 - 38 38 {{/code}} 39 39 40 - {{infovalue="LegacyWebObjects5.3.3 Compatability"}}29 +You should see output something like this: 41 41 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 - 31 +{{noformat}} 48 48 49 -{{/info}} 33 +Cloning into WonderSource... 34 +remote: Counting objects: 174269, done. 35 +remote: Compressing objects: 100% (57304/57304), done. 36 +remote: Total 174269 (delta 107374), reused 173934 (delta 107067) 37 +Receiving objects: 100% (174269/174269), 137.94 MiB | 8.29 MiB/s, done. 38 +Resolving deltas: 100% (107374/107374), done. 50 50 51 - == Source Frameworks Upgrade Installation ==40 +{{/noformat}} 52 52 53 - Assumingyoualready cloned andinstalledWonder from source usingthe methodoutlined above, you can use thefollowing procedure pull the latest changesintoourlocalrepository.42 +1. h5. Navigate into the working copy root 54 54 55 -{{code title="Updating your Source"}} 44 +{{code value="none"}} 45 +cd WonderSource 46 +{{/code}} 56 56 57 -# Navigate to the Roots directory that was automatically created by the initial Source installation procedure above 58 -cd ~/Roots/ 48 +{{note title="WebObjects 5.3.3 Compatability"}} 49 +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} 50 +You should get output like this: 51 +{noformat} 52 +Branch Wonder_5_0_0_Legacy set up to track remote branch Wonder_5_0_0_Legacy from origin. 53 +Switched to a new branch 'Wonder_5_0_0_Legacy' 54 +{noformat} 59 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 56 +{{/note}} 62 62 63 - #Navigate to theoriginalWondersource directory that you createdabove during initialsource installation64 - cd/path/to/WonderSource58 +1. h5. Build and Install 59 +For building and installing the Wonder Frameworks, please see the standard [[Building and Installing WO Frameworks with Ant>>WO:Building and Installing a WO Framework with Ant]] pages. 65 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 76 {{info}} 77 77 78 -If you have any trouble or errors due to your local repository getting hosed,thensimply delete the entire local repositorydirectory, the \~/Roots directory andjuststart over using theinitialsource cloneand installationprocedureoutlined above.63 +If you have any trouble or errors due to your local repository getting corrupted, simply delete the entire local repository (the {{\~/Roots}} directory) and start over using this source clone procedure. 79 79 80 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}}