Wiki source code of Building WOLips

Version 57.1 by wessman on 2011/06/23 19:25

Hide last authors
Pascal Robert 56.1 1 {{tip title="Not Required!"}}
Pascal Robert 55.1 2
Pascal Robert 56.1 3 You do not have to build WOLips to use it. It is easily available via Eclipse's Software Update functionality. The update site is: [http://webobjects.mdimension.com/hudson/job/WOLips36Stable/lastSuccessfulBuild/artifact/site/]
Pascal Robert 52.1 4
Pascal Robert 51.1 5 {{/tip}}
David Avendasora 39.1 6
Pascal Robert 51.1 7 {{note}}
David Avendasora 39.1 8
Pascal Robert 51.1 9 The following instructions about building WOLips are fine if you need to build a distribution of WOLips. However, they aren't so great if you're debugging WOLips. Instructions on how to do that are posted here [Debugging WOLips].
David Avendasora 39.1 10
Pascal Robert 51.1 11 {{/note}}
David Avendasora 39.1 12
Pascal Robert 51.1 13 Prior to building WOLips, you will want to get your dependencies installed properly. Check out the [[Installing WOLips]] page for information on the dependencies for WOLips.
David Avendasora 39.1 14
wessman 57.1 15 WOLips is now located in Subversion at ##objectstyle.org##. The CVS repository at sourceforge is now deprecated.
Pascal Robert 51.1 16
wessman 57.1 17 The subversion repository path is [[https://svn.objectstyle.org/repos/woproject]]
18
Pascal Robert 56.1 19 == Prerequisites ==
Pascal Robert 51.1 20
Pascal Robert 56.1 21 ==== Install Subclipse (the Subversion plugins) ====
Pascal Robert 51.1 22
Pascal Robert 56.1 23 1. Help=>Software Updates=>Find and Install ...
24 1. Add New Remote Site
25 11. Name = Subclipse
26 11. URL = [[http://subclipse.tigris.org/update_1.0.x]]
27 1. Select the site, select all the plugins available, and install them
28
Pascal Robert 51.1 29 ==== Install the m2eclipse plugin (Eclipse 3.5 instructions) ====
30
31 1. Help > Install New Software
32 1. Click "Add..."
33 11. Name = M2Eclipse
34 11. Location = [[http://m2eclipse.sonatype.org/update/]]
35 11. Click "OK"
36 1. Expand "Maven Integration"
37 1. Select "Maven Embedder"
38 1. Select "Maven Integration for Eclipse"
39 1. Click "Next>"
40 1. Click "Finish"
41
David Avendasora 39.1 42 == Checking out and Building from the Commandline ==
43
Pascal Robert 51.1 44 1. Checkout the ##trunk/woproject## folder from Subversion
wessman 57.1 45 ##svn co## ##[[https://svn.objectstyle.org/repos/woproject/trunk]]## ##.##
Pascal Robert 51.1 46 1. ##cd woproject##
47 1. ##ant##
48 1. The first build will fail out telling you that it couldn't find ##wobuild.properties## ~-~- That's OK
49 1. Edit ##/Library/wobuild.properties##
50 1. Add a line: ##eclipse.home=/path/to/your/eclipse##
Pascal Robert 52.1 51 1. ant again and it should succeed this time
Pascal Robert 51.1 52 11. If you get the error ##'build.xml:73: taskdef A class needed by class org.apache.velocity.anakia.AnakiaTask cannot be found: org/jdom/JDOMException'##, you can do one of two things. You can build with ##Dno.docs=true## to skip the javadoc step, or (untested) you can drop ##jdom-b8.jar## from ##woproject/projects/lib## into your ##ANT//HOME/lib//##// folder.//
53 1. The build went into ##temp/dist##
David Avendasora 39.1 54 1. Profit
55
56 == Checking out and Building inside of Eclipse for Deployment ==
57
wessman 57.1 58 1. Add the wolips SVN repository [[https://svn.objectstyle.org/repos/woproject]] in the SVN Perspective's Repository View
59 1. In SVN perspective, browse WOLips repository on HEAD, checkout ##trunk/woproject##
Pascal Robert 51.1 60 1. Right-click (or equiv) on the ##build.xml## inside of the "woproject" project and Run As=>Ant Build ...
61 1. Switch to the Properties tab and check for the definition of eclipse.home in the Properties list
62 1. If ##eclipse.home## does not exist, uncheck "Use global properties" and then click "Add Property"
63 1. In the Add Property dialog, make the name ##eclipse.home##, click Add Variable, select ##eclipse//home//##// from the list, and click OK//
64 1. Click Apply to save your changes
David Avendasora 39.1 65 1. Run
Pascal Robert 51.1 66 1. Once it is complete, you may need to right-click=>refresh your project and you will have a ##temp/dist## folder with the plugin site in it.
David Avendasora 39.1 67
68 == Checking out and Building inside of Eclipse for Development (PDE) ==
69
wessman 57.1 70 1. Add the wolips SVN repository [[https://svn.objectstyle.org/repos/woproject]] in the SVN Perspective's Repository View
Pascal Robert 51.1 71 1. You can select individual plugins you would like to work on by browsing to ##trunk/woproject/wolips/## in the Subversion repository and checking out the plugins you are interested in. To checkout complete sets of plugins, you could also use the [[Eclipse Team Project Set]].
David Avendasora 39.1 72
Pascal Robert 51.1 73 == An approach to setting up the development and test environment for WOLips Plugin. ==
74
75 In order to do WOLips Plugin development you will need two eclipse environments: Development and Test.
76
77 1. Follow the Checking out and Building inside of Eclipse for Deployment in you primary Eclipse installation (i.e. /Application/eclipse) and workspace. This will be you development environment.
78 1. the ##temp/dist## folder is your Local Site for the Test Environment.
79 1. Create a second copy of "clean" Eclipse under /Users/<me>/Developer/eclipse (this could be any where). This will be your Test Environment.
80 1. In the test environment, follow the [[Installing WOLips]] instructions, using your ##temp/dist## directory as the Local Site. Install the plugins.
81 1. Use the Test environment to exercise/test the changes from your locally modified Plugin.
82
83 1. When you need to repeat the process, shut down the Test Environment, delete the org.objectstyle. files in the features and plugins directories under the /Users/<me>/Developer/eclipse directory. Change the source code in the primary environment and build. (Each build took 3 min 37 seconds on my Mac Book Pro 17"). Once the build is done, then reinstall the plugin in the Test Environment. The Local Site should still be selected.
84
Pascal Robert 56.1 85 == Building WOLips with Hudson Continuous Build server ==
Pascal Robert 51.1 86
87 Hudson is a Java base continuous build server that allows you to build and test your project automatically. It can be easily configured to build WOLips in a few simple steps.
88
Pascal Robert 52.1 89 1. Add a new job with the following configuration
90 Project Name: WOLips
wessman 57.1 91 Subversion: [[http://svn.objectstyle.org/repos/woproject/trunk/woproject]]
Pascal Robert 52.1 92 Local module directory (optional): wolips
93 Use update: Checked
94 Poll SCM: 59 * ** * ** //(59 can be replaced with any number between 0 and 59)//
Pascal Robert 51.1 95 1. Add the following build tasks to the job
96
97 {{code title="Execute Shell"}}
98
Pascal Robert 52.1 99 echo build.version=3.4.${SVN_REVISION} > wolips/build.properties
100 echo eclipse.home=/usr/local/eclipse >> wolips/build.properties
101 echo user.home=${WORKSPACE} >> wolips/build.properties
Pascal Robert 51.1 102
103 {{/code}}
104
105 {{code title="Invoke Ant"}}
106
107 Targets: dist
108
109 {{/code}}
110
111 If you want to deploy the build to a web server to serve as an update site add a task that is something like this
112
113 {{code title="Execute Shell"}}
114
115 rm -fr /usr/local/www/apache22/data/wolips/*
116 /bin/cp -prv ${WORKSPACE}/wolips/temp/dist/ /usr/local/www/apache22/data/wolips/
117
118 {{/code}}
119
Pascal Robert 52.1 120 1. Copy eclipse with the necessary plugins installed to your build server. In this example it has been copied to /usr/local/eclipse
121 The currently required plugins for a deployment build are
122 1*. JProfiler ([[Update Site>>http://webobjects.mdimension.com/jprofiler6/]])
123 1*. m2Eclipse Maven ([[Update Site>>http://m2eclipse.sonatype.org/sites/m2e]])
124 1*. JRebel ([[Update Site>>http://www.zeroturnaround.com/update-site/]])
125
Pascal Robert 51.1 126 == Preparation for building WOLips on Windows operating systems (NT 5.0 and higher) ==
127
128 For building WOLips on Windows operating systems, some minor changes have to be made. Instead of following and solving the build errors, you may follow the steps described below.
129
130 1. Install the [[BuildingWOLips-Prerequisites>>||anchor="BuildingWOLips-Prerequisites"]]. Do also follow the [[BuildingWOLips-CheckingoutandBuildinginsideofEclipseforDeployment>>||anchor="BuildingWOLips-CheckingoutandBuildinginsideofEclipseforDeployment"]] section, but don't run the build until the changes described below have been made.
131 1. Set the VMs encoding to MacRoman
132 1*. Right click on ##build.xml## > Properties > JRE > VM arguments
133 1**. Dfile.encoding=MacRoman
134 1. Edit ##woproject/wolips/goodies/plugins/build.xml##
135 1*. Comment out the subsequent lines (mac goodies)
136 1**. <ant dir="org.objectstyle.wolips.goodies.core.mac" target="all" />
137 1**. <ant dir="org.objectstyle.wolips.goodies.ui.mac" target="all" />
138 1**. <ant dir="org.objectstyle.wolips.goodies.core.mac" target="dist" />
139 1**. <ant dir="org.objectstyle.wolips.goodies.ui.mac" target="dist" />
140 1. Edit ##woproject/wolips/features/build.xml##
141 1*. Comment out the subsequent lines (mac features)
142 1**. <ant dir="org.objectstyle.wolips.goodies.mac.feature" target="all" />
143 1**. <ant dir="org.objectstyle.wolips.goodies.mac.feature" target="dist" />
144 1. Edit ##woproject/wolips/build.xml## (you may skip this one if you've got JProfiler installed)
145 1*. Comment out the subsequent lines
146 1**. <ant dir="jprofiler" target="all" />
147 1**. <ant dir="jprofiler" target="dist" />
148 1. Run the build
149
150 == Installing from a Local Build ==
151
152 1. If you made changes locally, Eclipse will not automatically install your changed plugins if the version number is the same. You have two options - either uninstall WOLips or cheat and increment the WOLips build version prior to building your local copy. To uninstall WOLips, just delete all org.objectstyle features and plug ins from your eclipse folder. To increment the build server version, open buildserver.version in your projects folder and increment the last number. Note that you will now be "competing" with version numbers from the official build server, so the next official build will not install because you already used the next number, but sometimes it's a quick hack to force an update if you're lazy :-)
153 1. Assuming you now have your build versions under control, you should follow the instructions for [[Building WOLips]]
154 1. Launch Eclipse
155 1. Select the menu: Help->Software Updates.
156 1. Click on the 'Available Software' tab at the top of the window.
157 1. Click on the 'Add Site...' button. This will bring up a dialog box.
158 1. Click on the 'Local...' button on the dialog box.
159 1. Browse to and select your workspace/projects/temp/dist folder or your woproject/temp/dist folder (depending on whether you checked out in eclipse or command line). Check the box next to it.
160 1. If you updated the version number in your local copy (instead of uninstalling), you must now click on the 'Installed Software' tab at the top of the window and click on the 'Update...' button.
161 1. Then continue, and just keep selecting the "Yes"/"OK"/"Approve"/etc buttons