Wiki source code of Split Install Deployment
Last modified by Paul Hoadley on 2008/09/04 12:55
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | == Introduction == | ||
2 | |||
3 | Below is outlined "simple embedding" concepts, however (% style="text-decoration: underline;" %)full embedding(%%) **and** (% style="text-decoration: underline;" %)split-installing(%%) are really recommended. This provides fully versioned self-contained bundles of both the application deployment bundle and the webserver deployment bundle. Read the docs on that technique for more **advantages**. This technique fully explained along with a ready-to-use ant build script is available at: | ||
4 | |||
5 | [[doc:WOL.Home.Deprecated info.Alternative Ant Build Script for Fully Embedded and Split Install Bundles.WebHome]] | ||
6 | |||
7 | == The Simple Way == | ||
8 | |||
9 | One simple change to your build.xml: Simply add the wsDestDir property to the woapplication (or woframework in the case of a framework project) task in your project's build.xml as shown below. As stated by the [[documentation>>doc:WOL.Home.WOProject-Ant.WOApplication.WebHome]], presence of that parameter triggers a split install and thus creates an additional woa bundle for the webserver resources. | ||
10 | |||
11 | {{code title="woapplication opening tag with wsDestDir property"}}<woapplication name="${project.name}" stdFrameworks="false" | ||
12 | destDir="${dest.dir}" | ||
13 | customInfoPListContent="${customInfoPListContent}" | ||
14 | principalClass="${principalClass}" | ||
15 | webXML="${webXML}" | ||
16 | webXML_CustomContent="${webXML_CustomContent}" | ||
17 | wsDestDir="/Library/WebServer/Documents">{{/code}} | ||
18 | |||
19 | {{code title="woframework opening tag with wsDestDir property"}} | ||
20 | |||
21 | <woframework name="${framework.name}" | ||
22 | destDir="${dest.dir}" | ||
23 | customInfoPListContent="${customInfoPListContent}" | ||
24 | principalClass="${principalClass}" | ||
25 | eoAdaptorClassName="${eoAdaptorClassName}" | ||
26 | wsDestDir="/Library/WebServer/Documents"> | ||
27 | |||
28 | {{/code}} | ||
29 | |||
30 | == A Better Way == | ||
31 | |||
32 | So that both Install works and ant build into project dist (right-click build.xml -> Run As/Ant Build) provides a split install, make the following 4 1-line changes to your Application build.xml file as shown in snippet below: | ||
33 | |||
34 | setProps target : add wsinstall.dir property | ||
35 | init.install target : add wsdest.dir property | ||
36 | init.build target : add wsdest.dir property | ||
37 | woapplication task : add wsDestDir property | ||
38 | |||
39 | {{code}} | ||
40 | |||
41 | <!-- property determination --> | ||
42 | <target name="setProps"> | ||
43 | <property file="${user.home}${file.separator}build.properties"/> | ||
44 | <property file="build.properties"/> | ||
45 | <property file="${user.home}${file.separator}Library${file.separator}wobuild.properties"/> | ||
46 | <condition property="wo.properties.check.failed"> | ||
47 | <not> | ||
48 | <and> | ||
49 | <isset property="wo.wosystemroot"/> | ||
50 | <isset property="wo.wolocalroot"/> | ||
51 | </and> | ||
52 | </not> | ||
53 | </condition> | ||
54 | <fail message="Could not find ${user.home}${file.separator}Library${file.separator}wobuild.properties." if="wo.properties.check.failed"/> | ||
55 | <property name="install.dir" value="${wo.wolocalroot}/Library/WebObjects/Applications"/> | ||
56 | <property name="wsinstall.dir" value="${wo.wolocalroot}/Library/WebServer/Documents"/> | ||
57 | </target> | ||
58 | |||
59 | <!-- basic initializations --> | ||
60 | <target name="init.install"> | ||
61 | <tstamp/> | ||
62 | <property name="dest.dir" value="${install.dir}"/> | ||
63 | <property name="wsdest.dir" value="${wsinstall.dir}"/> | ||
64 | </target> | ||
65 | |||
66 | <target name="init.build"> | ||
67 | <tstamp/> | ||
68 | <property name="dest.dir" value="dist"/> | ||
69 | <property name="wsdest.dir" value="dist/wsdocroot"/> | ||
70 | </target> | ||
71 | |||
72 | <!-- woproject tasks --> | ||
73 | <target name="build.woapp"> | ||
74 | |||
75 | <taskdef name="woapplication" classname="org.objectstyle.woproject.ant.WOApplication"> | ||
76 | </taskdef> | ||
77 | |||
78 | <!-- add webXML="true" to generate a web.xml file --> | ||
79 | <woapplication name="${project.name}" stdFrameworks="false" | ||
80 | destDir="${dest.dir}" | ||
81 | customInfoPListContent="${customInfoPListContent}" | ||
82 | principalClass="${principalClass}" | ||
83 | webXML="${webXML}" | ||
84 | webXML_CustomContent="${webXML_CustomContent}" | ||
85 | wsDestDir="${wsdest.dir}"> | ||
86 | |||
87 | {{/code}} |