Wiki source code of Building WOLips

Last modified by Johann Werner on 2015/02/13 01:40

Hide last authors
Pascal Robert 128.1 1 {{tip title="Not Required!"}}
2 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:~~/~~/wocommunity.org/wolips/3.7/stable/>>url:http://wocommunity.org/wolips/3.7/stable/||shape="rect"]]
3 {{/tip}}
Pascal Robert 119.1 4
Pascal Robert 128.1 5 {{note}}
Pascal Robert 132.1 6 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 [[doc:WOL.Home.Building WOLips.Debugging WOLips.WebHome]].
Pascal Robert 128.1 7 {{/note}}
Pascal Robert 118.1 8
Johann Werner 134.1 9 Prior to building WOLips, you will want to get your dependencies installed properly. Check out the [[doc:WOL.Home.Deprecated info.Installing WOLips.WebHome]] page for information on the dependencies for WOLips.
Pascal Robert 118.1 10
Pascal Robert 128.1 11 (% style="color: rgb(0,0,0);" %)**Prerequisites**
Pascal Robert 118.1 12
Pascal Robert 128.1 13 ==== Install eGit or another Git client ====
Pascal Robert 118.1 14
Bastian Triller 131.1 15 See [[Getting Started With Git>>doc:WEB.Home.Getting Started.Getting Started with Git.WebHome]] for information on how to obtain a Git client.
Pascal Robert 118.1 16
17 ==== Install the m2eclipse plugin (Eclipse 3.5 instructions) ====
18
mark_ritchie 122.1 19 1. Help -> Install New Software
Pascal Robert 128.1 20 1. Click "Add..."
Pascal Robert 118.1 21 11. Name = M2Eclipse
Pascal Robert 128.1 22 11. Location = [[http:~~/~~/m2eclipse.sonatype.org/update/>>url:http://m2eclipse.sonatype.org/update/||shape="rect"]]
Pascal Robert 118.1 23 11. Click "OK"
24 1. Expand "Maven Integration"
25 1. Select "Maven Embedder"
26 1. Select "Maven Integration for Eclipse"
27 1. Click "Next>"
28 1. Click "Finish"
Ray Kiddy 129.1 29 (//What is the m2eclipse plugin a prerequisite for? Nothing below refers to it....//)
Pascal Robert 118.1 30
Mike Schrag 110.1 31 == Checking out and Building from the Commandline ==
Mike Schrag 88.1 32
Pascal Robert 128.1 33 1. Checkout the {{code language="none"}}trunk/woproject{{/code}} folder from Subversion
34 {{code language="none"}}git clone{{/code}} [[git:~~/~~/github.com/wolips/wolips.git>>url:git://github.com/wolips/wolips.git||shape="rect"]]{{code language="none"}}{{/code}} woproject
35 1. {{code language="none"}}cd woproject{{/code}}
36 1. {{code language="none"}}ant{{/code}}
37 1. The first build will fail out telling you that it couldn't find {{code language="none"}}wobuild.properties{{/code}} – That's OK
38 1. Edit {{code language="none"}}~/Library/wobuild.properties{{/code}}
39 1. Add a line: {{code language="none"}}eclipse.home=/path/to/your/eclipse{{/code}}
Ray Kiddy 129.1 40 1. (((
41 Call ant with the build.version argument:
42
43 {{code}}
44 ant -Dbuild.version=x.y.z
45 {{/code}}
46
47 1. If you get the error
48
Bastian Triller 131.1 49 {{code language="none"}}'build.xml:73: taskdef A class needed by class org.apache.velocity.anakia.AnakiaTask cannot be found: org/jdom/JDOMException'{{/code}}, you can do one of two things. You can build with
Ray Kiddy 129.1 50
Bastian Triller 131.1 51 {{code language="none"}}-Dno.docs=true{{/code}} to skip the javadoc step, or (untested) you can drop
Ray Kiddy 129.1 52
Bastian Triller 131.1 53 {{code language="none"}}jdom-b8.jar{{/code}} from
Ray Kiddy 129.1 54
Bastian Triller 131.1 55 {{code language="none"}}woproject/projects/lib{{/code}} into your
Ray Kiddy 129.1 56
Bastian Triller 131.1 57 {{code language="none"}}ANT_HOME/lib{{/code}} folder.
Ray Kiddy 129.1 58 )))
Pascal Robert 128.1 59 1. The build went into {{code language="none"}}temp/dist{{/code}}
Mike Schrag 104.1 60 1. Profit
Mike Schrag 88.1 61
Ray Kiddy 129.1 62 (Successfully built on Ubuntu 14.04 LTS with eclipse 4.4.1, using "ant -Dbuild.version=4.4.1" as the build command. - 2015/03/12 - ray@ganymede.org with an OMG thanks to stefan.klein@buero-sde.de.)
63
Mike Schrag 110.1 64 == Checking out and Building inside of Eclipse for Deployment ==
Mike Schrag 104.1 65
Pascal Robert 128.1 66 1. Add the wolips Git repository [[https:~~/~~/github.com/wolips/wolips/>>url:https://github.com/wolips/wolips/||shape="rect"]] in the Git Perspective's Repository View
67 1. Right-click (or equiv) on the {{code language="none"}}build.xml{{/code}} inside of the "woproject" project and Run As=>Ant Build ...
Pascal Robert 118.1 68 1. Switch to the Properties tab and check for the definition of eclipse.home in the Properties list
Pascal Robert 128.1 69 1. If {{code language="none"}}eclipse.home{{/code}} does not exist, uncheck "Use global properties" and then click "Add Property"
70 1. In the Add Property dialog, make the name {{code language="none"}}eclipse.home{{/code}}, click Add Variable, select {{code language="none"}}eclipse_home{{/code}} from the list, and click OK
Pascal Robert 118.1 71 1. Click Apply to save your changes
Mike Schrag 108.1 72 1. Run
Pascal Robert 128.1 73 1. Once it is complete, you may need to right-click=>refresh your project and you will have a {{code language="none"}}temp/dist{{/code}} folder with the plugin site in it.
Mike Schrag 108.1 74
Mike Schrag 110.1 75 == Checking out and Building inside of Eclipse for Development (PDE) ==
Mike Schrag 108.1 76
Pascal Robert 128.1 77 1. Add the wolips Git repository [[https:~~/~~/github.com/wolips/wolips/>>url:https://github.com/wolips/wolips/||shape="rect"]] in the Git Perspective's Repository View
chuckhill 133.1 78 1. You can select individual plugins you would like to work on by browsing to {{code language="none"}}trunk/woproject/wolips/{{/code}} in the Subversion repository and checking out the plugins you are interested in. To checkout complete sets of plugins, you could also use the [[doc:WOL.Home.Deprecated info.Eclipse Team Project Set.WebHome]].
Mike Schrag 86.1 79
Pascal Robert 118.1 80 == An approach to setting up the development and test environment for WOLips Plugin. ==
Mike Schrag 100.1 81
Pascal Robert 128.1 82 In order to do WOLips Plugin development you will need two eclipse environments: Development and Test.
Mike Schrag 100.1 83
Pascal Robert 128.1 84 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.
85 1. the {{code language="none"}}temp/dist{{/code}} folder is your Local Site for the Test Environment.
86 1. Create a second copy of "clean" Eclipse under /Users/<me>/Developer/eclipse (this could be any where). This will be your Test Environment.
Johann Werner 134.1 87 1. In the test environment, follow the [[doc:WOL.Home.Deprecated info.Installing WOLips.WebHome]] instructions, using your {{code language="none"}}temp/dist{{/code}} directory as the Local Site. Install the plugins.
Pascal Robert 118.1 88 1. Use the Test environment to exercise/test the changes from your locally modified Plugin.
Mike Schrag 100.1 89
Pascal Robert 128.1 90 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.
Mike Schrag 100.1 91
Pascal Robert 128.1 92 == Building WOLips with Jenkins Continuous Build server ==
Mike Schrag 100.1 93
Pascal Robert 118.1 94 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.
Mike Schrag 100.1 95
Pascal Robert 128.1 96 1. Install Eclipse 3.7. You need it to be able to build WOLips.
97 1. Copy the necessary plugins from your machine to the Eclipse installation on the server. In this example it has been copied to /usr/local/eclipse
98 The currently required plugins for a deployment build are
99 ~* JProfiler (Update Site: [[http:~~/~~/wocommunity.org/documents/tools/jprofiler6/>>url:http://wocommunity.org/documents/tools/jprofiler6/||shape="rect"]])
Ray Kiddy 129.1 100 ~* JRebel (Update Site : [[http:~~/~~/www.zeroturnaround.com/update-site/>>url:http://www.zeroturnaround.com/update-site/||shape="rect"]])
Pascal Robert 128.1 101 1. Create a new job in Jenkins to build WOLips. You can use the [[following sample config>>url:https://github.com/wocommunity/JenkinsJobs/tree/master/WOLips||shape="rect"]] or you can add a new job with the following configuration:
102 11. Project Name: WOLips
103 11. Git Repositories: git:~/~/github.com/wolips/wolips.git
104 11. Use update: Checked
105 11. Poll SCM: 59 * * * * //(59 can be replaced with any number between 0 and 59)//
Ray Kiddy 129.1 106 1. (((
107 Add the following build tasks to the job
108
109 {{code title="Execute Shell"}}
Pascal Robert 128.1 110 echo build.version=3.7.${BUILD_NUMBER} > build.properties
111 echo eclipse.home=/usr/local/eclipse >> build.properties
112 echo user.home=${WORKSPACE} >> build.properties
Ray Kiddy 129.1 113
114 {{/code}}
115
116 {{code title="Invoke Ant"}}
Pascal Robert 128.1 117 Targets: dist
Pascal Robert 118.1 118
Ray Kiddy 129.1 119 {{/code}}
120
121 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
122
Pascal Robert 118.1 123 {{code title="Execute Shell"}}
Pascal Robert 128.1 124 rm -fr /usr/local/www/apache22/data/wolips/*
125 /bin/cp -prv ${WORKSPACE}/wolips/temp/dist/ /usr/local/www/apache22/data/wolips/
Pascal Robert 118.1 126
Mike Schrag 100.1 127 {{/code}}
Ray Kiddy 129.1 128 )))
Pascal Robert 118.1 129
Pascal Robert 128.1 130 == Preparation for building WOLips on Windows operating systems (NT 5.0 and higher) ==
Pascal Robert 118.1 131
Pascal Robert 128.1 132 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.
Pascal Robert 118.1 133
Ray Kiddy 129.1 134 1. Install the [[BuildingWOLips-Prerequisites>>doc:||anchor="BuildingWOLips-Prerequisites"]]. Do also follow the [[BuildingWOLips-CheckingoutandBuildinginsideofEclipseforDeployment>>doc:||anchor="BuildingWOLips-CheckingoutandBuildinginsideofEclipseforDeployment"]]section, but don't run the build until the changes described below have been made.
Pascal Robert 128.1 135 1. Set the VMs encoding to MacRoman
136 1*. Right click on {{code language="none"}}build.xml{{/code}} -> Properties -> JRE -> VM arguments
137 1**. -Dfile.encoding=MacRoman
138 1. Edit {{code language="none"}}woproject/wolips/goodies/plugins/build.xml{{/code}}
139 1*. Comment out the subsequent lines (mac goodies)
140 1**. <ant dir="org.objectstyle.wolips.goodies.core.mac" target="all" />
141 1**. <ant dir="org.objectstyle.wolips.goodies.ui.mac" target="all" />
142 1**. <ant dir="org.objectstyle.wolips.goodies.core.mac" target="dist" />
143 1**. <ant dir="org.objectstyle.wolips.goodies.ui.mac" target="dist" />
144 1. Edit {{code language="none"}}woproject/wolips/features/build.xml{{/code}}
145 1*. Comment out the subsequent lines (mac features)
146 1**. <ant dir="org.objectstyle.wolips.goodies.mac.feature" target="all" />
147 1**. <ant dir="org.objectstyle.wolips.goodies.mac.feature" target="dist" />
148 1. Edit {{code language="none"}}woproject/wolips/build.xml{{/code}} (you may skip this one if you've got JProfiler installed)
149 1*. Comment out the subsequent lines
150 1**. <ant dir="jprofiler" target="all" />
151 1**. <ant dir="jprofiler" target="dist" />
152 1. Run the build
Pascal Robert 118.1 153
Pascal Robert 128.1 154 == Installing from a Local Build ==
Pascal Robert 118.1 155
Pascal Robert 128.1 156 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
157 1. Assuming you now have your build versions under control, you should follow the instructions for
158 1. Launch Eclipse
159 1. Select the menu: Help->Software Updates.
160 1. Click on the 'Available Software' tab at the top of the window.
161 1. Click on the 'Add Site...' button. This will bring up a dialog box.
162 1. Click on the 'Local...' button on the dialog box.
163 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.
164 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.
165 1. Then continue, and just keep selecting the "Yes"/"OK"/"Approve"/etc buttons